【教程】houdini 官方粒子案例讲解学习笔记I 你和大神之间就差那么一个细节

——  微资讯 · 微课程  ——

利用零碎时间,走上超神之路!


昨天如果大家看完了houdini官方大师班粒子教程,那基本上把新粒子的核心知识点都学习完毕;今天小编继续带大家学习houdini 官方的案例讲解(请参考粒子翻译一起分享的houdini siggraph 2016 houdini粒子讲解视频)小编看完之后感慨最深的就是 我们和大神之间差点就是那么点细节!;

上部分我们学习三个案例

如何控制力运动

如何把粒子转化为volume进行渲染(这个对猎人有是一个很大的启发)

如何制作循环的粒子(讲解了粒子中随机的参数)

如何使用粒子碰撞和stream(pop collision behaviour和pop collision detect)

学习笔记

1为什么使用粒子

粒子非常快,运行效率高

粒子可控性高

粒子渲染很快

2为什么不用工具架工具

有时候不需要工具家工具设置更快

有时候自己连接更加清晰,没有多余的节点

3流程

创建发送器

设置粒子系统

渲染

4项目

辐射性空间爆炸(冲击波)

循环粒子

雨水滑落雨伞

项目一

第一步:发射器模型准备:确保在扩大的过程中边缘宽度保持不变

发射器创建流程

circle圆形(多边形)→normal节点(设定为point点层级的法线)→attributewrangle缩放→merge合并→skin蒙皮→transform创建抖动→output输出

圆圈设置

$T+0.1的目的就是在第0帧的时候还是有0.1体积的,避免后面计算法线出问题;

获得内部的圆形:这里就是保证边缘宽度一致的核心知识点

使用attribute wrangle节点

2个量:一个偏移的宽度(自定义)一个是偏移的方向(适量)

float offset=chf("offset_distance");自定义了一个offset_distant变量来偏移量

vector mynormal=@P:定义了一个mynormal来存储当前点的位置

mynormal=normalize(mynormal):通过这一步获得单位向量;

@P+=mynormal*offset*-1:向内部缩进offset单位的量;

这样就获得了一个缩小的圆圈

merge合并两个圆 →skin 制作成模型

制作圆圈扩展时候的抖动动画:对x和z轴的旋转

transform节点

动画制作方法分析

1:使用关键帧:不推荐,因为不方便修改;

2: 使用简单的数学函数:效果比较单一

3:使用CHOP通道控制:选择这种,更加多样

在通道中右键

motionFX→nosie(会自动创建一个motionFX节点网络)

调整nosie的强度和频率,可以获得不错的抖动效果

ouput sop和null的区别

旧版本一般用null节点,但是新版本output节点有null类似的功能,并且无论你显示哪个节点,永远都是渲染这个ouput节点(null是没有这个功能的)

第二步粒子

新建一个geometry节点,在内部使用object 节点加载之前的发射器→使用trail节点计算速度

创建popnetwork新版,进内部

发射器调整

01 使用模型面发射

02激活constant birth rate(每秒发射的粒子数量)粒子寿命修改为1.5s,属性标签集成速度属性

添加第一个popforce节点用来平滑力

设置力的方向向上0,1,0

使用表达式

force=force*smooth(0,0.5,@age) 随着年龄越大,力越来越大,smooth进行0-0.15的平滑过渡

结果如下

添加紊乱效果

swirlscale+=@v 让旋转的缩放不断叠加速度;

结果如下

添加pop drag阻尼效果:让粒子不要扩展那么快

添加color节点,使用ramp渐变控制

粒子结算完毕,回到外部设置粒子的渲染属性

添加wrangle设置pscale属性

添加point replicate节点:可以把一个点复制成多个点

注意勾选拷贝粒子属性

转化成VDB进行volume渲染

设置点

voxel size非常关键,精度控制 目前设置为0.02

Fog VDB 设置为density 转化为密度场

point radius scale 点缩放为 2

旋转需要传递的属性

使用volume visualization进行体积的可视化

结果

添加材质 basic smoke材质,加载到geometry中

还有另外一种使用传递粒子到体积的方法,但是需要rgb三个通道分别传递,比较麻烦;

项目二 粒子无缝循环

发射器介绍:

grid+scatter(循环的核心秘密就在于scatter这个节点上)

对Global Seed求余,$F-1因为houdini是第一帧开始计算,对120帧求余就是每隔120帧一个循环

粒子系统设置

发射类型修改为allpoint,这样就限定了发射的位置

把life variance设置为0和jitter birth time抖动播放时间none,不需要随机

关闭 variance

整体添加紊乱

popforce只有一个curl noise类型,这个nosie类型不是周期重复的

所以添加一个pop vop节点:内部设置periodic noise周期紊乱

默认值是0-1,但是我们需要对称的负值,所以需要设置fit range节点设置-1到1的变化

项目三 雨水沿着雨伞落下

雨伞制作

使用circle,但是设置为非封闭模型,这样才可以获取中心点,fuse合并,最后挤出厚度。(以退为进)

创建地面和发射器,都是grid

动力学解算

设置粒子解算

加载发射器,point节点添加速度和pscale的值

设置 popcollision节点用来定义碰撞的行为结果,修改为slide滑动模式

添加pop detect节点,加载碰撞模型

同样设置碰撞结果为slide滑动并且设置碰撞后颜色为红色

结果

对于地面,同样添加collision detect,不过行为修改为die,并且勾选justhit组(因为要使用这个组生成水花)

使用这个justhit组来生成replicate复制更多的点,在地面碰撞的时候生成更的粒子


CG猎人(Hunter_CG)专注于CG微资讯与微课程的分享(10分钟以内)。让广大CG爱好者与从业人员能够利用零散时间了解最新最具前景的资讯,了解国际技术发展动向与前沿市场动向。提供精挑细选实用微课程,从入门到高级循序渐进。通过知识总结与分享,共同进步。

分享教程和学习笔记,同时设计maya,3dsmax,softimage,houdini,cinema4D blender,modo和lightwave等常用三维软件,也包含reallow,naaid专门制作特效的三维软件;包含fumefx,rayfire,karakato和thinkingparticles等插件教程和学习笔记。


—— CG猎人——

微信号:Hunter_CG

QQ-540710114

为您提供最具前景的资讯与最适合的分类技术与学习教程

(0)

相关推荐