POP —— Attributes

发布于:2024-04-24 ⋅ 阅读:(21) ⋅ 点赞:(0)

        粒子系统首先是由属性驱动的,以下是解算器可以理解的属性;可使用POP VOP和POP Wrangle创建属性;

State
age float 年龄,单位秒
nage float @age/@life,隐式属性,不可写入
life float 生命,单位秒
id int 粒子唯一的标识号,使用findattribval()查找id对应的点号
Linear Physics
force float 该帧的力
mass float 质量默认为1.0
spinshape vec3 与@pscale相乘,以确定粒子旋转的大致形状,默认(1,1,1)
targetv vec3 粒子目标速度
airresist float 空气阻力,匹配目标速度
speedmin, speedmax float 速度限制,单位秒
drag float 粒子拖拽默认1.0
dragexp float 1~2的值,默认在解算器上设置,用于角度和线性拖拽
dragshape vec3 粒子在其每个局部轴上的拖动量,默认(1,1,1)
dragcenter vec3 会与质心间的差产生扭矩,此为局部偏移,默认(0,0,0)
dragnomal float 如没有dragshape或dragnomal不为1,局部形状会被自动计算,默认1
dragtangent float 当自动计算局部dragshape时,与dragnomal一起使用,默认1
Angular Physics
p@orient vec4 粒子方向,默认(0,0,0,1)
w vec3 粒子角速度,方向为旋转轴,大小为旋转强度
torque vec3 等价于旋转的力
targetw vec3 粒子目标旋转速度
spinresist float 空气阻力,匹配目标旋转速度
speedmin, speedmax float 旋转速度限制,单位秒
State
dead int 粒子是否死亡
stopped int 粒子是否停止,会保留速度,但不在更新位置、方向、速度等
stuck int 粒子是否卡住,会机场速度
sliding int 粒子是否沿曲面滑动
cling float 滑动粒子向内应用力(根据表面法线),有助于弯曲表面停留
pospath string 存储一对象路径
posprim int 路径几何体prim,默认-1
posuv vec3 prim上的参数化uv
Collisions
hittotal int 粒子碰撞累计次数,子步内可能碰撞多次但此属性只计算一次;如其他Compute Hit Total开启,可能重复计算;
hitnum int 粒子是否碰撞
hitpath string 存储碰撞对象的路径
hitprim int 碰撞面号,默认-1
hituv vec3 碰撞面的参数化uv
hitnml vec3 碰撞表面的法线
hitv vec3 碰撞表面的速度
hittime vec3 碰撞发生的时间
hitimpulse float 由Gas Impact to Attributes创建,记录碰撞impulse,需在解算器上勾选Add Impact Data;
has_pprevious int 如@pprevious值有效,此属性为1;
pprevious vec3 存储上一帧的粒子位置,用于碰撞检测;
bounce float 弹力,默认由POP Object上参数控制
bounceforward float 弹力切线方向保持的能量,默认由POP Object上参数控制
friction float 摩擦力,默认由POP Object上参数控制
collisionignore string 匹配的对象(包括对象名字或id)将不会碰撞,不影响碰撞检测,默认""
Misc
s@instancepath string 复制到粒子上的几何体,可是磁盘上的路径或op:path(Instance SOP)
nearest int 最近粒子的@id,如没有id也可能是@ptnum,由Proximity POP创建,默认-1
nearestdist float 最近粒子的距离,由Proximity POP创建,默认-1
numproximity int 指定范围内的粒子数,由Proximity POP创建,默认0