UnrealFest2025笔记

This commit is contained in:
2025-09-06 19:50:39 +08:00
parent 4ba4924da5
commit d79b1b2398
8 changed files with 421 additions and 0 deletions

View 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. PLASLevel打包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

View 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. 延迟

View 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+AAttach 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
将数据写入CPUGameplay的节点。
## Translucenty Overlay Materials(重要)
可以用于控制阴影
## Post Process Material Chain Plugins重要
后处理结果渲染到RT上。
## Console Variable重要
## ABTest功能
abtest showflag.fog 0 1
abtest stop

View 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
- CueUX、特效、材质、音效
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模版配置。
- EffectEffect模版增益/减益类型、修改属性方式、阻塞/驱散关系等
- Status底层细粒度状态控制不可移动、不能跳跃、控制不同类型的状态等
1. Buff系统
1. 每个技能独立
2. 引用Effect
3. 1000+
2. Effect
1. 英雄共性效果
2. 引用Status
3. Status
### 特效表现
- CueDataProxyGameplay来传递额额外信息到GameplayCue。
- DataInterfaceNiagara通过这个玩意来获取Gameplay层的底层数据。
#### 示例
qi
### 基建开发
#### 检测管线
新规则加入不会影响旧的检测配置。
# 预测机制
- FScopedPredictionWindows通过构造与析构来标定预测逻辑的生命周期窗口。
- FpredictionKey预测的唯一标识。
## 对Key进行层级分布
### 层级分布Key的好处
具备关联性。
### 回滚所有行为
- 可回滚
- 激活、结束等流程动作(结束)
- 冲刺位移等客户端输入行为(拉回)
- 法术场、召唤物等独立实体(销毁)
- 能量、弹药等主段消耗(重置)
- 不回滚
- 动画、特效、UI等纯表现行为
- 投射物、瞬时弹道(一次性)

View 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角色接入反射

View 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

View 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

View 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->6045->9060->120。
- 可扩展
- Adreno图像运动引擎2.0
- 基于3D信息需要速度与深度Buffer、转换矩阵。
- 支持内外插帧
- 支持30->6045->9060->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