2219 字
11 分钟
三维流体网格生成仿生人头部聚合特效制作

实验概述#

实验目的#

本次实验为科幻电影镜头制作外星液态数据聚合生成仿生人头部的特效画面,整体视觉效果要求半透明人形头部模具内部,蓝色粘稠流体从底部持续向上涌动,逐步填满头部轮廓,模拟外星科技由数据流凝聚实体的科幻画面。 基础流体仅靠单一发射器视觉单调,实验额外搭配 n 粒子作为流体二次发射源,让流体涌出形态随机不规则,更贴合外星诡异科技质感;整套流程依托 Maya 三维流体容器解算,搭配流体碰撞、粒子转流体发射、流体转多边形网格功能实现完整效果。

实验基础场景条件#

配套资源为 Chapter07_project 工程文件,初始场景文件 androidStart.ma 内置标准人形头部多边形模型,单独分层存放可一键隐藏/显示;无需额外制作头部模型,仅需调整流体容器大小匹配头部轮廓。

通俗化核心原理#

  1. 基础三维流体容器搭建:使用 Maya 自带流体预设快速做出粘稠胶质流体,修改容器尺寸、浮力、边界限制,控制流体只向上漂浮、碰到容器顶部向四周摊开;关闭自动扩容,锁定流体活动空间;
  2. n 粒子辅助随机流体发射:搭建柱状体积粒子发射器,反转解算重力让粒子向上漂浮,设置粒子生命周期随时间缩小消失,将粒子转为流体发射源,替代单一原生流体发射器,让流体涌出效果更随机、层次更丰富;
  3. 头部模型作为流体碰撞体:将人形头部设置流体碰撞对象,流体向上漂浮时会被头部内壁阻挡,只在头部模型内部堆积填充,实现液体灌满头部模具,整个头部模型成为流体融化状态;
  4. 流体转多边形网格渲染:流体默认无法直接做精细材质渲染,将解算完成的流体转换为实体多边形网格,通过输出网格参数调整模型平滑度、面密度,后续可自由赋予科幻透光材质完成渲染。 另外,最终效果强烈依赖之前设置的各个参数之间的配合。在我设置的参数组合下,要想得到流体充斥整个头部模型,时间轴跨度大,再考虑到流体解算十分耗性能、耗时间,所以综合考量下,只渲染到一半(即流体大致充斥了一半头部模型)就停止了。且没有导出视频,而是直接渲染了最终停止时的效果。

实验使用软件与配套资源#

软件:Autodesk Maya 资源文件:Chapter07_project 工程包,场景文件 androidStart.ma

完整分步操作流程#

创建三维流体容器与基础流体发射器#

流体浮力、容器尺寸、自动扩容、发射密度多个参数互相制约,参数设置错误会出现流体不上升、容器无限拉长、流体完全不生成等问题,每调整一项都需要重新播放解算查看效果。

  1. 下载配套 Chapter07_project 压缩包解压,打开 Maya 加载对应工程,打开 Scenes 文件夹内 androidStart.ma 场景;
  2. 通道盒旁打开显示层编辑器,点击 head_DL 图层旁 V 按钮隐藏头部模型,避免遮挡流体容器操作;
  3. 切换动力学菜单集,执行【流体效果 - 创建带发射器的 3D 容器】,场景生成三维流体网格,大纲内流体节点命名为 fluid1;选中流体节点重命名 androidFluid,打开属性编辑器切换 androidFluidShape 标签,点击预设按钮加载 fishTank 鱼缸粘稠流体预设一键初始化胶质流体参数;
  4. 回退时间轴播放动画,画面无流体生成;展开流体下层级选中内置流体发射器 fluidEmitter1,打开属性面板,流体属性里密度/体素每秒数值改为 5,再次播放会出现蓝色粘稠流体团;
  5. 默认流体容器会自动向上扩容,需要锁定空间:容器属性内尺寸修改为 51010,Y 轴边界设置为侧面,关闭自动扩容功能,限制流体活动范围;
  6. 找到内容细节-密度面板,浮力数值设为 2,正数代表流体密度低于空气,会持续向上漂浮;回退播放,流体从容器中心生成向上涌动,碰到顶部边界向两侧滑落堆积。

搭建 n 粒子辅助流体发射系统#

  1. 承接上一步场景,切换 nDynamics 动力学菜单集,先设置 n 粒子预设为球体;打开【n 粒子 - 创建发射器 - 选项】,发射器类型体积型,发射速率 10,体积形状圆柱体,沿轴速度 1,点击创建粒子发射器;使用移动、缩放工具调整粒子发射器位置与大小,完整放置在流体容器正下方;
  2. 大纲选中 nucleus1 解算节点,打开属性面板重力数值改为 - 9.8,反转重力方向,让粒子向上漂浮;选中生成的 n 粒子,切换 nParticleShape1 标签,批量调整粒子属性: 生命周期模式:随机范围,生命周期 2,随机值 1; 粒子半径 2,半径缩放输入绑定年龄,渐变条从左上斜向右下,实现粒子随时间缩小; 半径随机值 0.5,关闭碰撞、自碰撞; 动力学守恒值 0.5,降低粒子运动能量,上浮速度放缓;
  3. 选中原生流体发射器 fluidEmitter1,属性面板速率百分比调为 0,关闭原生流体发射;
  4. 同时选中流体容器 androidFluid 与 n 粒子物体,切换动力学菜单集,执行【流体效果 - 添加 / 编辑内容 - 从物体发射】,将粒子转为流体发射载体;
  5. 回退播放动画,粒子向上漂浮过程中会持续生成蓝色流体,粒子消失后流体依旧向上堆积;当前流体分辨率偏低,部分粒子不生成流体属于正常现象,无需调整。

头部模型设置流体碰撞,实现流体填充头部模具#

  1. 显示层编辑器打开head_DL图层,恢复头部模型显示;选中 headSurface 头部模型,打开材质属性面板,透明度调浅灰色,让头部半透明,方便观察内部流体填充状态;
  2. 选中流体容器整体上移,将容器中心对齐头部模型;流体形状属性内尺寸修改为 181816,扩大容器完整包裹整个人头;切换顶视图,选中粒子发射器移动缩放,放置在头部肩膀下方区域,前视图微调至头部模型正下方;
  3. 同时选中头部模型与 androidFluid 流体容器,执行【流体效果 - 制作碰撞体】,让流体与头部内壁产生碰撞阻挡;
  4. 回退播放动画,流体向上涌动时会被头部内壁拦住,在头部模型内部逐步堆积填满;流体容器尺寸变大后解算速度明显降低;
  5. 原生流体发射器已关闭,当前流体全部由粒子附带的 fluidEmitter2 生成,有四种方式调节头部填充速度:提高粒子发射速率、放大粒子半径、提升流体发射器密度数值、将发射模式从叠加改为替换;本案例将粒子发射速率调到 25,流体发射器密度/体素每秒设为 5;最后将流体分辨率提升至 80

流体转换多边形网格#

  1. 延续当前场景,拖动时间滑块播放几百帧,等待头部内部堆积足量流体后按 Esc 停止解算;
  2. 选中流体容器,执行【修改 - 将流体转换为多边形】,流体效果直接生成实体网格模型;
  3. 选中流体节点打开属性编辑器,展开输出网格面板调整网格质量参数:选择四边形网格,平滑迭代次数 0,拖动网格分辨率滑块控制模型面密度;网格类型切换四面体。

实验技术总结#

本实验基于 Maya 三维流体系统结合 n 粒子动力学,实现科幻液态实体聚合特效,区别于常规单一流体发射器的单调效果,借助粒子随机发射让流体形态更富有外星科技的不规则质感;同时利用流体碰撞功能约束液体填充范围。 BQACAgUAAyEGAASHRsPbAAEWLt1qP5uDeJch1EC8SZwSqqBoFTJBxwACux8AAq3j-FVYxqffxsLQfDwE.png

三维流体网格生成仿生人头部聚合特效制作
https://fuwari.vercel.app/posts/notes/maya/meltedhead/
作者
Ruby
发布于
2026-06-19
许可协议
CC BY-NC-SA 4.0