2024-11-06 23:19:01 +08:00
# Client动捕虚拟偶像直播
2024-11-10 21:39:13 +08:00
- 快速/高效迭代管线
- 初期迭代:
- 程序& TA: 提取其他游戏与软件的资产作为构建捏脸系统的资源, 并且构建捏脸系统, 到美术可使用的级别。提取资产来源: 各个资源风格都会不同, 建议分别独立使用。
- 卡通风格:
2024-11-10 23:14:47 +08:00
- Vroid Studio
2024-11-10 21:39:13 +08:00
- 蓝色协议
- Honey Select2
- 3D定制女仆2
2024-11-10 22:38:16 +08:00
- FF14?
2024-11-10 21:39:13 +08:00
- 写实风格:
- DAZ3D
- MetaHumanCreator?
2024-11-10 23:14:47 +08:00
- 自动绑定?
2024-11-10 21:39:13 +08:00
- 美术: 美术同学使用该系统给客户定制时, 发现缺少某个形变方向的BS时提单。之后进行制作补充。
- AI:
2024-11-11 10:26:45 +08:00
- 使用大致的体型简笔画图片( 可交互的三视图, 可以调整三视图的体型; 同时会与BS的参数同步) 或者照片计算出大致符合体型区间的BS组合( 几个风格分别计算) 。
2024-11-10 21:39:13 +08:00
- 使用大致的脸部简笔画图片或者正面照片计算出大致符合的脸部BS组合。
2024-11-10 23:14:47 +08:00
- 自动绑定?
2024-11-10 21:39:13 +08:00
- 中期迭代:
- 程序& TA: 主要完善各种捏脸细节, 制作物理、场景效果、构建面向用户的客户端。准备跑通整个流程。
- 实现骨骼 < => BS互相转换工具以及混合方案。
- 将ML Cloth& Muscle
- 美术:除了制作脸部& 身体,开始制作头发、衣服以及其他道具与身体细节。
- AI:
- 使用大量的真人& 各种卡通角色的身体截图& 脸部截图来验证, 捏脸系统的缺少的方向, 给美术提供迭代方向。( 可以配合AI生成图片技术)
2024-11-10 22:38:16 +08:00
- 项目对象
- **个人主播**
- **小团队主播**: 1个演员+2~3人。
- 中型团队: 1个演员+1~2导播+技术人员若干+运营若干。
- 项目需求
- 捏人系统、道具、方便的加载资产以及相关商城, 参考Vroid以及booth.pm。
2024-11-10 23:14:47 +08:00
- 【VRoid Studio新功能测试中! Booth买VRCHAT衣服终于可以用在VRoid里】 https://www.bilibili.com/video/BV1Mw411G78r/?share_source=copy_web& vd_source=fe8142e8e12816535feaeabd6f6cdc8e
2024-11-10 22:38:16 +08:00
- 可以实时加载模型、贴图、视频等并且显示。
- 最好有个一键载入Fab或者Unity商城资产的功能。
- 可以适应多种风格方便迭代的卡通渲染功能。
- 场景控制(道具、灯光、环境、后处理)
- Electric + UE5(Puerts) 快速构建导播台功能。
- 动捕& 面部系统接入。
2024-11-10 23:14:47 +08:00
- 【VRoid人狂喜! 速通VRM Live Viewer个人使用经验分享【附渲染滤镜配布】】 https://www.bilibili.com/video/BV1FZxCe5Ewu/?share_source=copy_web& vd_source=fe8142e8e12816535feaeabd6f6cdc8e
2024-11-10 22:38:16 +08:00
- 性能优化比较好。
2024-11-10 23:14:47 +08:00
- 快速迭代建议
- 场景
- 小关卡: MultiUserServer多人协作+多个协作用子Level。
- 大世界:版本管理做好就行。
- USD流程?
- 自动测试框架 & 可视化日志:高频迭代后,可以构建。
- CI/CD + UnrealGameSync + Unreal Zen: 构建打包引擎并且拉新。
2024-11-10 21:39:13 +08:00
2024-11-06 23:19:01 +08:00
- AI动捕优化思路:
1. 模仿ChaosBone, 使用CUDA直接读取Bone动画数据并且传递给动画蓝图。( CUDA具有访问指定显存的功以此节约io损耗) 假定用户使用双显卡( 渲染/直播推流) 将AI动捕的负荷移动到另一张卡上。
2. 使用多线程与帧采样解决数据抖动问题。同时可以略微降低ai动补的性能要求。
- 卡通渲染:
2024-11-07 20:09:40 +08:00
1. 兼容VRM格式。( VoidHUB)
2024-11-10 21:39:13 +08:00
1. 同时不断往里面添加自己规范( 成为VRM的超集)
2024-11-06 23:19:01 +08:00
2. 兼容多种渲染风格, Unity-Chan、VRM、罪恶装备等。并在此基础上尝试研发下一代卡通渲染风格。
1. 需要一种能够向渲染管线传递大量参数的功能:
1. 增加GBuffer数量。
2. 前向 + 延迟管线。( Forward+)
3. 低频数据查表法。
2. 插画& 厚涂, 使用GI、反射、天光散射等多种外界因素, 以曝光度& 时间为尺,融合在一起。
3. 需要收集插画作品PSD源文件, 对风格进行分类之后, 对图层进行分类。尝试用图形算法与AI尝试还原每个图层。
4. 参考日本动画有关 “摄影”的方法( AE) , 并且在UE中实现。
5. 以4个时间段& 天气环境状态制作LookDev场景, 并且保证时间循环下效果平滑( 需要调整曲线)
2024-11-07 20:09:40 +08:00
6. Lumen以及MageLight ReSTIR的支持。
3. AI
2024-11-10 21:39:13 +08:00
1. 渲染管线里5.3已经支持神经网络( NNE) 接口。 其中一种方法使用ONNX。
2024-11-07 20:09:40 +08:00
4. 对c端用户来说:
2024-11-06 23:19:01 +08:00
1. 需要一个简单出效果的东西。简单调节参数。
2. 有几个风格模版。
2024-11-10 21:39:13 +08:00
5. 一个角色的渲染控制资产:基础材质(参数+贴图) 、ToonDataAsset。方便管理与迭代。
2024-11-06 23:19:01 +08:00
- 面捕& VMC:
1. 抖音既然是一个全球性的平台, 在兼容VMC与LiveLinkFace的基础。进行扩展, 比如VMC中增加更多的场景控制、整活互动功能。使用ARKit开发类似FaceMask的工具, 让用户可做出更多的表情与表演效果。
2024-11-10 21:39:13 +08:00
1. 考虑对VMC协议进行改造, 添加TCP、Protobuf支持。
2024-11-06 23:19:01 +08:00
2. 面捕矫正问题。
- 参考[MuRo_CG ](https://www.youtube.com/@muro_cg )的作品。
1. 直播工具。
2024-11-10 21:39:13 +08:00
2. 辅助番剧制作工具。
2024-11-06 23:19:01 +08:00
- 捏脸& 资产上传:
1. 捏脸: 如果是二次元, 为了实现最好的效果得选择全骨骼方案。为了直播的话得选择BS& 骨骼。
2. 资产上传(资产库)
1. 考虑使用Puerts Editor服务化方法, 或者使用CommandLet + Server的方法, 处理好资产再通过Pak热更新到本地。
2. Runtime读取FBX、GLTF、MP4、Texture, 并且在本地显示。( 也可以考虑流送)
- VRCha& 元宇宙& VisionPro& Pico
2024-10-24 23:32:01 +08:00
2024-11-06 23:19:01 +08:00
# 工作内容
2024-10-30 23:35:14 +08:00
1. 根据项目需求,负责UE4引擎的功能和效果开发、性能优化等相关工作;
1. 给ASoul项目做全面的技术支持以及功能开发
1. 功能开发。
1. 比如VJ播放系统添加NDI源。
2. 给导播台添加某个特定功能道具。
3. 脱离字节的系统,做一些定制开发。比如使用镜头控制+Sequence来控制表演效果。
2. 卡通材质制作。
1. 解析渲染与材质系统并且编写文档。
3. 动画、物理、动捕、美术效果方面的支持。
4. 大活,重要表演节目的优化。
5. 解决疑难杂症。
1. 群集系统渲染错误。
2. 一些老道具功能不正常。
2. 优化方面的工作做的比较多,擅长使用各种工具定位性能瓶颈,再在综合考量后给出优化方案。
2024-11-01 16:12:01 +08:00
1. 2023 崩坏3线下音乐会。
1. 优化目标 2048*1080 50帧 => 3440 * 1440 50帧, 4K之下众生平等。
2. DMX: 使用的是官方插件还是有较大的优化空间。
1. DMX的灯的模型是StaticMesh, 而非StaticMeshInstance。
2. 禁用非重要DMX的LightComponent。可在Sequence中根据镜头变化来K帧开启。
3. 修改光束材质参数, 通过参数调整光束材质参数改变光束大小与RayMarching步数, 以此减少光束RayMarching的性能损耗。
4. 避免大量光束灯直接朝向摄像机。
3. 场景
1. 删除场景中不可见与毫无意义但占用性能较多的模型。
2. BasePass成为瓶颈的场景进行MergeActor与模型转换成Nanite的操作。
3. 远景物体关闭CastShadow。
4. 光照:在保证效果不会有太大变化的情况下,进行一下修改。
1. 关闭影响非常不明显,但性能损耗较大的灯的级联阴影或者开启距离场阴影来代替。
2. 使用调整SourceLength的点光源来代替面光源。
3. 对于需要投射阴影的点光源, 则使用SpotLight来代替, 并且调整级联阴影的参数。
4. 调整角度较大、亮度较低的SpotLight。
5. Lumen & GI: 针对
1. 针对那些GI对光照贡献并不明显的户外场景: 降低Lumen质量、减少Tracing距离。
2. ScreenSpaceGI: 针对镜头不怎么动的场景, 改用此GI。
6. 透明物体 & 粒子
1. 在不影响效果的情况下, 将BlendMode Translucent=>Additive。
2. 针对透明区域较大的粒子, 使用Cutoff功能, 对粒子进行裁剪来进行优化。
3. 调整带有RayMarching的商场资产参数( 比如Nebula) , 在效果不不会发生大变化的情况下提升性能。
7. 特殊情况
1. 节目: NightGlow。场景有使用大量StaicMesh + Nigara制作舞台破碎效果。且有80%的模型形状相同。
1. 在对相同模型进行统计之后, 将所有模型都替换成一个StaticMesh, 并且进行Nanite + StaticMeshInstance。并且修改了材质, 将里面的将里面的ObjectPosition节点改成float3(0,0,0) => TransformPosition(Instance& ParticleSpace)。
2. 节目: L_Dacapo6。场景里有大量草地。使用上面一样的方式进行优化。
8. ASoul
1. 平面反射的错误使用。优化一些商城资源里的错误用法。
2024-11-06 21:58:13 +08:00
2. 角色过多造成的CPU GameThread性能瓶颈。新建一个子类, 干掉没用的Component与Tick逻辑来解决。
2024-11-01 16:12:01 +08:00
3. CPU粒子造成的性能瓶颈。
4. DMX.
5. 使用Sequence K掉一些性能影响较大的Actor。
2024-10-30 23:17:03 +08:00
2. 2024 ASoul 贝拉 & 乃琳 生日会 。
2024-11-01 16:12:01 +08:00
3. ** *优化思路***
1. 首先通过Stst Unit、ProfileGPU确定瓶颈是CPU( GameThread、RenderThread) 、GPU。之后进行进一步的分析。
2024-10-30 23:35:14 +08:00
2. 工具
1. Stat Unit、FPS。
2. RenderDoc + ProfileGPU。
3. UnrealInsight。
2024-11-04 17:31:29 +08:00
3. 程序完全没有问题,语言方面,修改渲染管线。说明现在正在开发的卡通渲染引擎与之后的路线图。
2024-10-30 22:26:35 +08:00
1. 接手ASoul项目。
2024-10-30 23:17:03 +08:00
2. c++/Puerts/蓝图项目。20% / 70% / 10%
2024-11-01 16:12:01 +08:00
2. 卡通渲染引擎。***TODO***
2024-10-30 22:26:35 +08:00
3. 后续路线图。
2024-11-05 23:12:03 +08:00
- ToonOutline
- SDF Outline & SDF工具( 没有对应16位)
- RayTracing Outline
- ToonRimLighting
- ToonReflection
- 控制自定义反射
- 兼容Matcap方式。
- ToonShadow
- 阴影偏移
- 半分阴影
- CustomShadow
- Toon GI( Lumen)
- 向下采样
- 平滑法线采样
- 兼容Matcap方式的局部照明效果
- ToonTranslucent
- 睫毛眉毛偷过头发
- 透明物体描边
- ToonPostProcess
- 晕染效果
- ToonDiffusion: 对场景亮部进行降采样, 之后将亮度信息叠加到Toon物体的暗部上。
- Anti-ToneMapping
- 延迟 + 前向混合管线(原神)
2024-10-30 23:17:03 +08:00
4. 其他技术栈。Nodejs系列的前后端APP; Qt、Pyside2;
2024-11-04 17:31:29 +08:00
4. 手游美术效果研发
2024-11-03 20:37:21 +08:00
- 重点就是跟项目侧对齐下探机型,以及根据最低机型来做效果对齐。
- 针对机型分档提供一套美术效果方案,最高开哪些特性,中档开哪些特性,低档开哪些特性。跟项目定好的规范再去框技术方案。之后再拆分每个模块细节,进行深入分析。
- 评估很多相对再PC上表现效果好的技术, 能不能在进行一些算法简化后, 移植到移动端。
2024-11-04 17:31:29 +08:00
5. 手游平台的优化
2024-11-03 20:37:21 +08:00
- 根据项目类型不同,侧重不同的优化方向:
- 大世界项目, 主要针对场景性能优化。比如定制距离加载策略、场景HLOD、植被按距离控制WPO等。
- 箱庭类ARPG项目, 会着重于战斗与表演效果。所以会集中于材质、特效方面的优化
- 特效粒子数。
- 材质指令数目是否超标。
- 一些渲染Pass的性能占用情况。
- 优化策略
- 一般通过延迟毫秒数去判断某个效果是否值得优化。首先会对所有效果进行排序, 0.2毫秒以上的重点关注, 0.5毫秒以上的重点处理。
2024-10-24 23:32:01 +08:00
2. 增强游戏的表现力与运行效率,对业务需求进行评估并进行方案的实现与落地;***TODO***
1. 多技术栈,方案会有更多的考量。
2. 针对手游平台, 手游是pc效果上做了效果与精度上的减法。比较差异差异之后, 综合考虑性能损耗与效果提升, 建立效果实现表。进行有计划的提升。根据手机性能开启对应的效果。
3. 比如云,以原神为例子。
2024-11-01 21:43:31 +08:00
3. 负责游戏中性能优化相关工作,根据项目需求定制增改Unreal4引擎底层功能;
2024-10-23 23:37:30 +08:00
1. 优化项目举例,参与多个项目。
2024-11-01 21:43:31 +08:00
2. 定制的一些引擎功能展现卡通渲染定义功能。***TODO***
2024-10-29 22:53:24 +08:00
4. [x] 根据项目的需求搭建高效的内容制作管线,提高团队的研发效率;
1. 版本管理相关: 搭建过Git、P4、SVN服务器, 并且熟练使用。使用P4 Trigger来解决资产大小写问题、以及实现修改新建工作区默认配置功能。
2024-10-30 23:18:44 +08:00
2. 熟悉UE引擎打包流程( AutomaticTools BuildGraph) , 打包Android、IOS的包。为了打包IOS, 还玩了AMD黑苹果。
2024-10-29 22:53:24 +08:00
3. 熟悉UECommandLet, 写过若干自动化处理工具。
2024-11-03 20:37:21 +08:00
4. 制作各种编辑器工具。可以根据资产制作思路制作Lookdev工具。NPR有一套独特的思路。
2024-10-29 22:53:24 +08:00
5. 使用Python编写Maya与Blender工具: Maya批量转换Biped骨骼资产 => UE骨骼; Blender重定向工具服务化、提取UE Psk、Psa => Fbx。
6. Puerts Editor: 服务化。
2024-10-23 22:07:03 +08:00
5. 关注业界新技术,根据项目的需求预研并应用到项目的后续开发中。
2024-10-24 23:32:01 +08:00
1. 除了关注zhihu与B站之外, 查看每年的uod视频。因为关注卡通渲染的关系, 会看cedec的一些卡通渲染相关分享, 主要以记录为主。
1. CEDEC 2021的蓝色协议系列文章。***TODO***
2024-10-30 22:26:35 +08:00
1. ToonLighting:
1. 高光 Mask UV偏移。
2024-10-30 12:48:27 +08:00
2. 描边: PostProcess(ID + Depth + Normal) + BackFace Outline。
3. 边缘光: 基于后处理的RimLighting。
4. 阴影偏移方案:
2024-10-30 22:26:35 +08:00
5. 其他方案:
2024-11-04 17:31:29 +08:00
1. 角色捏人、表情
2024-11-05 20:05:07 +08:00
1. Girls Band cry
2. 蓝色协议使用全骨骼的表情方案:
2024-11-04 17:31:29 +08:00
1. 眉毛37个、眼睛42个、 嘴巴53个、轮廓/鼻子18个
2024-11-04 20:12:55 +08:00
2. 捏脸
- 骨骼
- BlendShape
- 贴花
- 参考游戏
- DAZ3D
- 恋爱活动2
- Honey Select
- VAM
1. 身体分成多个部分,且每个部分采用公共骨骼。
- 部位
- 帽子
- 后头部
- 头发
- 脸
- 手
- 上半身
- 下半身
- 脚
- 内衣
- 身体数据, 使用自定义的数据资产进行管理( ID) 。
1. 身体部分与数值偏移
1. 子组件
1. 数值类型
2. 骨骼ID
3. 默认值
4. 最小最大值
- 衣服
1. 使用骨骼来控制衣服长短?
- 头发
1. 为同一个发型制作多种头发来适配不同的帽子
2. KawaiiPhysics
- 表情
1. 25种基础表情
2. 嘴部的轮廓是双层的,以此来实现漫画中的效果。
3. 脸部调整了法线,来解决面部阴影问题。
2024-10-24 23:32:01 +08:00
2. CEDEC 2023
2024-10-29 22:53:24 +08:00
1. BMG Dream。
2024-10-24 23:32:01 +08:00
3. CEDEC 2024
1. 学院偶像大师分享。
2. 次世代 NPR の輪郭線表現
4. 部分分享没有公开实属可惜, 比如2022的异度神剑3没有及时下载, 视频没了, 还好知乎有人分享心得。
2024-11-04 17:31:29 +08:00
6. 根据需求查看gdc的文章。
2024-10-30 12:48:27 +08:00
1. FastSSS。
2024-10-24 23:32:01 +08:00
2. GDC 2004 Marschner Hair paper的Kajiya-Kay Model
2024-11-04 17:31:29 +08:00
6. 捏脸
7. 最后问问题
2024-10-30 23:17:03 +08:00
1. 如果我没有通过面试,那可能是什么方面的原因?***TODO是否可以以及有必要问? ***
2024-11-03 21:24:57 +08:00
职位描述
1、负责技术美术相关功能, **完成诸如材质/Shader开发/渲染特性/工具管线等功能的实现和调优**,提升项目表现效果;
2、发现美术制作各个环节中的需求和问题, 并与程序、美术等职能的同事紧密合作, 提供支持, 完善流程, 提升效率;
3、配合美术、引擎同事**制定项目资源、性能规范和配套的自动化检测工具**,并确保规范和工具在项目中的落地。
职位要求
1、本科及以上学历, 计算机及相关专业;
2、**良好的图形学基础,熟悉常用渲染管线及渲染底层原理,熟悉至少一种常用游戏引擎**;
3、良好的审美, 对**材质、灯光**等影响渲染效果的因素有辨识能力,了解业内顶尖效果并**制定优化**方向;
4、**熟悉HLSL和Shader开发**;
5、**熟悉renderdoc等profile工具, 能定位和解决项目中的渲染问题**;
6、熟悉常用的DCC软件, 例如**MAYA**、ZBrush、Substance系列、**Photoshop**、**Blender**等。
加分项:
1、熟悉UE5引擎, 有蓝图和c++基础;
2、有3A游戏/数字人等具有顶尖表现效果的项目经验;
3、有捏脸/角色制作系统经验;
4、~~有PCG方向经验~~, ***能设计基础生成能力并对接部门提供的AIGC能力***;
5、熟悉角色动捕/**动画方向优化**,熟悉角色动力学/物理方向优。