技术及场景美术 (个人)
2024-12-06铃兰之春

一个技术与场景美术综合项目,融合程序化生成与传统资产流程。

  • 程序化藤蔓 (Houdini):制作了程序化藤蔓工具,能够动态攀附并适应物体的形状。工具包含多种可调参数,例如分布与密度、生长阶段、分枝数量以及叶片大小等。

  • 程序化浮岛地形 (Houdini): 利用高度场生成浮岛的上表面地形,呈现自然起伏的地形特征;使用基于噪声的程序化几何设计浮岛底部结构。

  • 程序化贴图 (Substance Designer):制作了精致的玫瑰花窗图案,并将其转换为SVG以生成3D模型;为风格化的树干和灰泥墙制作了程序化材质贴图。

  • 风格化树 (SpeedTree, Blender, UE):使用SpeedTree建模制作了一棵弯曲盘旋的风格化树;在Blender中为树叶传递了球形法线;在UE中创建了风格化材质。

  • 风格化岩石 (Zbrush, RizomUV, Marmoset ToolBag):在ZBrush中雕刻岩石细节;使用RizomUV拆分UV;在Marmoset Toolbag中将高模的法线细节烘焙到低模上。

  • 风格花草 (Blender, UE):在Blender中建模制作草叶并拆分UV;在UE中创建风格化草材质。

  • 风格化水 (UE): 在UE中设计了风格化水材质,融合了法线、浪花、折射、反射等效果。

  • 资产准备 (Blender, UE):设计、修改并重组了资产以提升视觉效果和整体协调性;在必要时制作了额外的模型并优化了几何结构。

软件: Unreal Engine, Houdini, Substance Designer, Blender, Speedtree,  Zbrush, RizomUV, Marmoset Toolbag, Photoshop


灵感、草图及白盒搭建
该项目的灵感来源于游戏《元梦之星》的一张地图,地图设计受铃兰与森之灵的启发。铃兰象征着纯洁与幸福,成为本项目的主要设计主题,其柔和的白绿色调影响了场景的主要配色。整体设计旨在唤起一种神圣、超凡脱俗的避难所氛围——一个悬浮于幻想领域中的庇护之地。

草图和白盒主要确定场景布局与关键元素:
  • 主浮岛:浮岛装点着茂密的植被,静谧的水体引导视线集中到核心建筑 ——一座象征性庇护所/宫殿,作为场景的视觉锚点。
  • 通向副岛的桥梁: 一系列浮动元素构成了桥梁,将主浮岛与三个次级附属岛屿相连,增添了动态感和探索的乐趣。

在此基础上,我结合了程序化生成与手工制作的元素,努力打造一个幻想风格的场景,同时呈现风格化的美学效果。
程序化藤蔓 (Houdini)
此HDA(Houdini Digital Asset)工具能够动态生成适应任意几何体的铃兰藤蔓,并提供多种灵活的控制选项,例如生长分布、生长进度、分支数量、叶片大小等。

生成主要枝干
  • 基础几何处理:对输入几何体重新网格化(Remesh),并应用Peak操作,略微凸出表面,为藤蔓附着创造基础。
  • 噪声过滤:使用噪声函数对表面进行过滤,移除部分区域,仅保留藤蔓可生长的部分。
  • 点散布:在过滤后的表面上散布点,密度由噪声决定,并根据高度(Y轴)对点排序。
  • 藤蔓路径生成:选择底部点作为起点,随机挑选部分点作为终点; 使用“Connect Adjacent Pieces”节点连接点; 通过“Find Shortest Path”生成藤蔓路径; 使用Resample和Fuse节点简化路径。
  • 藤蔓粗细:根据路径cost控制藤蔓粗细,形成自然的变化。
优化分枝结构
  • 侧分枝:随机选择主藤蔓上的点; 在这些点上通过“Copy to Points”节点添加曲线作为次级分枝; 使用“Orient Along Curve”和pscale属性调整分枝方向和大小; 使用“Distance Along Geometry”控制分枝粗细。
  • 悬垂分枝:选择法线朝下的点; 随机选择部分点并用Line节点创建悬垂分枝; 使用Mountain节点对线条施加轻微扭曲以增加真实感; 同样使用“Distance Along Geometry”控制粗细。
添加花叶
  • 叶片变体:在Blender中创建多种铃兰花和叶片形状的集合体,赋予每条藤蔓路径不同的变体。
  • 叶片放置:利用曲线法线和切线方向调整叶片的朝向,并将叶片复制到曲线;通过pscale属性调整叶片大小以实现自然变化。

最终资产
将整个程序化藤蔓工具封装为HDA,暴露参数供用户调整:生长分布与密度、分枝数量、叶片覆盖率与大小等。用户可通过简单控制定制出多样化的藤蔓样式,适应不同的场景需求。
程序化浮岛地形 (Houdini)
结合基于高度场的地形与噪声生成的底部几何形态,创建一个复杂且自然的浮岛地形。

上表面:基于高度场的地形
  • 初始布局与遮罩绘制:根据白盒绘制基本布局,定义高地和水域的凹陷区域。 利用 Point Jitter 对圆形点进行抖动并重新采样,生成不规则的岛屿形状,并将其作为高度场的遮罩。
  • 边缘过渡遮罩:通过扩大和缩小遮罩并相减得到边缘区域;使用模糊处理平滑过渡,并通过 Heightfield Wrangle 节点将边缘向下弯曲,确保与岛屿底部自然衔接。
  • 表面细节:利用 Heightfield Noise 和 Heightfield Distort 添加地形的自然变化。 将高度场转换为几何体,并通过 Boolean 节点根据岛屿遮罩裁剪几何体。
底部:基于噪声的几何形态
  • 基础设置:翻转顶部表面几何体作为底部基础;使用Attribute Wrangle计算点与岛屿中心的水平距离,并将结果存储在 Cd.x 属性中(边缘值设置为0),形成衰减遮罩。
  • 噪声应用:通过Point VOP应用程序化噪声,根据点到中心的距离修改其位置;将噪声乘以 Cd.x 属性,确保变形在边缘逐渐消失;使用 Attribute Wrangle 调整点的垂直位置 (y),形成自然的底部锥形结构。

在UE中的集成技巧
  • 直接导入高度场到UE可能会遇到以下问题:
    • 使用透明度遮罩:因精度限制导致岛屿边缘出现锯齿。
    • 导入为几何体:无法使用UE的Landscape工具,难以实时调整地形颜色或细节。
  • 解决方案:将几何体和高度场都导入UE;使用 Runtime Virtual Texture (RVT) 储存高度场地形绘制结果; 配置几何体材质以读取RVT数据,支持实时绘制地形颜色,并保持锐利、干净的岛屿边缘效果。

程序化贴图 (Substance Designer)
通过Substance Designer创建了一系列程序化贴图,包括复杂的玫瑰花窗、灰泥表面以及风格化的树干纹理。

玫瑰花窗:
  • 设计:使用基本的Shape和Transform节点创建哥特式图案的基础形状;利用Splatter节点排列并分层,生成精致的花卉图案。
  • 转换为几何体:将黑白遮罩导出为SVG格式,并导入Blender生成3D几何体。在几何体上添加细微的倒角(Bevel)以增强边缘的细腻效果。

灰泥:
  • 基础图案:结合多种Noise节点和B&W Spots生成不规则图案,作为灰泥纹理的基础。添加划痕(Scratches)和小点(Dots),为表面增添真实细节。
  • 贴图生成:从组合图案生成高度贴图(Height Map),并据此生成法线贴图(Normal Map)和环境光遮蔽贴图(Ambient Occlusion Map)。
  • 基础颜色:整合高度信息混合多种彩色笔触;将颜色与AO、光照细节和Curvature Map结合,增加深度与微妙的色彩变化。

风格化树干:
  • 基础图案:使用Gradient、Tile Generator和Noise节点生成木材纹理的基础图案。添加木纹(Grain)和小形状模拟自然木材的细节。
  • 贴图生成:通过AO、B&W Spots和Clouds丰富细节,并将其整合为高度贴图;根据高度数据生成法线贴图和环境光遮蔽贴图。
  • 基础颜色:为树干纹理使用类似水彩的效果,混合云纹以引入色彩变化;使用不同的遮罩混合苔藓效果和阴影颜色;结合curvature、AO以及多种笔触细节,打造统一且富有表现力的纹理效果。

风格化树 (Speedtree, Blender, UE)
SpeedTree建模
  • 树干创建:添加树干并切换至手绘模式(Hand-Drawn Mode),手动调整出螺旋扭曲的树干形状。
  • 分枝设置:从树干延伸出大分支(Big Branches);在大分支上添加一级小分支(Little Branches 1),并进一步在一级小分支上延伸出二级小分支(Little Branches 2)。
  • 叶片放置:将叶片分别附着到一级和二级小分支上。

Blender法线传递
  • 在Blender中用椭球体包裹树叶,模拟球形光照效果。
  • 将椭球体的法线传递到树叶上,使叶片呈现统一的球形法线效果,增强风格化表现。

UE材质
  • 叶片材质:
    • 基础颜色:根据法线方向(朝上或朝下)插值计算叶片颜色与叶片底部颜色。
    • 发光效果:使用法线与光照方向的点乘值,在三种颜色之间插值,产生动态光照效果;添加菲涅耳边缘发光效果(Fresnel),使叶片边缘呈现较浅的颜色。
    • 叶片形状:应用透明度遮罩(Opacity Mask),定义叶片形状。
    • 风吹效果:使用世界位置偏移(World Position Offset, WPO)模拟叶片在风中的摆动。
  • 树干材质:
    • 贴图:使用SD制作的程序化树干贴图,并提供颜色调整参数以适应不同场景需求。
    • 苔藓层:添加可选的苔藓层,根据法线朝上方向动态混合,增强树干的自然美感。

风格化岩石 (Zbrush, RizomUV, Marmoset Toolbag)
ZBrush雕刻
  • 初步构型:使用多个立方体搭建岩石的粗略形状。
  • 基本形态雕刻:使用Clip Curve、Trim Dynamic和Trim Smooth Border等笔刷,创建风格化的刻痕边缘。
  • 表面细节添加:应用Orb Brushes(如Slash、Rubble和Details),雕刻裂缝、切痕和破损边缘,呈现手工雕琢的质感。
  • 网格合并:使用Dynamesh将立方体合并为单一高模网格,确保整体连贯性。
  • 简化模型:使用Decimation Master减少面数,生成适合烘焙的低模版本。

RizomUV UV拆分
  • 标记接缝:沿岩石的交界处标记接缝,最小化纹理拉伸并确保UV岛之间的自然过渡。
  • UV展开与优化:展开低模模型,形成UV岛;优化UV岛以减少变形,并适当放置。

八猴法线烘焙
  • 将高模雕刻与UV拆分后的低模模型导入Marmoset。
  • 配置烘焙参数,包括采样数和填充大小(padding size)等。
  • 调整烘焙笼使其包裹低模网格,确保高模细节的准确投射。
  • 把高模雕刻细节烘焙到法线贴图上。

风格化草 (Blender, Photoshop, UE)
Blender建模
  • 草丛设计:创建简单几何的单片草叶模型;放置不同大小和朝向的草,形成自然的草丛形态。
  • UV拆分:调整UV,使草叶底部对齐至贴图的底部,以便控制风吹效果时的运动程度。

UE材质
  • 基础颜色:采样地形的Runtime Virtual Texture (RVT),让草叶继承地面颜色以融入环境;为草叶的背面额外叠加一种颜色,增强视觉变化。
  • 风吹遮罩:使用Photoshop中的Fibers滤镜生成风吹遮罩,并施加扭曲以创造不规则的风吹效果;使用该遮罩在草叶基础颜色与受风影响的颜色之间插值,增加动态视觉反馈。
  • 光照交互:将草法线调整为朝向世界空间的上方,确保光照交互一致性并增强风格化阴影效果。
  • 风吹运动:使用World Position Offset (WPO)模拟草叶随风摆动;通过UV映射控制草叶运动幅度,使草叶底部移动较少,叶尖移动较多,展现自然的动态效果。


风格化水 (UE)
基础颜色:
  • 使用 Depth Fade 节点,根据水体深度在两种水色之间插值;浅水区为较亮的颜色,深水区逐渐过渡为较暗的颜色。
  • 通过 Distance to Nearest Surface 节点计算距离最近表面的区域,用噪声纹理叠加生成不规则、有机的泡沫图案。
  • 使用泡沫遮罩在水色与泡沫色之间插值,实现平滑的过渡效果。
透明度:
  • 使用Depth Fade控制水体透明度,在与地形或岩石等物体交接的边缘生成自然的透明渐变效果。
波浪模拟:
  • 采样法线贴图模拟动态水面波浪,使其看起来更加生动。
折射与反射:
  • 添加折射效果,扭曲通过水面观察到的水下或穿过水面的物体。
  • 启用屏幕空间反射 (SSR),捕捉周围物体和天空在水面上的动态反射效果。

资产准备 (Blender, UE)
该项目结合了自制资产与调整后的第三方资产,以实现统一且风格化的场景效果。

岛屿
  • 主岛:通过Houdini程序化生成,具备丰富的地形细节和特征。
  • 附属岛:基于第三方资产,调整了配色以与主岛风格统一。
建筑与物件
  • 重新修改的模型:使用Blender对第三方资产的元素进行设计、修改和重组,包含宫殿、凉亭、灯塔、拱门和旋转座椅等资产;部分部分被完全重建并优化以更契合整体设计(玫瑰花窗是将SD设计的遮罩转换为SVG并生成3D几何体)。  除了灯塔光源使用正弦函数控制颜色与发光强度外, 其他材质均基于SD中设计的灰泥纹理调整而成。
  • 第三方模型:对竖琴、花盆、圣杯及祭坛等资产进行了几何优化,减少面数以提升性能。材质基于灰泥纹理调整,并提供混合水彩纹理的选项以实现图案多样性。
植被
  • 铃兰:修改了第三方模型的花朵和叶片比例,创建了风格化的自定义材质。
  • 藤蔓:在Houdini中自制程序化藤蔓。
  • 树木:一棵风格化树木使用SpeedTree从零创建并赋予定制材质;其他树木为第三方资产,经过颜色调整以适配环境。
  • 草丛:完全自制的模型与材质。
  • 荷花与蓝色花卉:结合第三方模型与自定义材质完成。
  • 灌木与蒲公英:调整第三方模型的颜色以更贴合场景。
岩石
  • 自制岩石:在ZBrush中雕刻的独特岩石,使用自定义材质。
  • 其他岩石:修改第三方资产的形状与颜色,使其融入场景。
©Shijia Liu
Technical  Art
Fantasyland