DOP 粒子属性
Houdini粒子系统都是由属性驱动,这里是所使用的一些属性。
f@age // 自粒子诞生以来的时间(秒)
f@life // 允许粒子存活的时间(以秒为单位).当 f@age>f@life, i@dead就会设置成1.
f@nage // 标准化年龄,就是 f@age除以f@life.
i@dead //控制粒子死亡(1)还是存活(0). 粒子死亡就是把点删除i@id //粒子的唯一id,在单个模拟中保持不变
i@stopped // 粒子是移动(0)还是静止(1)
i@stuck // 粒子是自由移动的(0)还是粘住的(1)(速度为0)
i@sliding // 粒子是自由移动的(0)还是沿曲面滑动(1)
f@cling // 是否施加滑动粒子的力(根据碰撞的表面法线)。
s@pospath // 粒子正在与之碰撞的对象的路径。
i@posprim // 我们希望参考其位置的路径碰撞几何体中的哪个prim
v@posuv // 碰撞prim上的uv属性
i@hittotal // 粒子所有碰撞的累积总数(每个时间步幅仅增加一次)。
i@has_pprevious // 如果 v@pprevious 包含有效值,则返回为 1。
v@pprevious // 存储粒子在前一帧的位置。用于碰撞检测。
i@hitnum // 上一次 POP Collision Detect 中粒子碰撞的次数。
s@hitpath // 被碰撞到对象的路径,返回磁盘上的file路径或者op: path.
i@hitprim // 粒子撞击的prim序号. 如果碰撞检测器无法确定哪个 prim,则可能为 -1。
v@hituv // prim上的参数化 UV 空间
v@hitpos // 实际发生碰撞的位置。如果碰撞对象在移动,则很有用。
v@hitnml // 碰撞时表面的法线。
v@hitv // 碰撞时表面的速度。
f@hittime // 返回什么时候发生碰撞的
f@hitimpulse//记录碰撞所需要的冲量,随时间步幅变化。
f@bounce // 当粒子从碰撞物体上反弹时,控制它们保留多少能量
f@bounceforward // 控制它们在切线方向上保留多少能量。
f@friction //当粒子反弹时,它们的速度与它们撞击的强度的正比,这个值越大,粒子越接近碰撞对象的速度。
s@collisionignore //匹配此pattern的对象不会被碰撞。
f@force // 这一帧的粒子受到施加的力。
f@mass // 粒子质量,表示粒子的惯性大小。
v@spinshape // 乘以 f@pscale 以确定旋转惯性的粒子形状。
f@drag // 阻力,粒子受到风影响有多大
f@dragexp // 范围从 1 到 2,默认设置在上solver上。用于角度和线性阻尼。
v@dragshape // 粒子在其各个轴向上的阻尼大小。
v@dragcenter // 如果指定,阻力会在粒子上产生扭矩。
v@targetv //局部风速。可以认为是粒子的目标速度。
f@airresist // 匹配风速的程度。空气厚度,它主要算的是风力的属性,所以可能会随着空间位置的变化而产生变化。
f@speedmin // 粒子可以移动的最小速度,以每秒为单位。
f@speedmax // 粒子可以移动的最大速度,以每秒为单位。
p@orient // 粒子的方向。用于计算“局部”力。
v@w // 粒子的角速度。粒子绕着w方向的轴自旋,大小表示自旋的速度。
v@torque // 相当于自旋力。不支持惯性张量(质量等效值)。
v@targetw // 这个粒子的目标自旋方向和速率。
f@spinresist // 匹配targetw的程度
f@spinmin // 粒子自旋最小速度,以弧度每秒为单位。
f@spinmax // 粒子自旋最大速度,以弧度每秒为单位。
DOP grains属性
受 POP Grains 控制的粒子将“ispbd”属性设置为 1。这会导致它们绕过 POP Solver 中的运动更新,因为实际的运动更新是由 POP Grains 节点完成的。
i@ispbd // 值为 1 会使粒子表现为grain。
f@pscale // 粒子的半径。
f@repulsionweight // 粒子碰撞力的权重大小。
f@repulsionstiffness // 粒子排斥的强度。值越高,弹性排斥力越小。
f@attractionweight // 粒子会自然粘在一起的程度。
f@attractionstiffness // 附近粒子之间的粘附强度。
v@targetP // 粒子被限制在这个位置。
f@targetweight // v@targetP 约束的权重。
f@targetstiffness // 粒子固定到其 v@targetP 属性的刚度。
f@restlength // 由约束连接的粒子将强制保持这个距离(prim 属性)。
f@constraintweight // 缩放,基于每个粒子的约束力。
f@constraintstiffness // 这控制了每个粒子的约束刚度。
f@strain // 这个prim属性记录了约束被拉伸了多少。
f@strength // 如果 f@strain 超过这个prim属性,约束将被移除。