Blender3に向けてプレスリリースが盛んですが、なんといってもGeometry Nodesがよくわからない。2.93のデモファイルの作者がレッスンを開いているようなので、有料でしたが参加してみました。
レッスン場所(19ドル)はここ
これからしばらく、そのレッスン内容を元に、Geometry Nodesの基本についてメモがてらに記事化してみます。
今回のテーマは
属性を理解する
- 属性の使用方法
Built-In
vsNamed
対Custom
属性とは何ですか
です。(この章は、英語力不足のためあまり理解できていません、ご了承ください)
平面メッシュにGeometryを追加します。
![](https://i0.wp.com/mamusejp.com/wp-content/uploads/2021/10/スクリーンショット-2021-10-05-14.23.49.png?resize=1024%2C559&ssl=1)
左上のエディタにポジション属性が表示されています。一点を移動させるとそのポジション属性が変わります。
![](https://i0.wp.com/mamusejp.com/wp-content/uploads/2021/10/スクリーンショット-2021-10-05-14.26.41.png?resize=1024%2C559&ssl=1)
頂点を増やすと、それぞれのポジション属性が表示されます。
![](https://i0.wp.com/mamusejp.com/wp-content/uploads/2021/10/スクリーンショット-2021-10-05-14.29.26.png?resize=1024%2C559&ssl=1)
1 Built in 属性
ポジション属性はBuilt in属性で、常に存在して消去することはできません。また、データ型やドメインは変更できません。Built in属性としては他に、Radius、Material index、Crease、Normal、Shade_smoothがあります。
面の属性を表示させると、 Shade_smooth、 Material index 、 Normal が表示されます。
![](https://i0.wp.com/mamusejp.com/wp-content/uploads/2021/10/スクリーンショット-2021-10-05-14.41.48.png?resize=1024%2C559&ssl=1)
例えば各面にマテリアルを割り当てると Material index の値が変化します。スムーズシェードをかけたり、面の向きを変化させて他の属性の変化を確認してみてください。
![](https://i0.wp.com/mamusejp.com/wp-content/uploads/2021/10/スクリーンショット-2021-10-05-14.45.47.png?resize=1024%2C559&ssl=1)
2 Named属性
この属性はデフォルトでは存在しませんが、特定のノードによって暗黙的に使用されます。これらの属性のデータ型は、変更できます。Scale、Rotate,IDがあります。
下準備としてポイント配置とポイントインスタンスでCubeを散乱させます。
ポイント配置ノードを追加します。
![](https://i0.wp.com/mamusejp.com/wp-content/uploads/2021/10/スクリーンショット-2021-10-05-17.53.46.png?resize=1024%2C559&ssl=1)
Cubeを一つ作成し、ポイントインスタンスノードでそのCubeをインスタンス化します。
![](https://i0.wp.com/mamusejp.com/wp-content/uploads/2021/10/スクリーンショット-2021-10-05-17.57.20.png?resize=1024%2C559&ssl=1)
![](https://i0.wp.com/mamusejp.com/wp-content/uploads/2021/10/スクリーンショット-2021-10-05-17.59.25.png?resize=1024%2C559&ssl=1)
ランダム化属性ノードを加え、属性欄に「Scale」と入力します。Scale属性の意味はBlenderが暗黙的に理解していることがわかります。
![](https://i0.wp.com/mamusejp.com/wp-content/uploads/2021/10/スクリーンショット-2021-10-05-18.00.53.png?resize=1024%2C559&ssl=1)
![](https://i0.wp.com/mamusejp.com/wp-content/uploads/2021/10/スクリーンショット-2021-10-05-18.03.36.png?resize=1024%2C559&ssl=1)
同様にRotate属性も使用してみます。
![](https://i0.wp.com/mamusejp.com/wp-content/uploads/2021/10/スクリーンショット-2021-10-05-18.07.27.png?resize=1024%2C559&ssl=1)
Rotate属性のランダム化ノードのデータタイプをFloatからVectorに変更し、値を適当に変更してみます。このNamed属性はデータタイプの変更が可能となっていることがわかります。
![](https://i0.wp.com/mamusejp.com/wp-content/uploads/2021/10/スクリーンショット-2021-10-05-18.09.13.png?resize=1024%2C559&ssl=1)
3 カスタム属性
( 以下、私の英語能力では、残念ながらこのカスタム属性がどう機能するのかはわかりません。動画に沿って画面を紹介するだけですが、ご了承ください。)
ポイントインスタンス、ポイント配列ノードを削除します。属性ランダム化ノードの属性フィールドに任意の文字を入力します。入力された属性が表示されます。
![](https://i0.wp.com/mamusejp.com/wp-content/uploads/2021/10/スクリーンショット-2021-10-05-22.57.14.png?resize=1024%2C559&ssl=1)
属性ランダム化ノードを複製し、属性フィールドに任意の文字を入れ、そのノードを出力するよう設定すると、新しい文字列の属性が生成されます。
![](https://i0.wp.com/mamusejp.com/wp-content/uploads/2021/10/スクリーンショット-2021-10-05-23.12.32.png?resize=1024%2C559&ssl=1)
二つのランダム化ノードをGeometry統合ノードで統合して出力すると、ポイント領域に2つのカスタマイズ属性を持った平面となります。
![](https://i0.wp.com/mamusejp.com/wp-content/uploads/2021/10/スクリーンショット-2021-10-05-23.17.45.png?resize=1024%2C559&ssl=1)
次回の予定は
インスタンスを理解する
- インスタンスとは何ですか?
- インスタンスはいつ「実際の」ジオメトリとして計算されますか?
です。