一个 web 开发者眼中的技术美术(TA—Technical Artist)

简介: Techical Artist 的中文翻译是技术美术,相比于直译为技术艺术家,技术美术这个称谓让我感觉更加亲切,当然艺术家这个称谓也很好,很高级 :p ;在游戏行业里我们常常能听到美术这个职位,而技术美术,从字面意思我们就能够大概了解这是一个既需要懂技术又需要懂美术的职业。那么技术美术具体工作是什么呢?我去搜索了一番,发现没有非常权威的定义,不过可以找到比较普遍的说法是:给美术团队提供技术支持,从

Techical Artist 的中文翻译是技术美术,相比于直译为技术艺术家,技术美术这个称谓让我感觉更加亲切,当然艺术家这个称谓也很好,很高级 :p ;在游戏行业里我们常常能听到美术这个职位,而技术美术,从字面意思我们就能够大概了解这是一个既需要懂技术又需要懂美术的职业。

那么技术美术具体工作是什么呢?

我去搜索了一番,发现没有非常权威的定义,不过可以找到比较普遍的说法是:给美术团队提供技术支持,从而提升美术资源的品质和制作效率这个描述得很清楚了,但是还不够具体,我刚开始看到这个说法的时候脑子里还是很模糊,不知道 TA 具体是做什么的也不知道从何下手去学习。后来我去翻了更多的资料,硬着头皮学了一段时间后,我知道了 TA 的工作内容分效果向、程序向、流程向等,工作内容包含材质、动效、粒子系统、PCG、引擎插件等等,就这样我学习了很多很多知识;但是,我脑子里 TA 的概念还是有些模糊,直到前段时间我被指派去分享所学到的内容,在梳理分享思路的时候我感觉自己终于把 TA 给弄明白了。我搞清楚 TA 的关键是我问了自己一个问题:为什么会出现 TA 这个职业?或者说 TA 是在什么背景下诞生的?

TA 诞生的背景

我们拿 Web 开发流程来类比下 3D 项目的开发流程,首先来看看最简单的线性工作流,这个是 Web 开发流程

再来看看 3D 项目的流程

这样一看,3D 项目只是把设计换成了美术,流程十分相似;我们再把 设计 和 研发 环节细化一下看看:

同样的,我们也把 美术 和 研发 环节细化一下:

从上面两个图中我们可以发现 web 项目和 3D 项目的一个非常大的差异,在 web 项目中设计搞需要前端用代码进行视觉还原(图中标号①),而在 3D 项目中美术的产物可直接用于工程

乍一看,在 3D 项目中端侧技术的工作量好像少了一些,不需要做视觉还原了;的确是这么回事,但是我们再仔细分析下,在 3D 项目中美术的工作种类多了不少,原画、模型、动画、绑定、地编,图里没列出来的还有很多,例如特效、运镜、景深等后期处理工作等等;我们稍微去了解一下就会发现,这么多种类的工作他们的专业性都很强,每一门要深挖都不是一件容易的事,当然,研发的专业性也很强也不容易上手。这就带来了一个问题,美术的产物在工程中使用出现问题了怎么办?

这里我就要引入 TA 这个角色了,在 TA 出现之前,如果出现上面说的问题,一般情况下是一些资历比较深的美术、或者资历比较深的技术根据自己的经验来解决问题;然而当项目规模越来越大,出现的问题已经不是靠经验能够解决的,需要一些技美双修(既懂技术又懂美术)的人来解决问题,我觉得这就是 TA 诞生的背景。当然,第一个提出 TA 的人是否是这么想的已经不可考了,但这个推导我认为是 make sense 的。基于此,我们可以来看看下面这张图:

在前面的推导中我有一个假设,美术产物在 3D 工程中遇到了问题,所以需要 TA 来解决这些问题;那么 TA 既懂技术又懂美术,他的工作职责可以更加宽广,除了解决美术产物在工程中的问题,还可以去做一些工具来提升美术生产效率,可以去研发一些平台来提升美术各环节对接效率等等。

TA 的职责

技术与美术之间的催化剂(提效)和粘合剂(协作)

在 web 应用中,设计产物需要前端研发通过代码进行视觉还原,在 3D 项目中,虽然可以直接使用设计产物,但还是需要研发在规范、工具和性能上对设计产物提出要求或进行优化;

TA 并不会代替模型师制作模型,也不会代替地编去建场景,也不会直接去做动画,而是作为粘合剂去填充项目中的三不管地带、作为催化剂去提升各个环节的效率,这就要求 TA 对这些技能都要有一定的了解,需要 TA 有较为全面的技术栈;

TA 的技术栈

仍在整理中,下面简单列了一下大纲

计算机图形学

推荐 games 101 和 games 202 

《计算机图形学入门》https://www.bilibili.com/video/BV1X7411F744?p=1

《高性能实时渲染》https://www.bilibili.com/video/BV1YK4y1T7yY?p=1

  • 几何(变换)
  • 平移、旋转、缩放
  • 正交投影、透视投影
  • 隐式、显示模型
  • 光栅化
  • 顶点、片元着色
  • 深度测试、抗锯齿
  • 插值、纹理映射
  • 光线传播
  • NPBR
  • PBR
  • Ray Tracing (光线追踪)
  • 动画
  • 实时渲染技术

3D 引擎使用与应用开发

推荐这个专栏: https://zhuanlan.zhihu.com/p/36675543

  • 地编
  • 人物(模型、骨骼动画绑定)
  • 材质(shader)
  • 运镜
  • 后期处理(景深,特效)
  • 打包部署
  • 业务逻辑(C++)
  • 蓝图
  • 插件开发
  • 引擎开发

美术基础

  • 明暗五调子;
  • 色彩原理;
  • DCC 工具使用
  • 3D 模型制作
  • 2D 纹理处理
  • 动画制作

我眼中的 TA

其实 TA 从某一个维度还可以分为美术向 TA  技术向 TA,现在有一个比较多人认同的观点是:美术我们也称为艺术家,他们是更偏感性的,而技术则更偏理性,想两者都很深入是非常难的;而 TA 一般情况下也确实不需要两方面都非常深入,能够掌握处理交叉问题的能力就好。

我也很认同这个观点,不过我还是想两方面都尽量深入一点,毕竟我都很感兴趣,知识嘛,贪婪一点也不是坏事~

目录
相关文章
|
10天前
|
前端开发 安全 Java
技术进阶:使用Spring MVC构建适应未来的响应式Web应用
【9月更文挑战第2天】随着移动设备的普及,响应式设计至关重要。Spring MVC作为强大的Java Web框架,助力开发者创建适应多屏的应用。本文推荐使用Thymeleaf整合视图,通过简洁的HTML代码提高前端灵活性;采用`@ResponseBody`与`Callable`实现异步处理,优化应用响应速度;运用`@ControllerAdvice`统一异常管理,保持代码整洁;借助Jackson简化JSON处理;利用Spring Security增强安全性;并强调测试的重要性。遵循这些实践,将大幅提升开发效率和应用质量。
33 7
|
12天前
|
开发框架 中间件 API
揭秘!Tornado技术如何颠覆传统,解锁Web开发速度极限?你的高效Web应用就差这一步!
【8月更文挑战第31天】Tornado 是 Python 生态中的一款高性能 Web 开发框架,以其非阻塞 I/O 模型和高并发处理能力著称。它采用协程和异步 I/O 实现了高效的并行处理,使服务器能同时处理大量连接。
21 1
|
12天前
|
测试技术 开发者 Python
Bottle技术:如何用Python打造小巧而强大的Web应用,让你一鸣惊人?
【8月更文挑战第31天】本文介绍了Bottle——一种轻量级Web框架,以其简洁的语法和强大功能受到开发者喜爱。文章涵盖Bottle的核心概念(路由、模板、请求对象),并展示了其简单易用的特性及快速开发能力。通过遵循最佳实践,开发者能够高效地利用Bottle创建高质量Web应用,迎接未来Web开发的挑战。
12 1
|
12天前
|
前端开发 JavaScript API
【独家揭秘】Bottle框架为何能俘获开发者的心?三大实战案例带你领略Web开发新境界!
【8月更文挑战第31天】Bottle是一款轻量级Python Web框架,以简单高效著称,秉持极简设计,适合快速开发小型项目或构建API服务。本文通过具体代码示例展示Bottle框架的独特魅力,从安装到创建应用、路由设置、模板渲染及表单处理等方面进行详细介绍,帮助读者轻松上手并掌握Bottle的应用技巧。
27 1
|
12天前
|
测试技术 Python
Bottle技术:如何用Python打造小巧而强大的Web开发利器?
【8月更文挑战第31天】Bottle是一个用Python编写的轻量级Web框架,设计简洁、快速且小巧,适用于快速开发Web应用程序。其主要特点包括简单易学、快速开发、小巧轻量及强大的功能,如路由、模板和表单验证等。Bottle的核心概念包括路由、模板和请求对象,可通过示例了解其基本用法。此外,合理使用路由、编写测试和利用Bottle扩展等最佳实践有助于更高效地进行Web开发。随着Bottle生态的不断发展,它将在未来Web开发中扮演更重要的角色。
19 1
|
14天前
|
前端开发 开发者 容器
探索现代Web开发中的CSS Grid布局技术
【8月更文挑战第29天】在数字时代的浪潮中,网页设计不断进化以适应日新月异的用户需求。CSS Grid布局技术作为一项革新性的前端工具,为设计师和开发者提供了前所未有的布局能力。本文旨在通过深入浅出的方式介绍CSS Grid的核心概念、基本用法以及在实际项目中的应用,帮助读者快速掌握这一强大的网页布局工具。
39 3
|
6天前
|
关系型数据库 Java MySQL
"解锁Java Web传奇之旅:从JDK1.8到Tomcat,再到MariaDB,一场跨越数据库的冒险安装盛宴,挑战你的技术极限!"
【9月更文挑战第6天】在Linux环境下安装JDK 1.8、Tomcat和MariaDB是搭建Java Web应用的关键步骤。本文详细介绍了使用apt-get安装OpenJDK 1.8、下载并配置Tomcat,以及安装和安全设置MariaDB(MySQL的开源分支)的方法。通过这些步骤,您可以快速构建一个稳定、高效的开发和部署环境,并验证各组件是否正确安装和运行。这为您的Java Web应用提供了一个坚实的基础。
17 0
|
11天前
|
Java Maven Apache
Struts 2 配置不再难!跟着这篇详解从零搭建开发环境
【8月更文挑战第31天】要搭建Struts 2开发环境,需先安装JDK,然后下载并解压Struts 2二进制包,将其核心库`struts2-core`添加到项目类路径中。使用Maven或Gradle时,可在配置文件中添加依赖。接着,在`web.xml`中配置Struts 2过滤器及其映射。`struts.xml`通常位于`src/main/resources`目录下,用于定义动作映射和拦截器等核心配置。最后,通过配置类路径下的`log4j.properties`文件,可以设置Struts 2的日志记录级别及输出方式。完成以上步骤后,即可开始基于Struts 2框架进行Web应用开发。
29 0
|
11天前
|
前端开发 Java UED
告别页面刷新时代:Struts 2 Ajax技术揭秘,轻松实现动态加载,Web应用焕然一新!
【8月更文挑战第31天】在Web应用开发中,用户体验至关重要。为减少页面刷新带来的不适,Ajax技术应运而生。Struts 2作为流行的Java EE框架,通过内置的Ajax支持简化了无刷新页面动态加载的实现。本文通过对比传统请求响应模式,展示了Struts 2如何轻松实现Ajax功能,提升了用户体验和开发效率,并灵活地实现了数据交换。然而,使用Ajax时还需注意SEO和跨域请求等局限性。
24 0
|
11天前
|
iOS开发 Android开发 MacOS
从零到全能开发者:解锁Uno Platform,一键跨越多平台应用开发的神奇之旅,让你的代码飞遍Windows、iOS、Android、macOS及Web,技术小白也能秒变跨平台大神!
【8月更文挑战第31天】从零开始,踏上使用Uno Platform开发跨平台应用的旅程。只需编写一次代码,即可轻松部署到Windows、iOS、macOS、Android及Web(通过WASM)等多个平台。Uno Platform为.NET生态带来前所未有的灵活性和效率,简化跨平台开发。首先确保安装了Visual Studio或VS Code及.NET SDK,然后选择合适的项目模板创建新项目。项目结构类似传统.NET MAUI或WPF项目,包含核心NuGet包。通过简单的按钮示例,你可以快速上手并构建应用。Uno Platform让你的技术探索之旅充满无限可能。
17 0