第067封“情书”:黄粱一梦 Quicktip- Instancing In Redshift<Entagma>Houdini 2018

你是我义无反顾撞过的南墙 是黄粱一梦的空欢喜一场— 每天翻译一篇教程,这就是我写给houdini的情书。【首发于同名公众号:“致houdini的情书”】

第067封“情书”:黄粱一梦 Quicktip- Instancing In Redshift<Entagma>Houdini 2018

█ 唐·沈既济《枕中记》载:卢生在邯郸旅店中遇见道士吕翁,自叹穷困。道士就借给他一个枕头,要他枕着睡觉。这时店家正在煮小米饭。卢生在梦中享尽了荣华富贵,一觉醒来,小米饭还未煮熟。

第067封“情书”:黄粱一梦 Quicktip- Instancing In Redshift<Entagma>Houdini 2018

前言不搭后语:  

    千金散尽还复来-我的人生不过黄粱一梦,再痛也只是梦,梦醒了,就好了。

今天这节内容:

    如何使烟雾速度场驱动粒子运动,并实例化多个几何体


这一节要实现的效果
.....






第067封“情书”:黄粱一梦 Quicktip- Instancing In Redshift<Entagma>Houdini 2018

今天是42岁
042周四

68
这是写给Houdini的第068封“情书”



我是geo流程图

第067封“情书”:黄粱一梦 Quicktip- Instancing In Redshift<Entagma>Houdini 2018


我是Dopnet流程图

1)烟雾模拟

第067封“情书”:黄粱一梦 Quicktip- Instancing In Redshift<Entagma>Houdini 2018

2)粒子模拟第067封“情书”:黄粱一梦 Quicktip- Instancing In Redshift<Entagma>Houdini 2018

首先
制作步骤

            ○
第067封“情书”:黄粱一梦 Quicktip- Instancing In Redshift<Entagma>Houdini 2018
小节提要

 本节将学习: 

01)建立烟雾模拟

02)建立粒子系统。

03)实例化到粒子

接下来
正式制作
           使用软件:houdini16.5


01 建立烟雾模拟



1建立发射源,体积源 

○ 节点 ○

第067封“情书”:黄粱一梦 Quicktip- Instancing In Redshift<Entagma>Houdini 2018

第067封“情书”:黄粱一梦 Quicktip- Instancing In Redshift<Entagma>Houdini 2018

第067封“情书”:黄粱一梦 Quicktip- Instancing In Redshift<Entagma>Houdini 2018

○ 具体操作 ○

1)建立一个圆环:统一大小=0.3

2)法线

3)建立体积 “FogVolume”命名density;体像素数量=100 4)输出OUT_vol。

第067封“情书”:黄粱一梦 Quicktip- Instancing In Redshift<Entagma>Houdini 2018


2 烟雾模拟 

○ 节点 ○

第067封“情书”:黄粱一梦 Quicktip- Instancing In Redshift<Entagma>Houdini 2018

第067封“情书”:黄粱一梦 Quicktip- Instancing In Redshift<Entagma>Houdini 2018

第067封“情书”:黄粱一梦 Quicktip- Instancing In Redshift<Entagma>Houdini 2018

○ 具体操作 ○

步骤)创建基本烟雾模拟 

    05)dopnet1;

        5-1)Pyro Solver(解算烟雾的核心部分);

        5-2)smokeobject(发射烟雾的几何体);

        5-3)sourcevolume(体积来源

“创建烟雾”步骤) 

5-2)降低体像素尺寸

    第067封“情书”:黄粱一梦 Quicktip- Instancing In Redshift<Entagma>Houdini 2018

    5-3)设置发射源:

       1) 体积路径选择外部的OUT_vol;

       2) sop to dop...是所有需要模拟创建的地方,将density给温度场;清空速度体积给速度场;

第067封“情书”:黄粱一梦 Quicktip- Instancing In Redshift<Entagma>Houdini 2018

○ 问题 ○

问题1)播放,速度有些慢

❖解决方案)取消vel速度,提速

第067封“情书”:黄粱一梦 Quicktip- Instancing In Redshift<Entagma>Houdini 2018   

问题2)烟雾被体积边界限制  

第067封“情书”:黄粱一梦 Quicktip- Instancing In Redshift<Entagma>Houdini 2018

❖解决方案)增加一个 gasresizefluiddynamic节点;取消Clamped tomaximum size(钳制最大尺寸)   

第067封“情书”:黄粱一梦 Quicktip- Instancing In Redshift<Entagma>Houdini 2018

○ 进阶 ○

进阶1)改变一下效果

操作)提高"division size"分割尺寸,降低分辨率

第067封“情书”:黄粱一梦 Quicktip- Instancing In Redshift<Entagma>Houdini 2018

进阶2)添加点紊乱效果     

操作)pyrosolver中增加Turblence噪音

第067封“情书”:黄粱一梦 Quicktip- Instancing In Redshift<Entagma>Houdini 2018




02 速度场驱动粒子系统



1 粒子系统



○ 节点 ○

第067封“情书”:黄粱一梦 Quicktip- Instancing In Redshift<Entagma>Houdini 2018
第067封“情书”:黄粱一梦 Quicktip- Instancing In Redshift<Entagma>Houdini 2018



第067封“情书”:黄粱一梦 Quicktip- Instancing In Redshift<Entagma>Houdini 2018


需求)创建基本粒子系统 

    06)dopnet1;

        6-1)popsolver(粒子解算器);

        6-2)popobject(粒子物体);

        6-3)popsource(发射源   




“产生粒子”步骤)

     6-3)popsource

        a)分布粒子在表面

        b)使用:第一个接口的几何体圆环

第067封“情书”:黄粱一梦 Quicktip- Instancing In Redshift<Entagma>Houdini 2018



2 利用“烟雾速度场”驱动粒子

○ 节点 ○

第067封“情书”:黄粱一梦 Quicktip- Instancing In Redshift<Entagma>Houdini 2018
第067封“情书”:黄粱一梦 Quicktip- Instancing In Redshift<Entagma>Houdini 2018
第067封“情书”:黄粱一梦 Quicktip- Instancing In Redshift<Entagma>Houdini 2018


需求)

    A)增加“作用力”:

    B)输出粒子:给外部创建的“烟雾模拟”。


执行)

    A)增加popadvectbyvolumes节点:它会利用速度体积来移动粒子。

第067封“情书”:黄粱一梦 Quicktip- Instancing In Redshift<Entagma>Houdini 2018


    B)在Popnet的“烟雾物体”替换成“粒子系统”

        b1)dopnet面板Object merge选择“烟雾物体”,访问它的vel速度数据

第067封“情书”:黄粱一梦 Quicktip- Instancing In Redshift<Entagma>Houdini 2018

得到一个向量场,来驱动粒子

第067封“情书”:黄粱一梦 Quicktip- Instancing In Redshift<Entagma>Houdini 2018

        b2)回到“popnet2”粒子系统里,给advect。。。引入“烟雾系统”的速度场

第067封“情书”:黄粱一梦 Quicktip- Instancing In Redshift<Entagma>Houdini 2018


03 实例化到粒子



1 给粒子系统创建instance属性。

 ○ 节点 ○

第067封“情书”:黄粱一梦 Quicktip- Instancing In Redshift<Entagma>Houdini 2018

第067封“情书”:黄粱一梦 Quicktip- Instancing In Redshift<Entagma>Houdini 2018

第067封“情书”:黄粱一梦 Quicktip- Instancing In Redshift<Entagma>Houdini 2018

    需求)实例化粒子并传递给“红移”   

解决方案)

    方案1)可以在obj层级创建instance节点;

    方案2)更快速更直接的方式,创建实例化属性;

执行)方案2:

   pointwrangle直接调用要实例化的几何体

    1) 增加浮点属性:pscale

    2) 增加字符串属性:instance,

    [email protected] = 0.01;

    [email protected] = "/obj/pig";

第067封“情书”:黄粱一梦 Quicktip- Instancing In Redshift<Entagma>Houdini 2018

增加了一个instance的属性。



2 粒子实例化&实例不同几何体

第067封“情书”:黄粱一梦 Quicktip- Instancing In Redshift<Entagma>Houdini 2018

 ○ 节点 ○

第067封“情书”:黄粱一梦 Quicktip- Instancing In Redshift<Entagma>Houdini 2018

第067封“情书”:黄粱一梦 Quicktip- Instancing In Redshift<Entagma>Houdini 2018


需求1)“渲染实例化粒子”

执行)

A)实例化模型

        1)创建geo命名pig  

        2)进入geo创建“pig”模型;

        3)关掉geo显示;

    B)环境光:增加HDR贴图

    C)粒子系统“geo1”:增加“红移OBJ”标签

    D)点击“红移”按钮;取消“覆盖camera分辨率”


第067封“情书”:黄粱一梦 Quicktip- Instancing In Redshift<Entagma>Houdini 2018


解决方案)

    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);


第067封“情书”:黄粱一梦 Quicktip- Instancing In Redshift<Entagma>Houdini 2018

第067封“情书”:黄粱一梦 Quicktip- Instancing In Redshift<Entagma>Houdini 2018

今天就到这里,收功

第067封“情书”:黄粱一梦 Quicktip- Instancing In Redshift<Entagma>Houdini 2018
教程翻译自entagma的网络教程
下一节::20180910 Houdini Game Tools- Assembling a 3D Scan Of The Earth
电子邮箱:[email protected]

公众号:第067封“情书”:黄粱一梦 Quicktip- Instancing In Redshift<Entagma>Houdini 2018微信号第067封“情书”:黄粱一梦 Quicktip- Instancing In Redshift<Entagma>Houdini 2018