MENU

• 2025 年 12 月 23 日 • 已有 16 只咪围观过 • -学海拾贝-

资源分享

评论获取提取码

Stylized 风格化材质与资产

适合制作清新、动画风格的场景后处理材质。

写实雪山地形 (Snowy Mountains Landscape)

高质量的雪山高度图与地貌资产,快速搭建宏大场景。
image

Ultra Dynamic Sky (动态天空系统)

环境美术必备的神级插件。
image

VDB 云

体积云
  • 白嫖地址:


地形系统笔记

基于官方文档

基础设置与创建

Modes (模式) 面板中选择 Landscape。注意,在未创建地形前,雕刻(Sculpt)和绘制(Paint)选项是灰色的。

  • Section Size & Sections Per Component: 这些设置直接关系到 LOD(细节层次)的计算。

    • 较小的 Section 在 LOD 切换上更激进(CPU 负担较大)。
    • 2x2 的 Section 允许一个组件有 4 个不同的 LOD 层级。
  • Overall Resolution: 地形的总顶点数,这个数值通常建议参考官方文档的推荐值,以匹配高度图的分辨率。

导入高度图 (Heightmap)

这是快速生成地形的神器。

  • 原理: 高度图是一张黑白贴图,白色代表最高点,黑色代表最低点。
  • 操作: 在创建地形时选择“Import from File”。引擎会根据图片分辨率自动调整地形尺寸。Tip: 尽量让图片分辨率与你想要的地形尺寸严格对应,避免拉伸。

雕刻工具箱 (Sculpting Tools)

  • Sculpt: 基础雕刻,配合 Alpha 贴图可制作特定纹理。
  • Smooth: 柔化高度差,去除噪点。
  • Flatten: “削平”工具,制作建筑基座或平台最常用。配合 "Flatten Target" 可锁定特定高度。
  • Ramp: 制作山路或斜坡的专用工具。
  • Erosion / HydroErosion: 模拟自然风化和雨水侵蚀。建议用在山脊等对比强烈的边缘,增加真实感。
  • Noise: 添加随机噪点,适合快速打破地形的平滑感。

材质快捷键

纯新手向..
快捷键 (按住键+左键)节点名称 (Node)功能描述
1 / 2 / 3 / 4Constant Vector 1-4快速创建 1-4 维向量(数值/颜色)。
AAdd加法运算。
BBumpOffset视差贴图基础,提供伪深度。
CComment为选中的节点群添加注释框。
DDivide除法运算(A除以B)。
EPower幂运算,控制对比度或高光衰减。
FMaterialFunctionCall调用已有的材质函数。
IIf条件判断(大于/小于/等于)。
LLinear Interpolate (Lerp)线性插值,最常用的混合节点。
MMultiply乘法运算,用于混合颜色或增强数值。
NNormalize归一化向量。
OOneMinus反相(1减去数值),黑白颠倒。
PPanner纹理滚动,用于水流、传送带等。
RReflectionVector反射向量,用于自定义反射计算。
SScalarParameter标量参数,最常用的数值变量。
TTextureSample纹理采样。
UTextureCoordinateUV 坐标控制。
VVectorParameter向量参数(通常用于颜色)。
Shift + CComponentMask通道遮罩,提取 R/G/B 单通道。
空格键Refresh Preview刷新当前节点的预览图。
双击连线Reroute Node添加路由节点,整理连线走向。

视差遮蔽贴图 (POM - Parallax Occlusion Mapping)

  • 关键参数:

    • Heightmap Texture: 必须是黑白高度图,非法线图。
    • Height Ratio: 视差高度,默认 0.08。数值过大可能导致分层明显。
    • Min/Max Steps: 模拟层级的数量,数值越高效果越好但越费性能。
    • Pixel Depth Offset: 偏移像素深度,使物体能与其他几何体正确穿插(看起来像真的凹进去了)。
  • 限制: 开启 POM 的物体在计算阴影时可能不准确,建议关闭该物体的 Cast Shadow 或仔细调整接触阴影。

场景搭建提效工具

批量编辑神器:Property Matrix

当你需要同时修改 100 个不同物体的 Lightmap 分辨率或 LOD 组时,不需要一个个点。
  • 操作: 在 Content Browser 中选中多个资产 -> 右键 -> Asset Actions -> Bulk Edit via Property Matrix
  • 局限: 它不能直接批量替换材质,但对于数值类属性修改效率极高。

对齐与吸附 (Snapping)

  • 临时改变轴心: 选中物体后,按住 中键 拖动坐标轴,可临时改变 Pivot 位置(仅编辑器内有效)。
  • 顶点吸附: 按住 V 键 拖动物体,可精准吸附到另一个物体的顶点,模块化拼接必备。

植物工具 (Foliage Tool)

  • 过滤器 (Filter): 善用 Filter 只对特定层级(如只对 Landscape)进行刷涂。
  • Reapply (重应用): 已经刷好的植物觉得太小?切到 Reapply 模式,调整 Scale 参数并涂抹,可以在不重新种植的情况下修改属性。
  • Cull Distance: 务必设置剔除距离,这是大场景优化的关键。

VDB

这是一份基于 Unreal Engine 5.4+(及2025年最新标准)的 VDB 详细实战指南。本指南结合了官方文档的标准流程以及社区(CSDN/知乎)总结的“野路子”和避坑经验。

核心概念理解

在开始之前,请务必理解 UE5 处理 VDB 的逻辑:

  • VDB 文件 $\rightarrow$ 被导入为 Sparse Volume Texture (SVT, 稀疏体积纹理)
  • SVT $\rightarrow$ 被放入 Material (材质) 中采样。
  • Material $\rightarrow$ 被赋值给场景中的 Heterogeneous Volume Actor (异质体积演员) 进行渲染。

准备与导入

准备 VDB 源文件

  • 来源: Houdini, EmberGen, Blender, 或资源站(如 The Pixel Lab)。
  • 注意: 确保导出的 VDB 包含你需要的 Grid(网格数据),最常见的是 density(密度/烟雾)和 temperature(温度/火焰)。

导入设置

.vdb 文件(若是序列,只需拖入第一帧)拖入 UE 内容浏览器,会弹出导入面板:

  • Import Type (导入类型):

    • 如果你是单帧静止云/烟雾:选 Static
    • 如果你是爆炸/流体动画:选 Animated
  • Attributes (属性映射):
    UE 会检测 VDB 里的通道。

    • Attribute A (通常是 Density): 建议格式设为 Format: R8 (8bit Unorm)

      • 理由: 密度图通常不需要高精度,8bit 能节省大量显存。
    • Attribute B (通常是 Temperature): 建议格式设为 Format: R16 (16bit Float)

      • 理由: 火焰亮度变化极大(HDR),需要浮点数才能呈现“过曝”的发光感,否则火焰会断层。
  • Coordinate System (坐标系):

    • 如果模型来自 Blender/Maya (Y-up),可能需要勾选转换坐标系,或者在场景里旋转 Actor。

材质系统

1. 创建材质

创建一个新材质,命名为 M_VDB_Master
在 Details 面板修改以下核心参数:

  • Material Domain: Volume (体积)
  • Blend Mode: Additive (叠加) —— 注意:虽然叫叠加,但这是体积渲染的标准模式,它允许光线累积。

2. 节点连接逻辑

你需要使用 Sparse Volume Texture Sample 节点(专门为SVT设计的采样器)。

  • 输入端:

    • Sparse Volume Texture: 创建一个 Sparse Volume Texture Object Parameter(参数化),并在默认值里填入你导入的 VDB。
  • 输出端连接 (核心公式):

    • Extinction (消光/不透明度): 对应 VDB 的 density

      • 逻辑: Attributes A (R通道) $\times$ Density Multiplier (标量参数) $\times$ Color (颜色参数)。
      • 连接: 连到材质球的 Extinction 引脚。
    • Emissive (自发光/火焰): 对应 VDB 的 temperature

      • 逻辑: 使用 Blackbody (黑体辐射) 节点。
      • 连接: Attributes B (R通道) $\rightarrow$ Blackbody 节点的 Temp 输入 $\rightarrow$ 连到材质球的 Emissive 引脚。

社区技巧 (CSDN/知乎):

官方材质很复杂,推荐直接偷懒:在 Content Browser 设置中勾选 Show Engine Content,搜索 M_SparseVolume。这是官方写好的完美材质,直接右键创建 Material Instance (材质实例),把你的 VDB 贴图放进去即可。

场景渲染

1. 放入场景

  1. 在 Place Actors 面板搜索并拖入 Heterogeneous Volume (异质体积)。
  2. 在 Details 面板的 Material 插槽中,放入你刚才创建的材质实例。
  3. 此时你应该能看到烟雾/火焰了。

2. 动画设置

如果是 VDB 序列:

  • 选中 Heterogeneous Volume Actor。
  • 在 Details 面板找到 StreamingAnimation 栏目。
  • 勾选 Playing (播放) 和 Looping (循环)。
  • Frame Rate: 确保帧率与你导出软件(如Houdini)设置的一致(通常是24或30)。

3. 光照与投影

默认情况下,体积可能看起来很“平”。

  • 接收光照: 场景中必须有定向光 (Directional Light) 或点光。
  • 投射阴影: 选中 Light Source,搜索 Transmission,确保相关体积阴影选项开启。

常见问题与避坑指南 (Debug & Troubleshooting)

这里汇总了知乎/CSDN上用户遇到最多的“灵异事件”及其解决方案。

Q1: 导入后场景里什么都看不见?

  • 原因1: 比例尺问题。Houdini 的 1米 = UE 的 1厘米 (默认)。

    • 解决: 尝试把 Actor 的 Scale 放大 100 倍。
  • 原因2: 密度太低

    • 解决: 在材质实例里,把 Density Multiplier 拉大到 10、50 甚至 100。
  • 原因3: Extinction 没连

    • 解决: 检查材质的 Extinction 引脚是否有输入。

Q2: 渲染出来全是方块马赛克 (Blocky Artifacts)?(我遇到了)

  • 原因: SVT 的流送精度不足。
  • 解决:

    1. 打开控制台 (~ 键)。
    2. 输入 r.SparseVolumeTexture.Streaming.PrefetchMipLevelBias -1 (负数会强制加载更高清的纹理层级)。
    3. 或者在 Actor 属性里寻找 Mip Level 设置。

Q3: 只有烟没有火 (或者只有火没有烟)?

  • 检查通道映射: 你的 VDB 导出时是否真的叫 densitytemperature?有些软件导出叫 fuelheat
  • Import Settings: 重新打开 VDB 资产面板,检查 Attributes A 和 B 是否正确关联了 VDB 内部的通道名。

Q4: 阴影断层或像百叶窗一样闪烁?

这是 UE5 体积渲染的常见 Bug。

  • 方案A (推荐): 切换到 Path Tracing (路径追踪)。这是渲染 VDB 最完美的方式,但不是实时的。

    • 指令: r.PathTracing.HeterogeneousVolumes 1
  • 方案B (实时): 调整步进质量。

    • 在 Heterogeneous Volume Actor 中,找到 Step Size。数值越小,精度越高,开销越大。尝试减小 Step Size。
  • 方案C (阴影指令):

    • 输入 r.HeterogeneousVolumes.Shadows 1 强制开启阴影。

Q5: 摄像机拉远了 VDB 就消失了?(我遇到了)

  • 原因: 距离剔除优化。
  • 解决: 控制台输入 r.HeterogeneousVolumes.MaxTraceDistance 1000000 (输入一个巨大的数字)。

Q6: 显存爆炸 (VRAM Crash)?(我遇到了)

  • VDB 是显存杀手。
  • 优化: 回到 Houdini/EmberGen,使用 Resample 节点降低 Voxel Size (体素大小)。例如从 0.05 降到 0.1,体积数据量会呈指数级下降。

摸鱼展示:

返回文章列表 打赏
本页链接的二维码
打赏二维码