获取并设置几何对象的特性

您可以获取并设置几何对象(如网格和体积)的特性(如 point_positionvoxel_fog_density)。您还可以创建自己的特性以控制自定义效果。

关于特性

通常,特性是对象的键-值对。键是一个名称(字符串),值可以是几乎任何内容。在许多情况下,值是另一个具有一个或多个自己的特性的对象。

特别是,几何对象可以具有几何特性point_positionvoxel_fog_density 都是几何特性的示例。几何特性的值本身就是具有其自己特性的对象,包括:

获取并设置特性的节点

有几个节点用于获取并设置特性。大多数情况下,应该使用 get_geo_propertyset_geo_property_data。例如,要更改粒子的大小,首先使用 get_geo_property 获取 point_size 数据,然后修改值,最后使用 set_geo_property_data 将其存储在对象上。

get_geo_property

使用 get_geo_property 返回几何特性的值数组。它还返回目标组件的默认值和名称。但是,如果几何对象上不存在该特性,则返回的数据为空数组。

有一个名为 get_geo_property_check 的变体,它还返回一个布尔值,以指示是否找到该特性。

还有一些常用特性的专用节点,例如 get_particle_positionget_particle_velocity。这些节点更为方便,因为您不需要键入特性名称。

set_geo_property_data

使用 set_geo_property_data 更新现有几何特性的数据的数组。它比 set_geo_property 更方便,因为特性已经存在,您不需要指定默认值或目标组件。

set_geo_property

使用 set_geo_property 创建几何特性并设置其初始数据值。您可以出于任何目的创建和修改自定义几何特性。创建几何特性后,您可以使用 get_geo_propertyset_geo_property_data 获取并设置它。

使用 set_geo_property 创建自定义特性的原因之一是存储用户数据以用于渲染。支持 Bifrost 的渲染器可以使用此数据。例如,通过 Arnold,您可以使用用户数据着色器获取几何特性的值,并将其连接到着色器树中。浮点几何特性值在顶点之间进行插值。有关支持类型及其转化方式的列表,请参见 Arnold 手册中的“Bifrost 图表”

get_property, set_property

使用 get_propertyset_property 获取并设置任何特性。这些特性并不仅仅限于几何特性。请注意确保这些值的类型正确,因为这些节点不执行任何检查。