虚幻引擎 Anim To Tex| RVT | RT

本文上篇分为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 = 太阳光(直接照明,有阴影)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/76732.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

kingbase权限管理

1. kingbase模式权限管理 1.1授予用户对模式的权限 以具有足够权限的用户登录后,执行以下 SQL 语句来授予用户对模式的相应权限。假设你要授予用户 your_user 对模式 your_schema 的使用权限: sql -- 授予用户使用模式的权限 GRANT USAGE ON SCHEMA …

9.thinkphp的请求

请求对象 当前的请求对象由think\Request类负责,该类不需要单独实例化调用,通常使用依赖注入即可。在其它场合则可以使用think\facade\Request静态类操作。 项目里面应该使用app\Request对象,该对象继承了系统的think\Request对象&#xff…

Java从入门到“放弃”(精通)之旅——方法的使用⑤

Java从入门到“放弃”(精通)之旅🚀——方法的使用⑤ 📖引言: 在编程领域,代码如同精密的齿轮相互咬合驱动程序运转。随着项目规模渐长,重复的代码片段如同冗余的齿轮,不仅增加负重…

鸿蒙NEXT开发格式化工具类(ArkTs)

import { i18n } from kit.LocalizationKit;/*** 格式化工具类* 提供电话号码格式化、归属地查询、字符转换等功能。* author: 鸿蒙布道师* since: 2025/04/14*/ export class FormatUtil {/*** 判断传入的电话号码格式是否正确。* param phone - 待验证的电话号码* param coun…

[Python基础速成]2-模块与包与OOP

上篇➡️[Python基础速成]1-Python规范与核心语法 目录 Python模块创建模块与导入属性__name__dir()函数标准模块 Python包类类的专有方法 对象继承多态 Python模块 Python 中的模块(Module)是一个包含 Python 定义和语句的文件,文件名就是模…

OSI参考模型和TCP/IP模型

1.OSI参考模型 OSI模型: OSI参考模型有7层,自下而上依次为物理层,数据链路层,网络层,传输层,会话层,表示层,应用层。(记忆口诀:物联网叔会用)。低…

linux Shell编程之循环语句(三)

目录 一. for 循环语句 1. for语句的结构 2. for 语句应用示例 (1) 根据姓名列表批量添加用户 (2) 根据 IP 地址列表检查主机状态 二. 使用 while 循环语句 1. while 语句的结构 2. while 语句应用示例 (1) 批量添加规律编号的用户 (2) 猜价格游戏 三. until 循环语…

最新扣子实战教程,利用扣子平台通过在线表格记录,批量生图,再也不要一条条的粘贴提示词了

1、功能描述 大家好,我是涛涛。今天我要给大家讲解如何在扣子平台上对接飞书电子表格。由于多维表格相对复杂,而很多业务场景其实只需要电子表格就能满足,因此今天我们将演示如何在扣子平台上读取飞书电子表格并批量生成图片。 先看效果&am…

java -jar指定类加载

在 Java 中,使用 java -jar 命令运行 JAR 文件时,默认会加载 JAR 文件的 MANIFEST.MF 文件中指定的 Main-Class。如果你想在运行时指定一个类来加载,可以通过以下方式实现: 方法 1:直接指定类路径和类名 如果你不想使用…

多模态思维链(Multimodal Chain of Thought, MCoT)六大技术支柱在医疗领域的应用

多模态思维链(Multimodal Chain of Thought, MCoT)通过整合文本、图像、视频等多模态数据,结合逻辑推理与深度学习技术,在医疗领域展现出强大的应用潜力。其六大技术支柱在医疗场景中的具体应用如下: 一、推理构建视角:医学诊断的流程优化 MCoT通过多模态推理链生成技术…

从文本到视频:基于扩散模型的AI生成系统全解析(附PyTorch实现)

当语言遇见动态视觉 "用文字生成电影场景"曾是科幻作品中的幻想,如今借助扩散模型(Diffusion Models)正逐步成为现实。本文将手把手带你实现一个创新的文本到视频生成系统,通过深度解析扩散模型原理,结合独…

科普:如何通过ROC曲线,确定二分类的“理论阈值”

在二分类问题中,已知预测概率(如逻辑回归、神经网络输出的概率值)时,阈值的选择直接影响分类结果(正/负样本判定)。 一、实践中的阈值选择方法 1. 基于业务目标的调整 最大化准确率:适用于样…

2025ArkTS基础UI(一)——Column、Row、Text、Button组件

2025ArkTS基础UI(一)——Column、Row、Text、Button组件 前言 臭宝们,今天我们来学习ArkTS基础UI组件的使用,其中包括: Column、Row、Text、Button组件。 知识点 Colum、Row组件用于布局,Text、Image、Button组件用于展示。 …

强化学习:基于价值的方法做的是回归,基于策略的方法做的是分类,可以这么理解吗?

在强化学习领域,基于价值的方法(Value-based Methods)和基于策略的方法(Policy-based Methods)是两种核心范式。本文将从目标函数、优化机制以及与机器学习任务的类比角度,探讨这两种方法是否可以被分别理解为回归和分类任务,并深入分析其内在逻辑。 一、基于价值的方法…

折叠屏手机:技术进步了,柔性OLED面板测试技术需求跟上了吗?

全球智能手机市场陷入创新焦虑,折叠屏手机被寄予厚望,2023 年出货量同比增长 62%。但在供应链技术狂欢背后,存在诸多问题。消费端数据显示,用户使用频率低,定价策略反常。产业链重构虽让部分企业获利,却推高…

前端在线工具 CodePen 和 JSFiddle

前端在线工具 CodePen 和 JSFiddle CodePen 概述:CodePen 是一个社交化的前端开发环境,用户可以在这里创建代码片段(称为“Pens”),分享和展示自己的前端开发作品。 主要功能: 实时预览:用户在…

Redis-场景缓存+秒杀+管道+消息队列

缓存一致性 1.两次更新 先更新数据库,再更新缓存;先更新缓存,再更新数据库; 出现不一致问题场景: 先更新数据库,再更新缓存; 先更新缓存,再更新数据库; 两次更新的适…

[Windows] 字体渲染 mactype v2025.4.11

[Windows] 字体渲染 mactype 链接:https://pan.xunlei.com/s/VONeCUP2hEgO5WIQImgtGUmrA1?pwdyruf# 025.4.11 Variable font support 可变字体支持已到来。 本版本将可变字体支持扩展到所有 GDI 应用程序。 所有 win32 程序中的字体,如 Noto Sans、Se…

【C++】深拷贝与浅拷贝

重开也不是不可能 ~.~ 浅拷贝 #include <iostream> #include <cstring>class ShallowCopyExample { public:int m_nValue;int* m_pData;// 构造函数&#xff0c;初始化指针成员ShallowCopyExample(int value) : m_nValue(value) {m_pData new int(0);*m_pData va…

SpringBoot企业级开发之【用户模块-更新用户头像】

功能如下所示&#xff1a; 我们先看一下接口文档&#xff1a; 为什么头像是一串字符串呢&#xff1f;因为我们是将头像图片放到第三方去存储&#xff0c;比如&#xff1a;阿里云等 开发思路&#xff1a; 实操&#xff1a; 1.controller 注意!这里使用【PatchMapping】注解…