158 lines
10 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

时间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确定瓶颈是CPUGameThread、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系列的前后端APPQt、Pyside2
11. **美术效果落地**
12. **针对手游平台**:
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工具等等这种基本中台都会围绕这些进行开发
但说来这不是你一个人干的事儿
这个中台团队,二十多号人呢
也是开发了好几年 而且是边开发边定制
切实的去项目中落地确定需求,回来再开发,开发完把功能集合到中台工具里,变成融合代码一部分
(你走了什么都带不走)