UnrealFest2025笔记
This commit is contained in:
74
02-Note/演讲与教程笔记/虚幻开放日2025/Hitch Hunter:排查逐帧瓶颈.md
Normal file
74
02-Note/演讲与教程笔记/虚幻开放日2025/Hitch Hunter:排查逐帧瓶颈.md
Normal file
@@ -0,0 +1,74 @@
|
|||||||
|
---
|
||||||
|
title: Untitled
|
||||||
|
date: 2025-08-22 11:20:14
|
||||||
|
excerpt:
|
||||||
|
tags:
|
||||||
|
rating: ⭐
|
||||||
|
status: inprogress
|
||||||
|
destination:
|
||||||
|
share: false
|
||||||
|
obsidianUIMode: source
|
||||||
|
---
|
||||||
|
# Level Streaming Hitch
|
||||||
|
## Using Actor for Static Geometry
|
||||||
|
1. 不要在Actor中放入过多StaticMesh。避免使用Actor—+Stat
|
||||||
|
|
||||||
|
应该使用:
|
||||||
|
1. PLAS,Level打包Actor功能。
|
||||||
|
2. PCG
|
||||||
|
3. ISM/HISM
|
||||||
|
4. Foliage Tool
|
||||||
|
5. Niagara/Mass
|
||||||
|
|
||||||
|
## 5.6 针对大世界流式加载有迭代
|
||||||
|
## Fast Stream Plugin
|
||||||
|
巫师四使用了这个插件。
|
||||||
|
|
||||||
|
# Physics Hitch
|
||||||
|
## 优化你的物理
|
||||||
|
1. 使用Simple Physics
|
||||||
|
2. 手动关闭Complex Physics
|
||||||
|
3. 使用Use Simple As Complex
|
||||||
|
|
||||||
|
## 设置碰撞通道
|
||||||
|
1. 关闭不需要的Overlaps,也就是关闭不需要Actor的Generate Overlap Events。
|
||||||
|
2. 设置Update Overlap Method During Level Streaming => ,可以在ini或者PerActor中惊醒设置。
|
||||||
|
|
||||||
|
## 减小物理场景大小
|
||||||
|
1. Chaos Visual Debugger
|
||||||
|
2. 使用物理代理
|
||||||
|
1.
|
||||||
|
3. 使用AsyncTraces
|
||||||
|
1. 1
|
||||||
|
|
||||||
|
## 异步物理初始化
|
||||||
|
PS. 5.6 Chaos有若干提升。
|
||||||
|
|
||||||
|
# Actor Spawning Hitch
|
||||||
|
1. 简化Actor
|
||||||
|
2. 限制Per Frame Spawn Num
|
||||||
|
3. **延迟初始化组件**
|
||||||
|
|
||||||
|
## Actor Pool
|
||||||
|
|
||||||
|
# PSO Compilation Hittches
|
||||||
|
1. Bundled PSO Cache
|
||||||
|
|
||||||
|
## PSO Precaching
|
||||||
|
5.3 默认开启。
|
||||||
|
|
||||||
|
5.3之前,你需要设置PSO Bundleed
|
||||||
|
5.3之后。默认开启Precacheing, 5.6支持在LoadingScreen 过程中变异
|
||||||
|
|
||||||
|
建议:PSO Prechacing Bundled PSO Cache 混用
|
||||||
|
## CMD
|
||||||
|
-clearPSODriverCache
|
||||||
|
r.psoprecache. 通过日志来记录Miss情况。
|
||||||
|
|
||||||
|
# Garbage
|
||||||
|
##
|
||||||
|
obj list -countsort
|
||||||
|
|
||||||
|
# 同步载入卡
|
||||||
|
|
||||||
|
github flassari/CommonValidator
|
17
02-Note/演讲与教程笔记/虚幻开放日2025/UE5.6移动端开发最新进展.md
Normal file
17
02-Note/演讲与教程笔记/虚幻开放日2025/UE5.6移动端开发最新进展.md
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
---
|
||||||
|
title: Untitled
|
||||||
|
date: 2025-08-22 15:40:10
|
||||||
|
excerpt:
|
||||||
|
tags:
|
||||||
|
rating: ⭐
|
||||||
|
status: inprogress
|
||||||
|
destination:
|
||||||
|
share: false
|
||||||
|
obsidianUIMode: source
|
||||||
|
---
|
||||||
|
|
||||||
|
# 抗锯齿
|
||||||
|
支持类似Arm、高通上采样方案。
|
||||||
|
|
||||||
|
# Misc
|
||||||
|
1. 延迟
|
62
02-Note/演讲与教程笔记/虚幻开放日2025/Untitled.md
Normal file
62
02-Note/演讲与教程笔记/虚幻开放日2025/Untitled.md
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
---
|
||||||
|
title: Untitled
|
||||||
|
date: 2025-08-23 13:07:58
|
||||||
|
excerpt:
|
||||||
|
tags:
|
||||||
|
rating: ⭐
|
||||||
|
status: inprogress
|
||||||
|
destination:
|
||||||
|
share: false
|
||||||
|
obsidianUIMode: source
|
||||||
|
---
|
||||||
|
|
||||||
|
## Quickshots
|
||||||
|
- Ctrl + 空格
|
||||||
|
- F10 + Tab:显示所有标签页。
|
||||||
|
- Alt+ Middle: 重置轴心
|
||||||
|
- Alt+A:Attach Actor to other。
|
||||||
|
- K:开启Simulate来调整物体位置(物理模拟摆放)
|
||||||
|
|
||||||
|
## Actor Palette
|
||||||
|
可以将其他Level中的Actor拖到当前关卡中。
|
||||||
|
|
||||||
|
## Inject Volumetric Fog with Materials
|
||||||
|
|
||||||
|
## 建模模式
|
||||||
|
### Cube Grid做关卡原型
|
||||||
|
Shift+E
|
||||||
|
|
||||||
|
### Draw Spline Tools
|
||||||
|
可以对一些有Spline组件的蓝图绘制Spline。
|
||||||
|
|
||||||
|
## Texture Variation Material Node
|
||||||
|
解决地形贴图重复问题。
|
||||||
|
|
||||||
|
## 属性检查功能
|
||||||
|
Ctrl+Click 点击Actor的属性,可以显示所有当前属性相同的物体,可以用用于检查哪些物体的属性改动。
|
||||||
|
|
||||||
|
## LocationVolume(大世界)
|
||||||
|
用于命名体积惊醒加载。
|
||||||
|
|
||||||
|
## CustomFilter
|
||||||
|
可以用于查询面数大于xxx,开启Nanite的Mesh。
|
||||||
|
|
||||||
|
## Spline Mesh Component 弯曲网格功能
|
||||||
|
|
||||||
|
## Level Actor Zoo
|
||||||
|
Mesh物体展示功能
|
||||||
|
|
||||||
|
## Niagara Data Channel
|
||||||
|
将数据写入CPU(Gameplay)的节点。
|
||||||
|
|
||||||
|
## Translucenty Overlay Materials(重要)
|
||||||
|
可以用于控制阴影
|
||||||
|
|
||||||
|
## Post Process Material Chain Plugins(重要)
|
||||||
|
后处理结果渲染到RT上。
|
||||||
|
|
||||||
|
## Console Variable(重要)
|
||||||
|
|
||||||
|
## ABTest(功能)
|
||||||
|
abtest showflag.fog 0 1
|
||||||
|
abtest stop
|
81
02-Note/演讲与教程笔记/虚幻开放日2025/《漫威争锋》基于GAS的多人战斗框架开发分享.md
Normal file
81
02-Note/演讲与教程笔记/虚幻开放日2025/《漫威争锋》基于GAS的多人战斗框架开发分享.md
Normal file
@@ -0,0 +1,81 @@
|
|||||||
|
---
|
||||||
|
title: Untitled
|
||||||
|
date: 2025-08-22 14:04:53
|
||||||
|
excerpt:
|
||||||
|
tags:
|
||||||
|
rating: ⭐
|
||||||
|
status: inprogress
|
||||||
|
destination:
|
||||||
|
share: false
|
||||||
|
obsidianUIMode: source
|
||||||
|
---
|
||||||
|
# GAS
|
||||||
|
|
||||||
|
# 战斗框架
|
||||||
|
- GA
|
||||||
|
- GE
|
||||||
|
- Task
|
||||||
|
- Cue:UX、特效、材质、音效
|
||||||
|
|
||||||
|
Ability => Task => GE =>Cue
|
||||||
|
|
||||||
|
## 功能拓展
|
||||||
|
传统数据表格无法满足所有配置。
|
||||||
|
|
||||||
|
### 数据配置
|
||||||
|
拆分成:
|
||||||
|
1. AbilityAesst:技能的基础框架性配置,涉及UI、输入、镜头等公共配置。
|
||||||
|
2. AbilityConfig:以InlineStruct内敛AbilityAesst内用于各个技能特殊的逻辑配置。
|
||||||
|
3. AbilityBP:技能关系,技能状态,类型标识等逻辑配置。
|
||||||
|
|
||||||
|
扩充AbilityTask:
|
||||||
|
ActivateAbility => 各种Task
|
||||||
|
|
||||||
|
### AbilityTemplate
|
||||||
|
ActivateAbility
|
||||||
|
PlayTimeLine
|
||||||
|
PlayProjectile
|
||||||
|
HitImpact
|
||||||
|
### TimeLine(技能编辑器)
|
||||||
|
实现了一个类似Montage的TimeLine资产来管理时间轴相关的技能、效果。将GE、Cue等其他所有东西都加入编辑器中。
|
||||||
|
|
||||||
|
### Buff系统
|
||||||
|
- Buff(实例Buff):配置生命周期、叠层、周期、脚本等、覆盖Effect模版配置。
|
||||||
|
- Effect(Effect模版):增益/减益类型、修改属性方式、阻塞/驱散关系等
|
||||||
|
- Status(底层细粒度状态控制):不可移动、不能跳跃、控制不同类型的状态等
|
||||||
|
|
||||||
|
1. Buff系统
|
||||||
|
1. 每个技能独立
|
||||||
|
2. 引用Effect
|
||||||
|
3. 1000+
|
||||||
|
2. Effect
|
||||||
|
1. 英雄共性效果
|
||||||
|
2. 引用Status
|
||||||
|
3. Status
|
||||||
|
|
||||||
|
### 特效表现
|
||||||
|
- CueDataProxy:Gameplay来传递额额外信息到GameplayCue。
|
||||||
|
- DataInterface:Niagara通过这个玩意来获取Gameplay层的底层数据。
|
||||||
|
#### 示例
|
||||||
|
qi
|
||||||
|
### 基建开发
|
||||||
|
#### 检测管线
|
||||||
|
新规则加入不会影响旧的检测配置。
|
||||||
|
|
||||||
|
# 预测机制
|
||||||
|
- FScopedPredictionWindows:通过构造与析构来标定预测逻辑的生命周期窗口。
|
||||||
|
- FpredictionKey:预测的唯一标识。
|
||||||
|
|
||||||
|
## 对Key进行层级分布
|
||||||
|
### 层级分布Key的好处
|
||||||
|
具备关联性。
|
||||||
|
|
||||||
|
### 回滚所有行为
|
||||||
|
- 可回滚
|
||||||
|
- 激活、结束等流程动作(结束)
|
||||||
|
- 冲刺位移等客户端输入行为(拉回)
|
||||||
|
- 法术场、召唤物等独立实体(销毁)
|
||||||
|
- 能量、弹药等主段消耗(重置)
|
||||||
|
- 不回滚
|
||||||
|
- 动画、特效、UI等纯表现行为
|
||||||
|
- 投射物、瞬时弹道(一次性)
|
71
02-Note/演讲与教程笔记/虚幻开放日2025/《鸣潮》中的光线追踪:用光线构建动漫风格开放世界.md
Normal file
71
02-Note/演讲与教程笔记/虚幻开放日2025/《鸣潮》中的光线追踪:用光线构建动漫风格开放世界.md
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
---
|
||||||
|
title: 《鸣潮》中的光线追踪:用光线构建动漫风格开放世界
|
||||||
|
date: 2025-08-22 16:35:32
|
||||||
|
excerpt:
|
||||||
|
tags:
|
||||||
|
rating: ⭐
|
||||||
|
status: inprogress
|
||||||
|
destination:
|
||||||
|
share: false
|
||||||
|
obsidianUIMode: source
|
||||||
|
---
|
||||||
|
# Rtx
|
||||||
|
实现功能
|
||||||
|
1. Rtx反射
|
||||||
|
2. RtxGI
|
||||||
|
3. RtxShadow
|
||||||
|
|
||||||
|
# 选型&快速验证
|
||||||
|
需求
|
||||||
|
32km 32km
|
||||||
|
二次元
|
||||||
|
TOD
|
||||||
|
4060 2k 60fps
|
||||||
|
|
||||||
|
方案:
|
||||||
|
1. ReSTIR
|
||||||
|
2. Lumen(简略版,砍掉一些不需要的过程)
|
||||||
|
1. GI
|
||||||
|
2. Reflection
|
||||||
|
3. 重新开发Clipmap Irradiance Cache来代替Surface Cache
|
||||||
|
## ReSTIR
|
||||||
|
1. 时间、空间重采样
|
||||||
|
2. 计算光照
|
||||||
|
3. 使用SHaRC、NRD降噪库。
|
||||||
|
|
||||||
|
**SHaRC(Spatially Hashed Radiance Cache)**
|
||||||
|
1. 解决Multi-Bounce Problem
|
||||||
|
2. 基于世界空间稀疏哈希的Radiance Cache
|
||||||
|
3. 默认只有2次反射
|
||||||
|
|
||||||
|
**NRD(Nvidia Real-time Denoising)**
|
||||||
|
1. 基于Spatio-Temporal的降噪器,开箱即用。
|
||||||
|
2. 用于最终降噪输出。
|
||||||
|
3. 性能消耗较高:4080 2k 2.3~3.0ms
|
||||||
|
|
||||||
|
### 缺点:
|
||||||
|
1. 实现起来简单,光照效果好,但带宽性能压力大。
|
||||||
|
2. 远处、边缘有噪点。
|
||||||
|
|
||||||
|
# 功能实现与迭代经验
|
||||||
|
## ToonShading
|
||||||
|
案例1:角色自阴影
|
||||||
|
- 光栅化
|
||||||
|
- 场景:CSM
|
||||||
|
- 角色:PerObjectShadow
|
||||||
|
- Rtx
|
||||||
|
- 用剔除角色的InstanceMask做ToonShadowRay
|
||||||
|
|
||||||
|
```c++
|
||||||
|
if(IsToonShadingModel(ShadingModelID))
|
||||||
|
{
|
||||||
|
RayTracingMask |=RAY_TRACING_MASK_SHADOW_NOT_TOON;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
案例2:角色接入GI
|
||||||
|
|
||||||
|
|
||||||
|
案例3:角色接入反射
|
||||||
|
|
||||||
|
|
47
02-Note/演讲与教程笔记/虚幻开放日2025/三角洲.md
Normal file
47
02-Note/演讲与教程笔记/虚幻开放日2025/三角洲.md
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
---
|
||||||
|
title: Untitled 1
|
||||||
|
date: 2025-08-23 15:56:02
|
||||||
|
excerpt:
|
||||||
|
tags:
|
||||||
|
rating: ⭐
|
||||||
|
status: inprogress
|
||||||
|
destination:
|
||||||
|
share: false
|
||||||
|
obsidianUIMode: source
|
||||||
|
---
|
||||||
|
# 要求
|
||||||
|
全地图GI覆盖
|
||||||
|
|
||||||
|
# GI方案
|
||||||
|
1. LightMap
|
||||||
|
1. 性能消耗低
|
||||||
|
2. 项目成本高
|
||||||
|
2. VolumnGI
|
||||||
|
1. 性能消耗中等
|
||||||
|
2. 项目成本可以接受
|
||||||
|
3. DynamicGI
|
||||||
|
1. 性能消耗高
|
||||||
|
2. 项目成本低
|
||||||
|
|
||||||
|
PC/主机需求:
|
||||||
|
1. 显存。
|
||||||
|
|
||||||
|
Mobile:
|
||||||
|
1. 低包量
|
||||||
|
2. 性能、发热(CPU瓶颈)
|
||||||
|
3. 降低成本
|
||||||
|
|
||||||
|
多人:LightMap + VolumenGI
|
||||||
|
单人:Lumen
|
||||||
|
|
||||||
|
## LightMap
|
||||||
|
制作效率限制
|
||||||
|
|
||||||
|
## VolumnGI
|
||||||
|
性价比并没有想象中那么高,感知不强。容易掉进开发陷阱。
|
||||||
|
|
||||||
|
### 防漏光
|
||||||
|
需要告诉美术如何解决漏光问题。
|
||||||
|
J3:所有墙体大于0.25m,就不会漏光。小于0.25 使用Hack方法
|
||||||
|
|
||||||
|
### 稀疏体素树 openvdb
|
17
02-Note/演讲与教程笔记/虚幻开放日2025/超越PrintString:虚幻引擎调试工具极速巡览.md
Normal file
17
02-Note/演讲与教程笔记/虚幻开放日2025/超越PrintString:虚幻引擎调试工具极速巡览.md
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
---
|
||||||
|
title: Untitled
|
||||||
|
date: 2025-08-22 13:36:51
|
||||||
|
excerpt:
|
||||||
|
tags:
|
||||||
|
rating: ⭐
|
||||||
|
status: inprogress
|
||||||
|
destination:
|
||||||
|
share: false
|
||||||
|
obsidianUIMode: source
|
||||||
|
---
|
||||||
|
|
||||||
|
#
|
||||||
|
## BuildGraph
|
||||||
|
-ListOnly
|
||||||
|
-Preprocess
|
||||||
|
|
52
02-Note/演讲与教程笔记/虚幻开放日2025/高通移动端插帧技术介绍.md
Normal file
52
02-Note/演讲与教程笔记/虚幻开放日2025/高通移动端插帧技术介绍.md
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
---
|
||||||
|
title: 高通移动端插帧方案
|
||||||
|
date: 2025-08-22 13:40:42
|
||||||
|
excerpt:
|
||||||
|
tags:
|
||||||
|
rating: ⭐
|
||||||
|
status: inprogress
|
||||||
|
destination:
|
||||||
|
share: false
|
||||||
|
obsidianUIMode: source
|
||||||
|
---
|
||||||
|
# 类型
|
||||||
|
1. 基于图像的插帧:G-FRC
|
||||||
|
1. 功耗低、扩展性强、介入成本低。
|
||||||
|
2. 基于3D信息的插帧:AFME2.0
|
||||||
|
1. 功耗中、扩展性中、介入成本中,游戏需要渲染速度信息。
|
||||||
|
3. 基于AI
|
||||||
|
|
||||||
|
# 高通方案
|
||||||
|
PS. 部分方案不分平台,可在非高通芯片上运行。
|
||||||
|
|
||||||
|
- GPU
|
||||||
|
- adreno图像运动引擎1.0:
|
||||||
|
- 基于图像的插帧
|
||||||
|
- 支持内外插帧
|
||||||
|
- 支持30->60,45->90,60->120。
|
||||||
|
- 可扩展
|
||||||
|
- Adreno图像运动引擎2.0:
|
||||||
|
- 基于3D信息,需要速度与深度Buffer、转换矩阵。
|
||||||
|
- 支持内外插帧
|
||||||
|
- 支持30->60,45->90,60->120。
|
||||||
|
- 高通提供Lib
|
||||||
|
- 优势:
|
||||||
|
- 低延迟
|
||||||
|
- 平台支持率高
|
||||||
|
- 支持GLES与VK
|
||||||
|
- 游戏
|
||||||
|
- 逆水寒
|
||||||
|
- 鸣潮
|
||||||
|
- NPC
|
||||||
|
- G-FRC+
|
||||||
|
- 不需要开发者集成。手机厂商实现。
|
||||||
|
- 支持超分与插帧。
|
||||||
|
- AI FRC 2.0
|
||||||
|
|
||||||
|
# 相关资料
|
||||||
|
- https://www.qualcomm.com/developer
|
||||||
|
- https://www.qualcomm.com/snapdragon/gaming
|
||||||
|
- https://www.qualcomm.com/developer/snapdragon-game-toolkit
|
||||||
|
- https://docs.qualcomm.com/bundle/publicresource/topics/80-78185-2/guides.html
|
||||||
|
- https://github.com/SnapdragonStudios/snapdragon-gsr
|
||||||
|
- https://www.qualcomm.com/developer/blog/2024/03/gpu-motion-estimation-improved-handing-repeating-patterns
|
Reference in New Issue
Block a user