虚幻引擎 Anim To Tex| RVT | RT

发布于:2025-04-16 ⋅ 阅读:(16) ⋅ 点赞:(0)

本文上篇分为4个部分:动画驱动材质,虚拟纹理,Rendertarget,以及其他杂项的地编ta干货整理。(其中RT部分基本为UOD重要截图摘录)

本文下篇为:skylight和directional light的区别,未完待续


part 1: 动画驱动材质

目的是在Niagara粒子中让粒子也拥有3d动画。

结合了虚幻引擎自带的Anim to Tex插件,需要把官方插件包中的部分材质函数节点,复制到自己的材质中,让其具备受动画驱动的能力。

以及Trash praxis制作的烘焙Anim to tex数据的外部插件,该外部插件可以烘焙Texture和整理data包,以符合虚幻官方的Anim to tex蓝图中需要的素材格式。

注意不要给做好后的材质选分级Lod,因为其动画材质不是针对其它lod都能正确显示的。模型变成刺球就是这个原因。

part 2: 虚拟纹理

目的是比如 做阴影,混合地形材质,沿着地形高度浮动的物体。

实时虚拟纹理体积是相机,RVT是其底片。一个Volume对应一个RVT。可以用两个Volumn一个竖直拍摄地形用于混合颜色/法线(可以直接用一个blend mask直接混合,或者用节点按照高度深浅混合)

阴影

  1. 用斜着的Volume拍摄 树木阴影的RVT
  2. Domain是正常surface的情况可以添加Runtime virtual texture output节点。在树木材质中使用RVT OUTPUT节点,只连了BaseColor就只有底色信息
  3. 在地皮材质中使用RVT Sample节点采样上图的Output
在树木材质中使用RVT OUTPUT节点
在地皮材质中使用RVT Sample节点采样上图的Output

为什么要用RVT做阴影:

RVT的尺寸是可以非常非常大的,然后也是以svt的形式存储的。通过虚拟化技术动态分配纹理资源,按需加载高精度阴影数据,避免全局高分辨率贴图的浪费。

优化方式:中远处用SVT存储

Part 3 Render Target

UE5的Render Target(渲染目标)是一种纹理资源,用于存储渲染输出(如场景截图、后期效果或动态贴图)。它允许将3D场景或特定对象渲染到纹理上,常用于实现镜子、UI交互、动态投影等效果。通过蓝图或代码(如`Draw Material to Render Target`节点)可实时更新内容,支持后期处理和多通道渲染,是动态视觉效果和交互设计的核心工具之一。

绘制相关笔记截图:

RT无法一边采样一边绘制,如何保存最小值

RT的格式

8位 只支持 【0,1】(2^8=256精度),16f可以存储负数

虚化雪地

*雪地材质制作*

  • Vector noise normal texture
  • pixel depth
  • 3s

1.Vector noise贴图制作冰晶质感

法线
Output

2.雪地材质需要Subsurface Scattering。依据如下:

1. 雪的物理特性与光的相互作用
   - 半透明性:雪由冰晶和空气组成,光线进入雪层后会经历多次散射和折射。冰晶的高透明度使得光线能穿透表面,在内部扩散(类似皮肤或蜡的3S效果)。
   - 体积感:真实雪地中,阳光会渗入表层以下,形成柔和的漫反射光晕,而非仅停留在表面。3S算法模拟了这种光在材质内部的传播。

---

2. 视觉效果
   - 柔和阴影与高光:无3S的雪地会显得“死板”,仅依赖表面反射(如Phong或GGX模型)。加入3S后,光线在雪内部散射,产生自然的光线衰减和柔化边缘(如雪堆凹陷处的蓝灰色调)。
   - 颜色渗透:雪在薄区域(如边缘或裂缝)会因光线透射呈现淡蓝色(波长较短的蓝光散射更强),3S可通过调整散射颜色参数实现这一效果。

---

3. 环境光照的响应
   - 全局光照(GI)适配:在动态光照环境下(如黄昏或多云),3S材质能更准确地响应环境光变化。例如,低角度阳光会增强雪的次表面散射,产生“自发光”般的柔和亮部。


4.散射参数设置:
     - 散射半径(Scatter Radius):雪需较大的半径值(如5-10cm),模拟光在松散雪层中的长距离扩散。
     - 散射颜色(Scatter Color):通常用淡蓝或浅灰,对应冰晶的米氏散射(Mie scattering)特性。


5.性能优化:游戏引擎中可通过简化3S模型(如屏幕空间次表面散射,SSSS)平衡效果与性能。


6.若关闭3S,雪地会呈现不真实现象:
     - 阴影边缘过于锐利(缺乏内部散射柔化)。
     - 表面反光过强(类似塑料),而实际雪的反光因内部散射更弥散。

Pixeldepth混合此效果,远距离时过渡到普通的雪地材质上,防止远处效果不好。

地编相关杂项TA干货

  • 添加地图包后 白屏,可以删除PPV
  • 鼠标中键拖出来可以测量数值

4个插件

选项模式插件:Thether缆绳插件物理笔刷插件

外部插件:Ultra动态天空插件UAssetBrowser资产快速导入插件。

物理笔刷

建模模式将fab资源用simplify按照UE标准减面20%

物理笔刷模式一边刷一边bake定型的部分防止UE崩溃

合并完的堆堆右键转成nanite

Layout

polycut进行雕刻

体积雾重要参数

  • 散射分布(均匀)
  • 消光范围
  • 雾高度衰减

天光实时捕获关掉则不会改变反射

大气高度改成1近似像月球没有大气

directional light中光照   光照函数: 光照材质函数 用黑白遮罩来控制阴影

布料用编辑模式创建 导出 再导入时勾选骨骼网格体,就获得了骨骼网格体,level搜索wind可以加入风场。

不使用DCC便捷旋转UV

表面对齐

输出Sequence:

运动物体比较多的情况下,把空间采样数采样提高到16,临时采样数到2,这样运动模糊精度会高一点。

物体距离相机太远影子飘逝的问题(代码如图)


下半场


Skylight和directional light的区别 

UE中,Sky Light(天空球的光)Directional Light(定向光) 是两种不同的光照组件,它们的核心区别在于光源类型、光照行为和应用场景。


1. Sky Light(天空球的光)

  • Sky Light 是一种基于环境的光照系统,它从天空球(Sky Sphere/Sky Atmosphere)或HDRI贴图捕获环境光,并将其作为间接光照应用到场景中。

  • 它主要用于模拟全局环境光照(如天光、大气散射、云层反射等)。

特性

  1. 间接光照:不直接投射阴影,而是提供柔和的、无方向的漫反射光。

  2. 动态或静态

    • 静态(Static):烘焙光照贴图(Lightmass),适合静态场景。

    • 动态(Dynamic):实时更新(如随时间变化的天空颜色)。

  3. 依赖天空球

    1. 如果使用 Sky Atmosphere(动态天空系统),Sky Light 会自动捕捉天空颜色和亮度。

    2. 也可以手动指定 Cubemap(HDRI) 作为光源。

  4. 无直接阴影:仅影响间接光照,不会产生直接阴影。

典型用途

  • 自然光照(如白天的天光、黄昏的环境光)。

  • 补充间接照明,使阴影区域不会完全黑暗。

  • 配合 Sky Atmosphere 实现动态昼夜变化。


2. Directional Light(定向光)

  • Directional Light 模拟无限远的光源(如太阳或月亮),所有光线平行照射,方向一致。

  • 它是直接光照的主要来源,直接影响物体的亮面、阴影和高光。

特性

  1. 直接光照

    1. 产生清晰的直接阴影(可通过 Cascaded Shadow Maps, CSM 优化)。

    2. 影响漫反射、高光反射(PBR材质)。

  2. 无衰减:光线强度不随距离变化(因为是“无限远”光源)。

  3. 可调角度

    1. 通过旋转控制太阳高度(模拟日出、正午、日落)。

    2. 配合 Sky Atmosphere 可实现动态太阳位置变化。

  4. 动态或静态

    1. Movable(动态):实时计算阴影(适合昼夜循环)。

    2. Stationary(静态):部分烘焙,部分实时(混合光照)。

典型用途

  • 模拟太阳/月亮光照(户外场景)。

  • 提供主要的直接阴影和高光效果。

  • 动态光照(如昼夜交替系统)。


3. 核心区别对比

特性

Sky Light(天空球)

Directional Light(定向光)

光照类型

间接光照(环境光)

直接光照(太阳/月光)

阴影

无直接阴影

产生直接阴影(CSM优化)

光源依赖

依赖天空球或HDRI贴图

仅依赖方向(旋转控制)

动态更新

可实时或烘焙

可实时(Movable)或混合

主要用途

补充环境光,柔化阴影

提供主光源和清晰阴影


4. 如何配合使用?

在典型的户外场景(如开放世界游戏)中,Sky LightDirectional Light 通常一起工作:

  1. Directional Light 作为太阳,提供直接光照和阴影。

  2. Sky Light 捕捉天空颜色,提供柔和的间接光,使阴影区域不会完全黑暗。

  3. 如果启用 Sky Atmosphere,两者可以动态联动(如太阳位置变化时,天空颜色和光照自动更新)。

示例(UE5 设置)

  • 添加 Directional Light → 调整角度模拟太阳。

  • 添加 Sky Light → 设置为 Dynamic,自动捕获 Sky Atmosphere 的光照。

  • 启用 Lumen 或 Ray Tracing 可进一步提升动态全局光照质量。


总结

  • Sky Light = 环境光(间接照明,无阴影)。

  • Directional Light = 太阳光(直接照明,有阴影)。