噪波沿曲面流动
- 提取曲线,相对起点差,再剔除X轴或Z轴,传递给曲面(相当于拉直曲面);
- 提取曲线,以curveu为X轴,曲面点到曲线距离为y轴,生成noise;
- 直接先在grid上noise,再pathdeform到曲线;
案例,角色行走
FLIP
- 选取若干个关键帧,解算器水花是否符合效果(在相对低精度ps下,如0.02),最后在完整解算(提高精度ps,如0.007);
- FLIP Collide
- 提高Velocity Scale参数,以增加碰撞效果;
- 关闭Surface Collide参数;
- FLIP Solver
- 降低Surface Extrapolation,以增加碰撞飞溅;
- 使用FLIP(Splashy)速度传递模式;
- 使用POP Speed Limit限制速度;
- 使用Velocity Driven;
- Particle Fluid Surface
- 调节Influence Scale(如2),Droplet Scale(如0.7);
- 表面细小凹凸noise,使用过滤平滑消除;
- 视图显示可选择Pixels;
- Whitwater Source
- 使用flip精度ps作为voxel size,如0.007;
- 可使用volume Visualization,显示emit场;
- Whitwater Solver
- Whitwater Scale可比flip精度ps更小,如0.003;Voxel Size至少为Whitwater Scale*2;
- 测试时,可先关闭Clumping->Enable Density Control(非常占CPU和内存);
- 调节Maximum Initial Speed、Lifespan;调节Base Adection Strength(如100);
- 调节Feature Size Range(如0.02~0.1),及Match Radius Distribution;
- 开启Enable Density Control,并调节Constraint Stiffness(如10);
- 增加Neighborhood Size(如60);
karma
- 可直接将材质,拖拽赋予;
- Render Geometry Settings,对water color开启uniform volume;
- Karma Render Settings
- Bucket(消除noise);
- Volume Limit(提高白水亮度);
- USD Render ROP
- 注意开运动模糊,可能渲染会卡死;
案例,瀑布
影响瀑布效果:
- 地形(碰撞体);
- 初始速度;
- noise场;
注:
- 测试时,只模拟部分范围,最大子步改为1;
- 缓存时,粒子,surface,vel场分开缓存;
- 最终模拟可开启friction and bounce;
- 外推0.5->0.2;
- 发射源回流问题,提高速度;
- curlnoise force;
发射源:带速度的外壳粒子+没有速度的内部粒子
解算结果,自带的surface场,包mesh;
通过droplet分开主体,在通过velocity、vorticity对主体分不同精度转化SDF;
案例,海滩
主水体粒子解算:
- 基本流程设置;
- 海滩地面碰撞外形;
- 基于ocean spectrum提供速度场,及波形;
- pop advect by volumes,通过速度场驱动粒子;
- 调整基本参数;
- grid scale太小比不会提供更多细节,1.75已经比较合理了;
- velocity smoothing会平滑细节;
- 发射源,过采样,以增加粒子,在边缘得到更多细节;
- grid scale太小比不会提供更多细节,1.75已经比较合理了;
- 细化效果;
- 海滩阻力,越接近海岸阻力越大;越接近地面阻力越大;
- 通过vorticity属性,添加阻力;
- 通过运动速度方向,+x添加阻力;
- 去除碰撞体阴影处的速度场;
- 海滩阻力,越接近海岸阻力越大;越接近地面阻力越大;
白水粒子解算:
- 基础白水粒子;
- 沙滩最前沿的白水粒子;
- 平滑修正surface场前沿,用于生成基础白水粒子;
- 提取前沿,并额外生成白水粒子;避免前沿白水过多的repellant(@action);
案例,怪物出水
Ocean Setup
- Large Ocean工具架,设置海洋Surface Grid,将频谱分为低频和高频(particle fluid mask);
- 调节默认Grid的大小尺寸及细分(使用非常小尺寸来测试);
- 频谱输入点的多少,频谱Grid Size,直接影响波浪大小;
- 调整波浪方向,速度,起伏大小等等,以确定surface动态;
- 排除相机外的部分,对靠近相机部分添加细分;
Water Sim
- 测试时子步可设为1,应添加属性vorticity、id;
- 提高精度测试时,可只保留很小的交互区域,以快速迭代;
- 添加碰撞,surface collide昂贵可不勾选;
- Moving Outside Collision
- 使用海洋频谱反向变形碰撞体,最后还原后海面变形碰撞体复原;
- 缓存碰撞体VDB(primtives-16bites),Cache Frames 1;
- DOP内添加节点
- 通过粒子密度,删除空中孤立的点;
- POP Drag、密度越小,阻力越大;
- POP Force、密度越小,力越大,离碰撞体越近,力越大;
- POP Speed Limit;
- Flip Solver
- 降低velocity smooth参数;
- 提高gasprojectnondivergentadaptive-error tolerance(0.01),以加速;
- 缓存解算,fluid compress
- 删除相机外的粒子,及不必要的属性;
- 如pscale值一样,可转话为detail属性;
- 压缩属性值为16bit(attribute cast),如v、vorticity;
- Convert VDB Points
- 压缩场,降低vel精度(如降低2倍),及不必要的属性;
- 降低激活体素(VDB Active SDF);
Mesh
- Method:Spherical
- 控制pscale,越高越小,向下速度越大越小;
空气场
- 添加碰撞体,将surface也作为碰撞体;
whitwater
- 直接从surface mesh上生成白水源点;
- 对v添加noise,复制点数量;
- popdop