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