实例项
除了存储真实数据(如网格或曲线)之外,几何形状还可以存储实例,这些实例本身可以引用更多几何形状、对象或集合。实例化的目的是允许在结果中包含更多的几何体,而不会重复实际数据。这是因为像 Cycles 这样的渲染器可以比复制数据时更好地处理许多不同位置的相同几何数据。
每个实例都跟踪它对应的几何体,以及 Transform 。实例还可以存储 id
属性,用于在实例在动画中移动时进行正确的运动模糊。
用于在几何节点中创建实例的主节点是 实例化于点上 。
Warning
当前,从几何节点实例化不能与从属性编辑器中的 实例化 面板实例化混合。
嵌套实例
由于实例可以存储几何体,而几何体可以包含实例,因此嵌套实例化是可能的。换句话说,可以实例,甚至实例集合。默认情况下, 实例化于点上 将通过在点上实例化真实几何体和实例化几何体来创建嵌套实例。
在此处,嵌套实例化用于分布包含网格和实例的几何体。输出几何结构包含 "真实" 网格和一组实例。每个实例都包含球体网格和锥体几何形状的许多实例。
此方法的有用之处在于输出几何形状仅包含三个独特的网格:平面、球体和锥体。如果网格更加复杂,这将使性能更好。
Warning
目前,渲染和视口仅支持八个级别的嵌套实例化。虽然可以在几何节点内创建更深的实例树,但必须在节点树的末端实现它们。
后期处理
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 表面细分 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 字符串到曲线, where each unique character only has to be processed once.
这种方法可以大大提高性能,但是这意味着操作的结果对于特定几何体的每个实例都是相同的。为了每个实例都有独特的结果,可以使用 实现实例 节点。