【教程】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
为您提供最具前景的资讯与最适合的分类技术与学习教程