最近看到了一篇关于技术美术这个岗位的分享文章,感觉不错,得到了很多启发。正好做下笔记,记录这些干货。
Technical Artist
TA主要的工作内容是给美术团队提供技术支持,提升美术资源的品质和制作效率。作为TA,不仅需要承担效果提升和性能优化的工作内容,还需要协调沟通美术和程序的工作。
基础工作
立项阶段工作
-
画质标杆
-
与程序、美术讨论引擎的选择,光照方案选择,图像特性,工具的开发。
-
插件和中间件的评估。
-
根据目标机型确定美术规格规范交予美术团队参考。
-
配合美术团队完成最终Demo,达到主美所提出的画面效果。
-
-
性能标杆
- 规范美术资源,在尽量不损失画质的前提下满足美术资源的性能要求 。
-
为后续的资源量产做保障
-
使用DCC软件里的制作资源检查工具确保资源正确性,制作资源导出工具提高资源导出效率。
-
制定美术资源的目录结构和命名规范,与美术人员合作制定美术制作流程和规范。
-
评估美术资源量和包体大小。 辅导美术人员熟习规范,流程和工具等。
-
项目中期工作
-
项目中期是美术资源量产阶段,需要解决美术资源制作过程中遇到的各种问题。
-
维护美术工具。
-
和程序一起做性能优化相关的工作。
-
同时跟进项目需求,推进完善引擎和编辑器。
-
开发新特性。(TA主要负责梳理整个流程,开发美术相关的工具,验证程序开发的功能以及调试效果。)
项目后期工作
-
通过分析性能不达标的美术资源,并给出优化方案。
-
分析和解决测试中出现的各种Bug。
工作总结
TA在立项阶段的工作内容投入最大,也是最重要的。理想情况下,TA的大部分工作是在项目前期完成,但现在很多项目的开发周期都比较短或项目前期TA投入不够,导致本应该前期完成的工作,延后到项目中期完成,或者是前期的工作做的不到位,导致后面再花费很多时间去弥补。
如何提升美术团队的研发效率
-
关注新工具的出现。当TA了解到新出现的高效工具时,要主动地进行评估和试用,如果发现工具可以提升当前的制作效率,就要推荐给美术人员。
-
在DCC软件里开发工具来加速美术资源制作。例如开发一个内部工具集,提供给美术人员使用。
-
给程序提一些工具相关的需求,同时配合程序完成,并输出给美术人员使用,从而提升美术制作效率。
-
通过程序化生成技术来提高美术生产效率。比如使用Substance Designer来制作程序化贴图,使用Houdini来制作程序化资源和制作关卡。程序化生成技术可以有效地节约制作成本。工作重心之一,这些技术在国外游戏团队中已经被广泛地应用。
如何平衡美术表现力与游戏性能
-
培养美术人员的性能意识,给美术人员普及一些性能相关的基础知识,让美术在产出资源时兼顾到性能。同时也要让程序人员重视画质表现。
-
制定明确的性能参考规范,这个规范需要美术人员和程序人员达成一致,美术人员需要严格执行这个规范。
-
合理设计性能预算,优先选择性价比高的特性。面对各种特性和方案,需要根据优先级做取舍。优先选择性能开销小,但对美术效果提升比较大的特性。所有这些特性都需要和程序,美术一起评估。和程序一起评估性能开销,和美术一起评估对效果有多大提升,最后综合评估是否采用。
-
做好高中低画质切换的设置。讨论效果方案时一定要兼顾低端画质配置。在评估一些特性需求时,首先要考虑会不会影响到低配机的性能。如果有影响,就需要相应地采取一些措施。要么在低配机上制定一个低消耗的替代方案,要么在低配机上关掉这个特性。
-
承当一部分性能优化的工作,挤出一些性能空间,留给美术团队表现。比如通过调整渲染排序,减少透明部分的面积等方式来优化OverDraw。删除一些没有用到的顶点色,切线信息,法线信息(烘焙后不需要模型的法线信息)。
如何处理与程序和美术沟通时的矛盾
TA需要根据自己的经验去判断什么样的方案对项目最有利,然后需要去说服另一方,让大家达成一致,当然说服别人是很有难度的。
知乎上有个关于TA的一个讨论,是“技术美术的核心竞争力是什么?” 其中有一个回答是“讨人喜欢”。咋一看挺无厘头,但其实很有道理。TA需要有良好群众基础,大家都喜欢你,你推进各项工作就会顺利很多。
所以TA平时要多帮美术和程序解决问题,这样建立好良好的关系,后面你再请他配合工作时就会容易很多。
如何建立TA团队
-
逐步细化TA的工作内容,对组内成员进行分工,原因主要有两个:
-
对游戏品质要求的提升,需要TA对各个领域有更深入的研究。
-
让每个组员深挖在自己擅长的领域可以更好地发挥他们的潜能。(目前光子TA组在动画,贴图, 工具,渲染,程序化生成这些领域都有专项的TA负责。)
-
-
项目经验的积累和整合工作。通过将项目中遇到的挑战和解决方案整理起来,并不断的迭代和完善,方便后续的项目使用以及刚加入团队的新人用于学习参考,比如工具集。
-
做培训相关的工作,主要针对刚入职的实习生。让他们快速熟悉TA的业务范畴,了解需要掌握的知识技能,明确后续发展方向。在TA组内部也会有定期的分享和培训,分享内容主要为工作成果。
新方向尝试
-
对已有工具,流程和方案进行整合和完善,并以某种方式呈现给各个项目,以便工具和方案的复用。
-
给项目提供更好的支持,比如在项目前期投入更多的TA;定期组织资深TA去Review各个项目。
-
加强技术预研,比如高品质角色渲染和制作流程,程序化生产技术等。
-
建立程序化和照片扫描纹理库,进一步优化PBR制作流程。
-
营造更好的学习交流气氛,注重大家的成长。我们每周的分享沙龙也对工作室的美术同学开放,让有兴趣的美术同学可以参加。
光子招聘TA标准
岗位职责:
- 设计渲染方案,编写Shader, 实现美术效果
- 发现美术pipeline中出现的问题,开发工具提高美术工作流效率
- 研究美术工具和游戏引擎的新特性,制作效果展示Demo,技术推广应用
- 设计美术资源规范,确保引擎规范的执行
- 对游戏性能进行Profiling, 设计优化方案
- 和美术人员一起解决工具引擎日常使用过程中出现的问题
招聘要求:
- 掌握常用美术工具Max或Maya,Photoshop基本操作
- 熟练掌握Unity或Unreal一款商业游戏引擎
- 掌握C++, C#,Maxscript, Mel, Python最少一种开发程序语言
- 掌握Cg, GLSL,HLSL中一种Shader语言
- 了解GPA, Adreno Profiler, RenderDoc一种Profiling工具
- 良好的沟通,需求理解能力和团队合作能力,工作积极主动负责
- 熟悉图形渲染算法优先,有相关从业经验优先
国内TA的现有水平和发展状况
TA的热度越来越高,各个公司,工作室都在招聘TA,从事TA的人数也逐年增加。
国内游戏品质要求越来越高,开发的流程越来越复杂,涉及到的工具也越来越多,所以需要更多的TA支持美术团队。现在国内TA在团队里的占比数量有提高的趋势,但这个比例和国外的3A工作室还是有差距。
在国外的一些工作室架构中,TA不仅数量比较多,分工也会更加细。有些工作室对不同领域的TA有不同的职位名称,比如负责渲染的TA叫Shading Artist ,负责动画的TA叫Technical Animator,负责程序化生成的TA叫Procedural Technical Artist 。而目前国内的TA也有进一步分工的趋势。
TA的重要性
-
追求更高的画质表现追求。TA可以与图像及程序一起研究新的渲染技术,并指导美术人员如何运用新技术。同时TA也可以独自承担一些效果原型的工作。
-
追求美术制作效率的提高。TA可以通过优化制作流程和开发工具来提升美术的制作效率。而且团队规模越大,效果越明显。
对于TA的建议
-
打好基础,不管是程序还是以美术出身,在自身领域打好基础是前提。很多人在转TA之前就做了很多年的美术或程序工作,这些工作经验会很有帮助。
-
要有很强的学习能力和求知欲望。学习能力对TA非常重要,甚至可以说学习和研究就是TA工作的一部分。TA需要找到一些相应学习途径,这里可以提供一些参考:
-
引擎厂商和DCC软件厂商都提供了很多教程和资料, 这些教程和资料都是比较全面的。
-
GDC和SIGGRAPH等大会都有很多资料值得学习和研究。
-
通过网站学习,比如 80.lv, Polycount, ArtStation等。
-
关注一些大牛的博客,知乎等。
-
向身边的同事学习,许多TA习惯独自研究,不太与别人讨论交流,这种状态是比较被动的。虚心向身边的美术和程序同事学习,不仅可以扩大知识面,还可以开阔思维和视野,锻炼全局思维。
-
-
需要有很强的自驱力和主动性。TA不仅要完成分配下来的任务,还需要主动推进工作。另外TA需要时常进行反思,例如当前的流程和工具是否还有优化空间,当前的画面效果是否还有进一步提升的空间, 当前版本的性能是否有改善空间。缺乏主动性的TA不是一个优秀的TA。
-
要去熟习美术制作流程和工具。一方面是要了解各种流程和工具,扩展广度,另一方面还需要深入研究部分流程和工具,挖掘深度,只有在广度和深度都达到一定积累,才能很好地优化流程和工具。建议新人可以多了解TA的工作范畴和每个领域需要去做哪些事情,然后再找一个自己擅长的领域去深入研究。
-
去学习一款商业引擎,熟习各个模块。根据工作情况,TA需要精通部分引擎模块。建议有志于此的同学通过独立地制作一个小Demo,以此熟悉引擎和整个制作流程。
-
培养沟通和协调能力。TA作为美术和程序之间的桥梁,沟通能力和协调能力格外重要,有时TA还具备产品经理的思维。
如果我们把一个复杂的工具或流程看做一个产品的话,美术人员就是用户,TA类似产品经理, 需要充分了解美术人员,根据美术人员的诉求设计整个工具或流程,再和程序讨论如何开发工具或流程。
有时TA需要自己先做一个基础原型,再和美术,程序去确定方案,然后分解任务,看程序、美术、TA分别需要做什么。一个成熟的TA不仅要完成自己的工作,还需要协助程序和美术的工作内容,才能够达成团队的整体目标。
不同领域的TA
-
Texture astists (shader)
-
开发shader(代码或者节点)
-
非标准材质(复杂材质开发,比如冰面、皮肤)
-
动画材质(比如全息投影)
-
棘手材质(比如玻璃)
-
后处理
-
-
VFX:visual effects artists (Effects)
-
破坏效果(比如从Houdini导入引擎后的参数控制)
-
河流(比如烘焙Flowmap)
-
表面破坏效果
-
程序化场景动画
-
-
Character artists/Enviro artists/Level artists (Workflows R&D)
-
美术资源库
-
美术风格
-
测试新软件、工具
-
为自定义解决方案创建内容的方法(特殊材质、体积效果)
-
加快工作流程(比如自动生成法线)
-
-
Optimization,debugging (QA:quality assurance)
-
分析关卡性能
-
寻找提高渲染性能的方法
-
与艺术家沟通
-
当性能开销过高时寻找解决方案
-
-
Education (Learning and deveplopment)
-
与程序员交谈,然后将知识传授给艺术家
-
教授新工具使用方法
-
内部工具文档
-
帮助解决工程上的特殊问题
-
展示最佳实践和应该避免的内容
-
-
Connecting artists with programmers (Producers)
- 成为两个好战部门之间的谈判代表
-
Pipeline (Pipeline tool programmers)
-
批处理工具(大规模纹理导出,碰撞设置)
-
自动化(LOD生成,mesh信息清理)
-
资源验证(多边形数,纹理数,PBR正确性)
-
工具之间导出
-
-
Tool (Tool Programmers,UX Designers)
-
为团队或项目的独特需求量身定制的插件
-
让艺术家更轻松
-
帮助减少设计/内容更改后的工作量
-
程序生成(来自曲线、地形、关卡设计障碍)
-
-
Animators (Animation and rigging tools)
-
脚本化绑定,肌肉或变形系统
-
程序化动画(鱼,鸟)
-
人群,鸟群
-
布料模拟
-