1-4期
195人加入学习
(33人评价)
Houdini 影视特效实验班

6个月零基础到入职

价格 ¥ 6198.00
教学计划
承诺服务

使用烟雾材质也可以给whitewater: billowy smoke材质

 

uniformvolume是一种高效的渲染方式,需要指定粒子而不是volume,但是要注意粒子的pscale

[展开全文]

使用体积渲染whitewater: 先定义density属性,然后栅格化成体积.

 

要给这个体积计算法线,不然无法渲染反射高光

使用VDB combine,反转density,再使用VDB analysis计算把标量density转化成vector,输出name,再和初始的density场合并,就可以正确渲染反射和高光

 

[展开全文]

foam标签下 clumping结块选项开启的话 初衷是为了whitewater更有凝聚力,在大型洋面上可以打开,但是这条2米的小河流打开的话会使之失去细节

 

repellants驱避剂选项: 让foam粒子呈现块状之间相互排斥的状态:

feature size range:默认0.5~0.9是适合海洋的一种范围,缩小到0.1~0.2后更真实,底层其实是一种排斥粒子,来打散whitewater,可以再object repellants选项中打开可视化

strength range:排斥的力的大小

noise range:有的范围受到噪波影响,有的没有,设置成0.8~1,可以让所有粒子都受到影响

 

life range排斥粒子的持续时间:是按秒计算的

 

adhesion附着力选项栏:控制的是泡沫附着在表面的情况

control range:粒子距离surface距离,提高来吸附更多粒子到表面

off velocity angle:速度矢量和surface的夹角,小于xx数值则被吸附到表面

 

 

emission标签

lifespan:粒子出生的寿命,这是个按秒计算的数值

 

solver解算器下高级选项中: aging rates,可以单独控制粒子的存活概率(其实没什么用)

 

base advection strength:基础平流的力,如果想粒子更多的随流体表面平流,不要那么松散,想要更激烈的平流,则可以提高这个值

base velocity multiplier: 提高来获得更大的速度,在平流之前加速vel场

[展开全文]

whitewatersolver需要emission源,指定SOP中制作的源,还需要两个场,直接在solver中添加,surface和vel,勾选import volumes选项导入进来,才可以在object里导航显示

 

limits中设置: 设置边界大小,设置碰撞SDF

[展开全文]

whitewatersource节点设置:

curvature曲率:曲率越大的地方发射的粒子数越多

acceleration加速度:加速度越大的的地方发射粒子数越多

vorticity涡旋:涡旋速度越大的地方发射越多

emission发射器选项:设置速度阈值,还可以钳制whitewater的产生高度(水下的气泡)

Volumes中voxel size调节密度将直接影响到发射速率和数量,降低来获得更多细节

打开Visualization选项来预判断粒子,但这不是真正的粒子

[展开全文]

回顾:removeprim需要三个参数

removeprim(哪个输入接口, 哪个编号的面, 删除面是否同时删除点)

[展开全文]

particlefluidsurface output节点adaptivity自适应选项: 在大面积不需要细节的地方大幅削减多边形数量,在高细节的地方不做什么改变, 提高此数值,来适当减少多边形数量

[展开全文]

fluid compress底层干的事情:

 

particle fluid surface:voxel scale节点,体素的边长,是这个数值乘以上面的粒子间距得到的,例如粒子间距0.1 voxel scale为0.5 则体素边长为0.05

 

droplet scale:粒子pscale的倍增器,如果粒子有pscale属性,则可以用来倍增,来确定最终的水滴的mesh有多大

[展开全文]

产生splash的三个条件: 1.粒子速度达到阈值 2:沿着Z轴负方向 3:在创建的splash mask体积内. 三个条件同时达成,才把粒子变成splash粒子

 

vop中,volumesample节点把output2的体积导入进来,将P连接到samplepos节点,来采样这些粒子

[展开全文]

在VEX中使用noise:

参考http://mrkunz.com/blog/03-04-2017_Using-noise-in-VEX.html

float vop_fbmNoiseFP(vector4 pos; float rough; int maxoctaves; string noisetype)

 

vop_fbmNoiseFP:噪波函数名称(施加噪波的位置, 粗糙度,噪波高度,噪波类型)

VOP中使用noise需要先#include一个脚本

频率freq:在pos后乘以一个数值就可

振幅amp:整个函数之后乘以一个数值就可

偏移offset:在pos*freq后减去一个数值就可,但是offset是vextor4,定义vector后需要转化

[展开全文]

Gas Vortex Confinement节点,给已经产生的卷曲产生二次卷曲

这个节点需要binding confinement场来控制,在splash rocks周围创建场来控制

 

vdb from particle下面选择+号,选择density,手动输入density,不要勾选上面的fog VDB,这样的话density值就可以是上面手动设置的density值了,可以得到渐变的效果

[展开全文]

opinputpath表达式 返回链接到指定输入接口的节点的完整路径

opinputpath(".", 0) :返回第一个链接的输入接口的路径

 

sop scalar field里,导入sop中的控制场,由于这是一个静态的场,所以set initial就行了,如果是一个动态变化的场,则需要改成set always

勾选use sop dimensions选项,才能成功加载这个场,记得修改data name

[展开全文]

思路:

流体解算器解算会出现surface场,就是SDF场,通过这个场来复制一个temp场,通过turbulence影响这个temp场,来影响粒子运动.

 

 

需要gasmatchfield节点来复制surface到temp

需要gas sdf to fog节点来把SDF转化成体积

需要一个scalar field vis节点来可视化这个temp场,也就是fog后的surface场

使用gas turbulence节点来影响temp场

 

准备创建两个turbulence来影响,一个低频,一个高频

 

turbulence全部施加在河面上的话会有点怪,需要重新创建一个场来控制turbulence,哪边影响大一些,哪边小一些,下节课中讲

[展开全文]

padzero函数: 两个参数

padzero(加上0后一共几位, 在谁面前加0)

 

padzero(5 , 66)  = 00066

padzero(4 , 234)  = 0234

 

particlefuidsurface节点,第二个输入接口可以输入河床几何体,在regions标签下勾选subtract collision volumes选项,可以删除和几何体穿插的地方,是个很好地功能

[展开全文]

DOP IMPORT中导出,objmask中必须输入准确的obj路径`dopobjscreatedby("../dopnet_flip_sim/flipobject1/")`,不然会把碰撞obj也导出来产生错误.

 

Geometry Data Path中输入Geometry/Visualization,可以看到DOP中的可视化效果

[展开全文]

xyzdist函数:当前循环中的每个点,去查找第二个输入接口的最近的点

float xyzdist(和哪个几何体做计算, 从这个几何体上哪个矢量来计算)

float dist = xyzdist(1, @P);

if(dist < xxx){

    removepoints(0, @ptnum);

}

[展开全文]

flipsolver标签下 :

particle motion:

behavior标签下,勾选增加粒子ID属性,这样粒子才会有ID

reseeding标签:每个体素中重新添加粒子,这个标签关闭,因为会大大占用内存,直到超出内存,这个标签是用来防止volume损耗的,太拥挤的时候也会去删除粒子,开启的时候,流体发射最高水位会坍缩,所以还是关闭来一直保持最高水位

separation标签关闭:这个标签打开会使粒子保持特定间距,特殊情况下为了推开粒子会让他开启,这里关闭就可以

Droplets水滴标签:splash产生才需要用,这里暂时关闭

Vorticity涡流标签:需要开启,尽可能去模仿现实流体的运动

 

 

Volume Motion:

smooth surface选项: 关闭:使用可以更精确追踪流体的SDF, 可以给舒缓的流体更平滑的表面状态,但是打开的话提升效果没有那么明显,比较占用内存,河流/瀑布中关闭

 

Viscosity粘稠标签关闭,这里不模拟粘稠的液体

 

Solver标签下: Use Preconditioner使用预条件容器选项,默认开启,但是一般都是关闭,如果电脑有超过4个内存插槽,则关闭这个选项(很奇怪的条件),使用OpenCL可以加速这个场景模拟

 

!!!!houdini18中,Use Preconditioner默认已经关闭

[展开全文]

flipsolver使从上到下  从左到右进行的一种混合解算器

 

flipsolver中 volume motion标签下,有个子标签volume limits,其中可以改边界框大小,flip粒子超出这个框就会被杀死

[展开全文]

points from volume节点:从体积中创建点,这竟然可以直接使用在polygon上,直接从中间创建点,其中point separation标签,点的间距,这是一个世界单位

 

这个节点做的功能就是先把几何体转化成volume,再基于separation来分布点

 

调节jitter seed和scale来使点分布更加随机!

[展开全文]

"../copy1"

\\..导航到别的节点  一个点导航到自身

 

txtport  

键入 exheip xxxxx  弹出来对应的 帮助  和鼠标停留是一样的   可选择 翻译

 

[展开全文]