Houdini 中文帮助文档

Cloth/Volume Collider – 布料/体积碰撞

定义解算涉及布料物体和有体积对象的DOP物体的碰撞的方式。

Cloth/Volume Collider DOP 可以用于计算布料物体和用体积对象的实体物体的碰撞,如RBD物体,地面(通过虚拟的挤压产生体积),以及任何带有几何体的DOP对象。

Parameters

Volume Offset此参数可以让布料和一个扩展的或缩小的实体物体产生碰撞。

正值会使实心物体比实际更大。例如,默认0.01m会将物体体积向外沿着任意方向扩展1cm。负值会使实心物体比实际更小。

此参数就是通过偏移值来缩放Solid物体的体积大小,此体积可用于布料碰撞。

Reverse Collision Object Roles

反向碰撞对象的角色

在模拟物体中每个碰撞对象都以一定方式交互。如 Cloth/Volume Collider节点会把一个物体作为布料对待,其它物体作为体积对象。通常碰撞对象的名称可以告诉你哪个物体会被其碰撞。

当一个解算器调用一个碰撞对象时,它会传递所解算的物体,并把它作为碰撞对象的第一个对象。所以当布料解算器调用 Cloth/Volume collider节点时,它会首先传递布料物体(正如碰撞对象所期待的一样)。

但是,如果你设置一个RBD解算器使用 Cloth/Volume collider节点来检测RBD和布料物体间的碰撞,RBD解算器会首先传递它所解算的物体到碰撞对象中,然后是布料物体,而碰撞对象所期待的却是相反的顺序。在这种情况下,开启Reverse Collision Object Roles 参数可以子弹反转传递到碰撞对象中的物体顺序。

Parameter Operations每个数据选项都有一个关联的菜单,可以指定参数如何操作对象。

Use Default使用默认操作菜单中的数值。
Set Initial只当数据被创建时,设置该参数的值(设置初始状态)。在所有随后的时间步幅中,此参数数值不会改变。此可以用于设置,如位置,速度的初始状态。
Set Always一直都使用该参数值。此方式可以用于被设置关键帧的数值在整个时间上都需要时所使用。这可能在整个时间上都使用物体的关键帧位置,或导出SOP中的几何体物体在每个时间步幅上都被重新抓取(如果物体有变形)。

你也可以使用此设置与参数的局部变量来随着时间的改变而修改参数。例如,在X位置上,表达式$tx + 0.1会导致在每个时间步幅上都向右移动一个单位。

Set Never从不设置此参数的数值。当使用该节点修改一个已有的连接到第一输入端的数据块时,此选项非常有用。

例如一个RBD State DOP节点可以只给物体的质量设置动画。Set Never选项可以用于所有参数,除了质量参数(其会使用Set Always方式)。

Default Operation对于任意的“操作” 菜单中设置使“用默认方式”的参数,此参数控制使用什么操作方式。

该参数也有同样的菜单选项,意思和参数操作菜单一样,但是没有“使用默认”选项。

Data Sharing控制由该节点创建的数据被模拟中多个物体所共享的方式。(数据共享可以很大程度上减少内存的使用)

Do Not Share Data不使用数据共享。每个物体都有自己的数据副本被附加。
Share Data Across All Time此节点只会给整个模拟创建单个数据块。数据会在其被需要的第一时间被创建,这样任何只用于第一个物体的表达式都会被计算。

所有之后的物体都会有该数据,附有从第一个物体表达式中计算出的同样的数值。要记住,表达式不会和数据共同辈存储,所以它们不可以在数据之后被创建。

表达式是通过DOP节点在创建数据之前计算的。涉及时间的表达式在单个数据块被创建时也会被计算。此选项适用于不随时间变化的数据,并且对所有物体都是一样的,如Gravity DOP节点。

Share Data In One Timestep模拟中,会给每个时间步幅创建新的数据块。在一个时间步幅内,所有物体都会被附加同样的数据。所以涉及到时间的表达式会使数据在整个时间上产生动画,但是涉及物体的表达式只会在被附加数据的第一个物体上计算。

此选项适用于数据随着时间变化的情况,但是它对所有物体,如Fan Force DOP节点都是一样的,因为在该节点中风扇力可以能随着时间而移动或旋转。

Activation定义该节点是否应当在给定的时间步幅上,为特定的物体做一些事情。如果该参数是一个表达式,它会用于每个物体的计算(即使开启共享数据)。

如果计算出的是一个非0值,那么数据就会附加到物体上,如果计算出的是0,就不会附加任何数据,并且先前通过该节点附加的数据也会被移除。

Group当一个物体连接器被附加到该节点的第一输入端时,此参数可以用于从这些物体中选择被该节点所影响的一个Subnet容器。
Data Name提示会被附加到物体上火其它数据中的数据名。如果数据名包含一个或多个”/”,表示要进入子数据内部。

例如,如果 Fan Force DOP节点有默认的Forces/Fan数据名,此会将名为Fan的数据附加到一个名为Force的数据块中。如果不存在名为Forces的数据,会创建一个数据块容器来放置Fan子数据。

不同的数据块在应当使用什么名称方面有不同的需要。除非在及其罕见的情况下,会使用默认的数据。

Unique Data Name开启该参数会修改数据名参数值,确保由该节点创建的数据会使用一个唯一的名称被附加,这样它就不会在任何已有的数据中被覆盖。

当关闭该参数,使用相同名称附加两个数据块会导致第二个数据被第一个替换。

如果一个物体需要多个风扇力来吹起它,此时使用唯一数据名方式更容易确保每个风扇力不会覆盖先前的风扇力(而不是要试着改变每个风扇的数据名来避免产生冲突)。

在另一方面,如果已经知道一个物体被附加了一些RBD状态数据,关闭该选项可以允许一些新的RBD状态数据覆盖已有的数据。

点击分享到: