第067封“情书”:黄粱一梦 Quicktip- Instancing In Redshift<Entagma>Houdini 2018
▉ 你是我义无反顾撞过的南墙 是黄粱一梦的空欢喜一场— 每天翻译一篇教程,这就是我写给houdini的情书。【首发于同名公众号:“致houdini的情书”】
█ 唐·沈既济《枕中记》载:卢生在邯郸旅店中遇见道士吕翁,自叹穷困。道士就借给他一个枕头,要他枕着睡觉。这时店家正在煮小米饭。卢生在梦中享尽了荣华富贵,一觉醒来,小米饭还未煮熟。
前言不搭后语:
千金散尽还复来-我的人生不过黄粱一梦,再痛也只是梦,梦醒了,就好了。
今天这节内容:
如何使烟雾速度场驱动粒子运动,并实例化多个几何体
我是geo流程图
1)烟雾模拟
2)粒子模拟
首先
制作步骤
本节将学习:
01)建立烟雾模拟
03)实例化到粒子。
正式制作
○ 节点 ○
○ 具体操作 ○
1)建立一个圆环:统一大小=0.3。
2)法线。
3)建立体积 “FogVolume”命名density;体像素数量=100 4)输出OUT_vol。
○ 节点 ○
○ 具体操作 ○
步骤)创建基本烟雾模拟
05)dopnet1;
5-1)Pyro Solver(解算烟雾的核心部分);
5-2)smokeobject(发射烟雾的几何体);
5-3)sourcevolume(体积来源)
“创建烟雾”步骤)
5-2)降低体像素尺寸
5-3)设置发射源:
1) 体积路径选择外部的OUT_vol;
2) sop to dop...是所有需要模拟创建的地方,将density给温度场;清空速度体积给速度场;
○ 问题 ○
问题1)播放,速度有些慢
❖解决方案)取消vel速度,提速
问题2)烟雾被体积边界限制
❖解决方案)增加一个 gasresizefluiddynamic节点;取消Clamped tomaximum size(钳制最大尺寸)
○ 进阶 ○
进阶1)改变一下效果
操作)提高"division size"分割尺寸,降低分辨率
进阶2)添加点紊乱效果
操作)pyrosolver中增加Turblence噪音
○ 节点 ○
需求)创建基本粒子系统
06)dopnet1;
6-1)popsolver(粒子解算器);
6-2)popobject(粒子物体);
6-3)popsource(发射源)
“产生粒子”步骤)
6-3)popsource
a)分布粒子在表面
b)使用:第一个接口的几何体圆环
○ 节点 ○
需求)
A)增加“作用力”:
B)输出粒子:给外部创建的“烟雾模拟”。
执行)
A)增加popadvectbyvolumes节点:它会利用速度体积来移动粒子。
B)在Popnet的“烟雾物体”替换成“粒子系统”
b1)dopnet面板Object merge选择“烟雾物体”,访问它的vel速度数据;
得到一个向量场,来驱动粒子
b2)回到“popnet2”粒子系统里,给advect。。。引入“烟雾系统”的速度场。
○ 节点 ○
需求)实例化粒子并传递给“红移”
解决方案)
方案1)可以在obj层级创建instance节点;
方案2)更快速更直接的方式,创建实例化属性;
执行)方案2:
pointwrangle:直接调用要实例化的几何体。
1) 增加浮点属性:pscale
2) 增加字符串属性:instance,
[email protected] = 0.01;
[email protected] = "/obj/pig";
增加了一个instance的属性。
○ 节点 ○
需求1)“渲染实例化粒子”
执行)
A)实例化模型:
1)创建geo命名pig;
2)进入geo创建“pig”模型;
3)关掉geo显示;
B)环境光:增加HDR贴图
C)粒子系统“geo1”:增加“红移OBJ”标签
D)点击“红移”按钮;取消“覆盖camera分辨率”
解决方案)
1)复制多个pig实例化几何体。
2)再在粒子系统中设置。
执行)
1)复制pig保证命名序号连续性:命名pig1,2,3
随意替换里面几何体。sphere,box都行;
2)在wrangle中加入代码:
a)变量随机化id乘3
b)随机数字选择字符串。
//-- 1 随机粒子id返回0~2
int r = ceil(rand(@id)*3);
//-- 2 整数转字符串
[email protected] = "/obj/pig" + itoa(r);
今天就到这里,收功
公众号:微信号