▉ 几分耕耘就有几分收获 。— 每天翻译一篇教程,这就是我写给houdini的情书。【首发于同名公众号:“致houdini的情书”】
█ “我梦中的家园:cg农场”
前言不搭后语
cg青年中年到农场去,接受农场分布式计算的再教育很有必要”。
可是农场太贵了,可望而不可即,只能望梅止渴了,羡慕有农场的cg农民。
我是geo流程图
我是topnet流程图
![image.png](https://i-blog.csdnimg.cn/blog_migrate/dc7fc9d39316b6fea59fe75651b76e8b.png)
速度场
//--------开始:几个接口元素--------
//--1 noise
vector namp = chv("noise_amp");
vector no = chv("noise_offset");
vector nf = chv("noise_frequency");
//--2 curlnoise
vector camp = chv("curl_amp");
vector co = chv("curl_offset");
vector cf = chv("curl_frequency");
//--3 曲率算出的最大小值
float maxc = chf("max_curvature");
float minc = chf("min_curvature");
//--4 采样体积prim的曲率值,1=曲度的volume,0=primid P=当前voxel位置
float c = volumesample(1,0,v@P);
//--5 映射曲率
c = fit(c,minc,maxc,0,1);
//--6 用斜坡滑动条控制曲率,创建斜坡界面
c = chramp("remap_curvature",c);
//--7 乘一个幅度参数
c *= chf("amp");
//--8 现在加入xnoise,使用上面的参数来驱动这个函数
c *= xnoise(v@P*nf+no)*namp;
//--9 使用curlnoise
vector curl = curlxnoise(v@P*cf+co)*camp;
//--10 混合vel速度+curl
vector v = lerp(v@vel,curl,chf("curl_mix"));
//--11 最后
v *= set(c,c,c);
//--12 最后写到属性通道
v@vel = v;
首先
制作步骤
小节提要
01