Fluids —— 案例

噪波沿曲面流动

  • 提取曲线,相对起点差,再剔除X轴或Z轴,传递给曲面(相当于拉直曲面);
  • 提取曲线,以curveu为X轴,曲面点到曲线距离为y轴,生成noise;
  • 直接先在grid上noise,再pathdeform到曲线;

案例,角色行走

链接:Houdini 20 Sop级别flip流体教程

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会平滑细节;
    • 发射源,过采样,以增加粒子,在边缘得到更多细节;
  • 细化效果;
    • 海滩阻力,越接近海岸阻力越大;越接近地面阻力越大;
       
    • 通过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

资源下载链接为: https://pan.quark.cn/s/3d8e22c21839 随着 Web UI 框架(如 EasyUI、JqueryUI、Ext、DWZ 等)的不断发展与成熟,系统界面的统一化设计逐渐成为可能,同代码生成器也能够生成符合统一规范的界面。在这种背景下,“代码生成 + 手工合并”的半智能开发模式正逐渐成为新的开发趋势。通过代码生成器,单表数据模型以及一对多数据模型的增删改查功能可以被直接生成并投入使用,这能够有效节省大约 80% 的开发工作量,从而显著提升开发效率。 JEECG(J2EE Code Generation)是一款基于代码生成器的智能开发平台。它引领了一种全新的开发模式,即从在线编码(Online Coding)到代码生成器生成代码,再到手工合并(Merge)的智能开发流程。该平台能够帮助开发者决 Java 项目中大约 90% 的重复性工作,让开发者可以将更多的精力集中在业务逻辑的实现上。它不仅能够快速提高开发效率,帮助公司节省大量的人力成本,同也保持了开发的灵活性。 JEECG 的核心宗旨是:对于简单的功能,可以通过在线编码配置来实现;对于复杂的功能,则利用代码生成器生成代码后,再进行手工合并;对于复杂的流程业务,采用表单自定义的方式进行处理,而业务流程则通过工作流来实现,并且可以扩展出任务接口,供开发者编写具体的业务逻辑。通过这种方式,JEECG 实现了流程任务节点和任务接口的灵活配置,既保证了开发的高效性,又兼顾了项目的灵活性和可扩展性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值