From cd0ebaded67bdef3d654839571d3b1700f0fbf1c Mon Sep 17 00:00:00 2001 From: BlueRose <378100977@qq.com> Date: Tue, 1 Apr 2025 21:30:55 +0800 Subject: [PATCH] vault backup: 2025-04-01 21:30:55 --- 07-Other/简历/WY面试相关_v2.md | 79 ++-------------------------------- 1 file changed, 3 insertions(+), 76 deletions(-) diff --git a/07-Other/简历/WY面试相关_v2.md b/07-Other/简历/WY面试相关_v2.md index 4792e23..2d9c901 100644 --- a/07-Other/简历/WY面试相关_v2.md +++ b/07-Other/简历/WY面试相关_v2.md @@ -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%),大量Puerts(50~60%),蓝图(5~10%)构成。 -2. 满足导播切镜头的需求,可以先从24个镜头中(可以通过SteamDock翻页)选择想要镜头,之后再PVW预览觉得OK后,通过切镜让PGM也开始播放这个镜头。 - -- 地图控制: - - 加载指定表演区域(采用大世界系统,提前加载,UE4版本采用的是关卡流) - - 控制天气、昼夜循环、天空盒。 - - 添加地图道具、特效。 - - 控制表演区域的特殊功能。 -- 角色换装&道具: - - 角色换装 - - 身体各部位的道具 - - 特效 -- 动捕&面部&手套控制 - - 动捕、面部、手套数据ID对应。 - - 脚步着地。 - - 动捕时间戳同步。 - - 动捕道具控制。 -- 渲染机画面通过采集卡+视频线传到显示器上 - + ### 渲染管线 & 材质系统 #### 渲染管线 -为了能在其他线下场所进行直播(替换官方引擎的USH与USF),ASoul的引擎只使用材质与修改UE Shader的方式来实现卡渲。 +ASoul卡渲方案具备兼容性,将Shader文件覆盖到官方引擎中,就能正常渲染ASoul的卡渲效果。 主要的逻辑是: 1. 在FGbufferData中添加额外的卡通渲染用变量,之后在DeferredShadingCommon.ush的Encode/Decode函数从GBuffer进行Encode/Decode。 @@ -188,15 +160,6 @@ obsidianUIMode: source #### 材质文档编写 天气系统采用纯蓝图 + DataTable(Curve、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 - -# 赛车 \ No newline at end of file