时间30min~60min 工作内容 1. 根据项目需求,负责UE4引擎的功能和效果开发、性能优化等相关工作; 1. 给ASoul项目做全面的技术支持以及功能开发 1. 功能开发。 1. 比如VJ播放系统添加NDI源。 2. 给导播台添加某个特定功能道具。 3. 脱离字节的系统,做一些定制开发。比如使用镜头控制+Sequence来控制表演效果。 2. 卡通材质制作。 1. 解析渲染与材质系统并且编写文档。 3. 动画、物理、动捕、美术效果方面的支持。 4. 大活,重要表演节目的优化。 5. 解决疑难杂症。 1. 群集系统渲染错误。 2. 一些老道具功能不正常。 2. 优化方面的工作做的比较多,擅长使用各种工具定位性能瓶颈,再在综合考量后给出优化方案。 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. 平面反射的错误使用。优化一些商城资源里的错误用法。 2. 角色过多造成的CPU GameThread性能瓶颈。 3. CPU粒子造成的性能瓶颈。 4. DMX. 5. 使用Sequence K掉一些性能影响较大的Actor。 2. 2024 ASoul 贝拉 & 乃琳 生日会 。 3. ***优化思路*** 1. 首先通过Stst Unit、ProfileGPU确定瓶颈是CPU(GameThread、RenderThread)、GPU。之后进行进一步的分析。 2. 工具 1. Stat Unit、FPS。 2. RenderDoc + ProfileGPU。 3. UnrealInsight。 10. 程序完全没有问题,语言方面,修改渲染管线。说明现在正在开发的卡通渲染引擎与之后的路线图。 1. 接手ASoul项目。 2. c++/Puerts/蓝图项目。20% / 70% / 10% 2. 卡通渲染引擎。***TODO*** 3. 后续路线图。 4. 其他技术栈。Nodejs系列的前后端APP;Qt、Pyside2; 11. **美术效果落地**。 12. **针对手游平台**:1 1. 2. 增强游戏的表现力与运行效率,对业务需求进行评估并进行方案的实现与落地;***TODO*** 1. 多技术栈,方案会有更多的考量。 2. 针对手游平台,手游是pc效果上做了效果与精度上的减法。比较差异差异之后,综合考虑性能损耗与效果提升,建立效果实现表。进行有计划的提升。根据手机性能开启对应的效果。 3. 比如云,以原神为例子。 3. 负责游戏中性能优化相关工作,根据项目需求定制增改Unreal4引擎底层功能;***TODO*** 1. 优化项目举例,参与多个项目。 2. 定制的一些引擎功能展现卡通渲染定义功能。 4. [x] 根据项目的需求搭建高效的内容制作管线,提高团队的研发效率; 1. 版本管理相关:搭建过Git、P4、SVN服务器,并且熟练使用。使用P4 Trigger来解决资产大小写问题、以及实现修改新建工作区默认配置功能。 2. 熟悉UE引擎打包流程(AutomaticTools BuildGraph),打包Android、IOS的包。为了打包IOS,还玩了AMD黑苹果。 3. 熟悉UECommandLet,写过若干自动化处理工具。 4. 制作各种编辑器工具 5. 使用Python编写Maya与Blender工具:Maya批量转换Biped骨骼资产 => UE骨骼;Blender重定向工具服务化、提取UE Psk、Psa => Fbx。 6. Puerts Editor:服务化。 5. 关注业界新技术,根据项目的需求预研并应用到项目的后续开发中。 1. 除了关注zhihu与B站之外,查看每年的uod视频。因为关注卡通渲染的关系,会看cedec的一些卡通渲染相关分享,主要以记录为主。 1. CEDEC 2021的蓝色协议系列文章。***TODO*** 1. ToonLighting: 1. 高光 Mask UV偏移。 2. 2. 描边:PostProcess(ID + Depth + Normal) + BackFace Outline。 3. 边缘光:基于后处理的RimLighting。 4. 阴影偏移方案: 5. 其他方案: 1. 角色捏人、表情、 2. 配色方案。 2. CEDEC 2023 1. BMG Dream。 3. CEDEC 2024 1. 学院偶像大师分享。 2. 次世代 NPR の輪郭線表現 4. 部分分享没有公开实属可惜,比如2022的异度神剑3没有及时下载,视频没了,还好知乎有人分享心得。 2. 根据需求查看gdc的文章。 1. FastSSS。 2. GDC 2004 Marschner Hair paper的Kajiya-Kay Model 6. 最后问问题 1. 如果我没有通过面试,那可能是什么方面的原因?***TODO是否可以以及有必要问?*** 2. # 提问 冷兄,找平要求里这几个要求,针对美术与手游方面,我该用如何思路进行描述比较好?我缺乏和专业美术对接的经验,以及手游开发经验,所以想向冷兄请教: 1. 根据项目需求,负责UE4引擎的功能和效果开发、性能优化等相关工作;     1. 手游美术效果开发,有什么注意点?     2. 手游平台的优化,主要有哪些方面(美术)? 2. 增强游戏的表现力与运行效率,对业务需求进行评估并进行方案的实现与落地;     1. 美术方面有哪些迭代思路? 3. 根据项目的需求搭建高效的内容制作管线,提高团队的研发效率;     1. 请教一下你们团队拥有哪些美术制作工具?DCC软件、版本管理以及UE插件啥的。 # 冷兄回复 ## 1. 根据项目需求,负责UE4引擎的功能和效果开发、性能优化等相关工作; 1. 手游美术效果开发,有什么注意点? 手游的美术效果上最重要的就是性能和适配性,手机种类太多了,按道理,作为技术侧,重点就是跟项目侧对齐下探机型,以及根据最低机型来做效果对齐。当然也要评估很多相对再PC上表现效果好的技术能不能优化到移动端来实现。如果是渲染侧就针对机型分档提供一套美术效果方案,最高开哪些特性,中档开哪些特性,低档开哪些特性。跟项目定好的规范再去框技术方案。拆分每个模块细节,等等。。 2. 手游平台的优化,主要有哪些方面(美术)? 这要看什么类型的项目,最常见的办法找出性能瓶颈,如果是大世界,那么场景侧性能压力肯定是大。依据距离进行加载卸载释放内存之类的就比较重要,场景LOD相关的都要规范。如果植被较多还要控制WPO类的数量等等。 如果是ARPG或者箱庭类,表现测可能更加注重,特效粒子数啊,材质线程是否超标啦,一般都根据运行时的帧率延迟毫秒数去判断,0.2毫秒以上的重点关注,0.5毫秒以上的重点处理。这种。一般来说不做规范和收敛,美术会狂堆资源,各种后处理功能猛猛开,还有就是抗锯齿啥的。具体情况具体分析,还有就是沟通问题,美术觉得效果满意的功能未必在移动端能用的,如果不能用,那么需要跟TA一起找出替代方案。 优化方面各个项目侧重点都不太一样,有些很蠢逼的项目。。比如破晓,程序就挺烂的。。。客户端都占了不低的延迟 ## 2. 增强游戏的表现力与运行效率,对业务需求进行评估并进行方案的实现与落地; 1. 美术方面有哪些迭代思路? 迭代思路。。这个也要根据项目情况来唔。首先迭代不是问题,问题是先知道哪里是项目重点发力方向,然后依据方向多倾斜资源罢了 主要这个问题有点太泛泛了。。哪里都是迭代空间啊。而且基本都是TA提供思路罢了。引擎更多是依据思路实现 ## 3. 根据项目的需求搭建高效的内容制作管线,提高团队的研发效率; 1. 请教一下你们团队拥有哪些美术制作工具?DCC软件、版本管理以及UE插件啥的。 这两个其实一个问题,有些情况可能要写DCC工具或者插件,像成系统一点的。就像Lookdev工具,独立加密版本的引擎,给外包用。这是一些我接触到中台他们开发的工具 就包括不限于移动端的烘培+GI,和PCG工具等等这种,基本中台都会围绕这些进行开发 但说来这不是你一个人干的事儿 这个中台团队,二十多号人呢 也是开发了好几年 而且是边开发边定制 切实的去项目中落地确定需求,回来再开发,开发完把功能集合到中台工具里,变成融合代码一部分 (你走了什么都带不走)