vault backup: 2025-04-01 21:30:55

This commit is contained in:
BlueRose 2025-04-01 21:30:55 +08:00
parent 919e3a9860
commit cd0ebaded6

View File

@ -80,8 +80,6 @@ obsidianUIMode: source
- 日常的疑难问题解决
- 优化场景性能
- 工作流优化搭建SVN、Perforce服务并且手把手教会同事推广UE的Muti-Users。
## 2023崩坏3音乐会
- 工作内容:提供场景优化方案与现场技术支持。
- 难点:
@ -139,37 +137,11 @@ obsidianUIMode: source
- 技术答疑
- 日常问题解决
- 搭建协议服务与工作流
另一个位更加偏向于虚拟偶像直播,是技术负责人:
- 动捕 & 动捕棚搭建,相关问题解决。
- 网线 & 工位改造。
- 直播相关问题解决。
### 导播台架构
采用C/S分布式架构即专用服务器作为终端其他控制客户端分别控制(服务端会检测客户端身份)。
采用这种分布式架构的原因是:
1. 可以防止All in Boom的问题。控制用客户端挂掉或者电脑出现硬件问题也可以通过其他电脑打开该类型的控制客户端重新运行。该系统主要由 c++为主要底层20~30%大量Puerts50~60%蓝图5~10%)构成。
2. 满足导播切镜头的需求可以先从24个镜头中可以通过SteamDock翻页选择想要镜头之后再PVW预览觉得OK后通过切镜让PGM也开始播放这个镜头。
- 地图控制:
- 加载指定表演区域采用大世界系统提前加载UE4版本采用的是关卡流
- 控制天气、昼夜循环、天空盒。
- 添加地图道具、特效。
- 控制表演区域的特殊功能。
- 角色换装&道具:
- 角色换装
- 身体各部位的道具
- 特效
- 动捕&面部&手套控制
- 动捕、面部、手套数据ID对应。
- 脚步着地。
- 动捕时间戳同步。
- 动捕道具控制。
- 渲染机画面通过采集卡+视频线传到显示器上
### 渲染管线 & 材质系统
#### 渲染管线
为了能在其他线下场所进行直播替换官方引擎的USH与USFASoul的引擎只使用材质与修改UE Shader的方式来实现卡渲
ASoul卡渲方案具备兼容性将Shader文件覆盖到官方引擎中就能正常渲染ASoul的卡渲效果。
主要的逻辑是:
1. 在FGbufferData中添加额外的卡通渲染用变量之后在DeferredShadingCommon.ush的Encode/Decode函数从GBuffer进行Encode/Decode。
@ -188,15 +160,6 @@ obsidianUIMode: source
#### 材质文档编写
天气系统采用纯蓝图 + DataTableCurve、Parameter+ 材质制作。
### 动捕 & 动画系统
有一个名叫MotionProcessor的客户端负责收集各种动捕&面捕&手套信息。
#### 动捕
动捕系统用的是青瞳,为了解决因为动捕系统延迟抖动问题以及其他客户端获取数据需求。这里采用这个方案:
- 在接收到原始诗句后按照时间戳进行采样。新开线程接收120ms的数据
- 发送给一个c#编写的程序,进行数据广播。
- 各个客户端在接收动捕数据后,还会根据时间戳再次采样(动画节点)
- MotionProcessor中的角色与直播角色共用同一个动画蓝图不同的逻辑与节点通过一个Bool变量进行区分。
除此之外还需要处理动捕道具的逻辑(一些道具黏上动捕反光点,可以与虚拟世界的道具同步位置)
#### 面捕
使用Unity + Arkit实现一个面捕App主要为了实现
1. 突破52个BlendShape限制。
@ -204,32 +167,11 @@ obsidianUIMode: source
3. 限制一些NG表情。
可以看到这个节点可以添加一个DataAsset里面的数据都是由中台的dcc工具根据maya工程中角色的BlendShape生成csv再导入UE生成。
#### ChaosBone
使用CUDA编写的物理系统整合了KawaiiPhysical、SPCR Joint Dynamics
主要用于模拟布料以及刚体(头发)
主要解决了:
- 效率问题
- 布料穿模问题
### 除了解析之外我还做了哪些工作
- 摸索出
- 日常解决地编、动捕、建模、导播同学的问题。
- 一些效果、道具制作。
#### 日常问题解决
- 较容易解决的,通过截图,并在图上附上操作步骤与箭头指示,示意解决方案。
- 一些容易重复的问题会编写知识库文档,之后发送文档链接。
- 一些复杂问题会直接录视频告知解决方法。
#### 乐华 实时演出 / 预录制演出切换 适配
之前ASoul全都是实时直播比较容易出直播事故。乐华的方法是半直播半录制才艺、跳舞、表演这样可以大大降低失误概率。
需要用导播系统进行切换RootMotion Enable/Disable 与 Runtime修改动画蓝图中Montage Slot中动画资产
难点:
- 各种后续bug修复。比如
- 道具bug。
- 开发电脑与直播电脑效果不同。
- PVW与PGM效果不同。
- 乐华不像字节有配备测试用电脑只能卡在直播、排练、QA空隙进行测试。
#### 版本管理 & 协作
先后搭建SVN与Perforce进行版本管理与协作。
弃用SVN的原因是
@ -240,22 +182,7 @@ obsidianUIMode: source
采用邪道方法为公司节约成本使用免费版本的Perforce
1. 采用不同电脑同账号登录。工作区与Commit进行严格命名控制。工作区命名格式地区_职位_名字缩写。Commit标题添加名字缩写。
2. 因为开发人数在18人左右一套直播系统需要9台机器。所以开发组使用一个Perforce服务直播间使用另一个Perforce服务。由QA同学验收后切换P4V服务地址再进行上传。
异地采用Perforce Proxy Serverer
异地采用Perforce Proxy Serverer
#### 大型活动优化
【【A-SOUL】贝拉 2024.07.20 星之回响-贝拉生日演唱会【直播录像】】 https://www.bilibili.com/video/BV1TE421w7ae/?share_source=copy_web&vd_source=fe8142e8e12816535feaeabd6f6cdc8e
# 一些成果
## 定制UE5渲染管线功能
### 2020年尝试Forward渲染
### BasePass & ToonDataAsset & OutlineDataAsset
### Shadow
### LightingPass
### Reflection
### PostProcess
# 赛车