Instances(インスタンス)

../../_images/modeling_geometry-nodes_instances.png

3種類のインスタンス。

ジオメトリは、メッシュやカーブなどの実際のデータを格納するだけでなく、インスタンスを格納できます。インスタンス自体は、より多くのジオメトリ、オブジェクト、コレクションを参照できます。インスタンス化の目的は、実際のデータを複製することなく、結果にはるかに多くのジオメトリを含めることができるようにすることです。これは、 Cycles のようなレンダラーが、データが複製される場合よりも、多くの異なる場所で同じジオメトリデータをより適切に処理できるためです。

各インスタンスは、対応するジオメトリと Transform(トランスフォーム) を追跡します。インスタンスは、インスタンスがアニメーション内で移動するときにモーションブラーを修正するために使用される id 属性を保存することもできます。

ジオメトリノードでインスタンスを作成するために使用されるメインノードは、 Instance on Points(ポイントにインスタンス作成)ノード です。

警告

現在、ジオメトリノードからのインスタンス化は 、プロパティエディタの Instancing(インスタンス化) パネルからのインスタンス化と混在させることはできません。

ネストしたインスタンス化

インスタンスはジオメトリを格納でき、ジオメトリにはインスタンスを含めることができるため、ネストしたインスタンス化が可能です。つまり、インスタンスやインスタンスのコレクションをインスタンス化することも可能です。デフォルトでは、 Instance on Points(ポイントにインスタンス作成)ノード は、ポイントの実際のジオメトリとインスタンス化されたジオメトリをインスタンス化することにより、ネストしたインスタンスを作成します。

../../_images/modeling_geometry-nodes_instances-nested.png

A node group that creates nested instancing by chaining Instance on Points nodes.

ここでは、ネストしたインスタンス化を使用して、メッシュとインスタンスの両方を含むジオメトリを分配します。出力ジオメトリには、 "実際の" メッシュとインスタンスのグループが含まれています。各インスタンスには、球メッシュと円錐ジオメトリの多くのインスタンスが含まれています。

../../_images/modeling_geometry-nodes_instances-nested-tree.png

上記の例のインスタンス化されたジオメトリのツリー。

この方法が役立つのは、出力ジオメトリに平面、球、円錐の3つの一意なメッシュしか含まれていないことです。これにより、メッシュがより複雑になった場合にパフォーマンスが大幅に向上します。

警告

現在、レンダリングとビューポートでサポートされているネストしたインスタンス化のレベルは8つだけです。インスタンスのより深いツリーはジオメトリノード内に作成できますが、ノードツリーの最後で実現する必要があります。

インスタンス処理

Almost all nodes that process geometry do so by processing each unique geometry in their input's tree of instances separately. For example, if a Subdivision Surface Node was placed at the end of the example above, it would only have to subdivide three meshes, rather than each instance of a mesh. Another important example is processing with the output of the String to Curves Node, where each unique character only has to be processed once.

この方法はパフォーマンスを大幅に向上させることができますが、操作の結果は特定のジオメトリのすべてのインスタンスで同じになることを意味します。インスタンスごとに一意の結果を得るには、 Realize Instances(インスタンス実体化)ノード を使用できます。