1.刚体、柔体系统
2.普通粒子系统
3.n粒子系统、n布料系统
命令 | 功能 | 典型用法 |
event | 插入一个碰撞事件,可以是粒子分裂、粒子出生,或者调用外部函数 |
|
getParticleAttr | 获得粒子系统的属性,返回平均值,或者是数组 |
getParticleAttr -at velocity
particleShape1.pt[0:7]
particleShape1.pt[11];
// This will return the average velocity for particles 0-7 and 11
// as well as the maximum offset from the average.
|
particle | 创建粒子、编辑、修改粒子属性 |
// Returns the velocity of the 7th particle in the currently selected
// particle object
particle -e -attribute velocity -order 7 -vectorValue 0.0 1.0 0.0;
// Edits the velocity of the 7th particle in the currently selected
// particle object to be 0.0, 1.0, 0.0
|
nParticle | 与particle命令类似 |
// Returns the velocity of the 7th particle in the currently selected
// particle object
nParticle -e -attribute velocity -order 7 -vectorValue 0.0 1.0 0.0;
// Edits the velocity of the 7th particle in the currently selected
// particle object to be 0.0, 1.0, 0.0
|
名称 | 大小 | 含义 |
collision(World)Force | 粒子数*3 | 碰撞过程中粒子所受的力 |
collision(World)Position | 粒子数*3 | 碰撞位置 |
collision(World)IncomingVelocity | 粒子数*3 | 碰撞前速度 |
collision(World)OutgoingVelocity | 粒子数*3 | 碰撞后速度 |
collision(World)Normal | 粒子数*3 | 碰撞地点法线 |
collisionTime | 粒子数 | 碰撞发生时间 |
collisionGeometryIndex | 粒子数 | 一个位图,每一元素表示一个粒子,若该粒子发生碰撞,对应元素为0,否则为碰撞的几何体序号,可以通过以下方法获得几何体 int $idx = particleShape1.collisionGeometryIndex; if( $idx != -1 ) { string $geoC[] = `listConnections particleShape1.collisionGeometry[$idx]`...} |
collisionComponentId | 粒子数 | 一个位图,每一元素表示与粒子发生碰撞的多边形面(face)序号,注意这些序号可能来自不同物体。此时可以通过为碰撞事件绑定一个回调函数(见前述event命令),通过回调函数的参数获得碰撞物体名称 |