目录
Emitting
Applying forces
Reacting to surfaces
Limiting particle speed
Following a leader or leaders
Swirling particles around vortex filaments
Visualizing Forces
Collisions
Instancing and Rendering
Sprite Particles
Streams
Writing particle VEX expressions
粒子极其有用,如flocking, smoke, fire, dust;在DOP内,粒子可多线程且高效内存,提供了广泛的艺术控制;
Tips
- 点击的Hidden可隐藏该节点创建的几何体,类似关闭老POP的Guide;
- 中键DOP节点可查看粒子数,及属性,对书写VEX表达式帮助;
- 右击DOP节点选择Spreadsheet,可查看指定属性;
- 对强力作用的条带缝隙问题,可将Positive改为Negative;
Emitting
有两种主要方法创建粒子:从几何体Source,从空间点Location;此外,还可从已有的粒子上创建新粒子Replicate;
Applying forces
可应用力来引导粒子运动,力可来自于几何体(吸引或排斥的球)或常用的方向力(重力);
- POP Attract(Point Attract、Curve Attract)
- POP Force(Force Particles)、POP Fan Cone、POP Wind
- POP Curve Force(POP Force Particles)
- POP Flock(Flock Particles)
Reacting to surfaces
- 默认粒子撞击静态对象为反弹,如想使用其他反应方式,使用POP Collision Detect DOP;
- 如与类似Grid碰撞,选择Use Surface Collisions;
- POP Limit DOP非常类似碰撞,但不是检测与几何体碰撞,而是检测一个想象中的box,对飞的很远的粒子自动剪切活反弹有用;
- POP Soft Limit SOP类似POP Limit DOP,会更柔软的反弹,但碰撞边界时缓慢的减缓粒子;
- 可使用POP Property DOP添加随机的mass、bounce,避免粒子反弹一致;
Limiting particle speed
有三种控制粒子速度的方式:POP Drag DOP、POP Speed Limit DOP、POP Wind DOP;
Following a leader or leaders
- POP Attract DOP节点,粒子跟随;
Swirling particles around vortex filaments
Visualizing Forces
在视图中有几种方式查看力:
- 最快的方式,POP Force DOP节点的Guid的参数,可显示力的方向和强度;
- Display Option工具条的Display Point Trail;
Collisions
有三种不同位置可设置POP碰撞:
- POP Solver DOP的Collision Behavior,可设置简单的RBD碰撞,默认粒子为bounce,也可设置die/stop/stick/slide;
- POP Collision Behavior DOP节点,对粒子设置超过一种反应,如一些粒子bounce,一些粒子stick,一些粒子slide;
- POP Collision Detect DOP节点,当不必改变粒子的行为,而是获取信息,如但何时碰撞,哪里碰撞,碰撞时速度等;也可使用此节点生成的属性应用于指定粒子,如当粒子碰撞时变为红色;
Instancing and Rendering
- POP Instance DOP(Instance Geometry on Particles);
- POP Torque DOP,扭矩(类似粘着在某位置的手柄并推动它旋转);
- POP Look At DOP;
Sprite Particles
设置精灵粒子;
Streams
Streams是比Groups更有效的方式,如仅想影响粒子几次使用POP Group DOPs,当想对粒子操作多件事情使用POP Stream DOPs更有用;中键节点,可查看所有stream的名字,默认与创建它们的节点名字相同;
Stream是基本的组,可拆分为单独的链,并在solver前在合并起来,这在试图确定网络中发生的事情时很有用;也可避免必须引用组;
- 使用Stream可清晰的看见网络中发生情况,而使用组将都在单个链条中;
- 从每个生成器到solver仅有一条实线,POP Stream和POP Replicate DOP可创建引用输入(虚线,可被用于新stream);
- Stream是通过点组实现的,参数Stream Name为其命名,默认为$OS;一个粒子可能属于多个Stream,但应用POP节点时,所有Stream会被连接在一起,即使粒子在多个Stream中,仍然仅被影响一次;
- 如POP节点没有Stream输入(如上游节点没有streamname参数),将应用于所有粒子;
- POP Attract DOP可引用兄弟链内的其他流;
Writing particle VEX expressions
使用vex替代了局部变量,局部变量慢,单线程,且困难,属性到局部变量的映射特殊且模糊;在POP节点,有一个Use VEXpressions复选框;
- ctrl + enter,提交改变和更新houdini;
- 在vex编辑器内都包含有用的预设;
- 有许多常用等效的表达式函数,如ch/chs/chramp,point,relbbox,rand等等;
- 使用参数的内部名访问参数,使用访问属性@attribute_name;
- 默认粒子节点仅导出希望导出的属性,避免意外创建属性(如尝试读取属性@mass);
- 对debugging时,可使用export强制输出;
export float @mytest = 0;