游戏开发论坛

 找回密码
 立即注册
搜索
查看: 79827|回复: 0

计算机图形学(CG技术)在日本动画制作中的应用

[复制链接]

5万

主题

5万

帖子

8万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
86215
发表于 2023-5-8 09:51:53 | 显示全部楼层 |阅读模式
以下文章来源于网易雷火UX用户体验中心 ,作者雷火UX

本文编译自SIGGRAPH2022的在线教学课程。主要介绍了当今计算机图形学(CG)技术在日本动画的应用。课程分为两部分:

  • 日本动画中的机器人:Marc以作品《索斯机兽》(Zoid Wild)系列为例,介绍如何用CG技术在日本动画中制作机器人。
  • 将手绘设计适应3D计算机图形的挑战:Andreas介绍使手绘设计适应3D计算机图形的挑战,如何用日本动画的方式制作轮廓,头发,眼睛等等。

本文先介绍第一部分:日本动画中的机器人。在课程开始之前,讲师先简要介绍了日本动画的工作流程,有助于大家有一个整体的理解。

两位课程主讲分别为Marc Salvati和Andreas Bauer。

Marc Salvati,于2004年作为东京工业大学计算机图形学博士来到日本。自2008年起,他在OLM Digital的研发部门工作。他最初作为一名软件工程师为Maya和After Effects开发了各种插件。现在,他领导着一个开发人员和研究人员团队,处理OLM Digital中所有的CG 和传统动画需求。

Andreas Bauer,日本Polygon Pictures的着色器编写者。在英国伯恩茅斯大学以优异的成绩获得计算机动画硕士学位后,鲍尔在伦敦的Framestore和洛杉矶的Sony Pictures Imageworks担任着色器编写者,然后加入东京的Polygon Pictures。目前他在东京专门从事非真实感绘制(Non-photorealistic rendering),聚焦于手绘风格和新的混合设计。在过去的十年里,鲍尔一直在Polygon Pictures开发卡通着色和轮廓渲染,设计计算机图形学的新方法,使其尽可能忠实地模仿日本传统动画的外观。

一、日本动画制作的工作流程概述

日本动画的工作流程大多是从非数字的方式开始的,60年前,手冢治虫设立了制作标准,制作了《铁臂阿童木》的漫画和电视剧,这种工作流程的特点是时间紧迫,需要高效率的制作,使用纸张进行绘画,颜色线条大多是黑色。目前一些动画工作者仍在使用纸张进行绘画,使用黄色时间表来记录绘画帧数和关键帧。

现在,日本动画也逐渐向数字化转变,用CG创建机器人和机械部件效果会更好。但数字化需要不同的技能和专业人员,以及高昂的机器和软件成本。并且,制作动画需要建立特定的流程和脚本,用手绘来处理不规则情况更容易。所以,日本动画更多采用2D和3D混合的方式,而非全CG或全手绘。

微信图片_20230508094133.JPG

制作动画的流程包括前期制作、制作、后期制作。

前期制作包括规划、原型、情节、设定和故事板。

  • 规划是关于项目类型和目标受众的计划;
  • 原型是简短的故事梗概,通常只有几行;
  • 情节是原型的扩展版本,通常有两到三页,根据情节创建角色、设计颜色和背景。设定是对角色和背景的绘画设计;
  • 故事板是动画的详细蓝图,包括声音、镜头移动等细节。

制作过程中,首先创建布局和最终背景,布局比故事板更详细,它设置了我们必须要做的绘图;然后是所有内容的颜色设计;接下来进行动画制作,包括关键帧和中间帧;完成绘画后,进行清理、上色和合成。

后期制作主要涉及配音,添加音乐和声效。

所以,当把CG添加到工作流程中,在前期制作中主要任务之一是,理解我们应该做什么,并定义和决定什么应该在CG制作,什么应该手绘。它有助于估算成本,并允许我们开始创建资源。

通常建模和绑定是在制作期间完成的,但在日本,因为时间紧迫,主要是在前期制作中完成,一旦知道有这样的角色,就开始对它们进行建模,即使它们仍然处于前期制作阶段。因为如果混合CG和日本动画,我们需要为CG做预录制和为2D做后录制。然后进行所有典型的CG步骤,包括布局、动画、照明/渲染和合成。后期制作与2D相似。

微信图片_20230508094140.JPG

所以当混合3D和2D时,我们会选择一个主要场景,作为引导,来加入2D或3D元素。我们可以先创建3D布局,然后交给2D部门进行关键帧和中间帧的制作,或者先手绘2D布局,再创建与之匹配的CG,最后在合成时混合在一起。因此,在预制作阶段,我们需要进行规划,确定哪些元素是3D,哪些是2D。

总之,日本动画的工作流程主要受到时间和金钱预算的影响。日本的预算比美国低很多,因此需要更多的规划和创意。日本动画越来越向数字化发展,使用数字平板进行绘画,并开始使用人工智能自动化一些任务,以便更好地专注于创意部分。日本动画越来越倾向于以混合方式将传统动画和CG结合起来。

二、日本动画中的机器人

在日本动画中,常常会使用机器人元素,例如《索斯机兽:荒野纪》(Zoids Wild)。《索斯机兽:荒野纪》是一部关于机器人的作品,有很多特效和大规模的战斗场面。Zoids是“活着”的机器,是一种机械生物和灵魂的混合体。在第一季中,它们没有眼睛,只有驾驶舱。在其他系列里它们有了大眼睛,这些眼睛给予更多的情感,看起来更像野兽和动物,而不是机器人。

客户要求Zoids以3D完成,这是相当合理的,但人类是手绘的,这是一个挑战。首先,我们将讨论流程中的建模和动画等,来讲述团队在这一过程中所面临的不同挑战。

在开始阶段,我们必须对这些机器人进行建模。所以我们使用了玩具CAD数据,并将其改为视觉效果,每次我们改变视觉效果时,我们都需要得到玩具公司的批准。即使是小细节,小颜色变化。

为了使视觉更具吸引力,并使模型更加合适做动画,我们不得不改变玩具的设计,所以这个过程相当漫长而繁琐。我们打印了一些东西,在上面添加了一些手绘的注释或手写的注释,用一些便利贴发送给客户,以便他给我们一些反馈。我们所做的更改是为了使这些东西更具吸引力而添加细节。

微信图片_20230508094141.JPG

然后对于动画,我们需要做一些调整。在这个例子里,左边的图片上,每次手臂移动时,轴将需要移动,并具有相同的动画效果。这需要移动复杂的装置,所以我们问,我们能不能摆脱这个连接,这样它就不必每一步都伸展。这样一来,就可以使装置更容易制作。

微信图片_20230508094143.JPG

对于动画本身,建模完成后,需要制作更好的动画和更好的骨骼系统,还要进行四足动物的测试,以便制作出更真实的动画。动画需要感受到地面和重量,同时也需要保持野性动物的特点。我们进行了多次测试。

我们需要制作一个机器人动物的混合体,机器人很容易读取动作,但是动物的动作更加夸张。我们最终采用了介于机器人和动物之间的动作,因为机器人动作太慢,而动物动作太夸张。大部分动画都是在2秒内完成的。

现在我们有了一些参考来创造很多动画。在日本动画中,我们使用很多2s或3s的有限动画。制作动画的第一步是基础动作,我们采用逐帧绘制的方式,尽量减少控制器的数量,聪明地使用骨骼系统。

现在我们有了手绘动画和CG动画,接下来需要将这个CG部分与手绘角色混合。机器人等细节丰富的角色适合使用CG制作,但是CG角色表现力不如手绘角色。因此,采用分部渲染的方式将手绘角色与CG角色混合。像图片展示的那样,输出来自机器人不同部分的各种掩模,以便我们可以将手绘的角色插入到不同部分的中间。这样看起来就像是角色在骑机器人。

微信图片_20230508094144.JPG

CG和手绘动画的合成是在后期制作完成的,通过渲染不同部位的CG模型,CG角色可以作为手绘角色的指导,我们也可以构建一个库,减少重新渲染的需求。在快速动作场景中,使用CG角色可以更好地呈现细节;而在近距离镜头中,需要手绘角色以获得更好的表现效果,可以通过手绘覆盖的方式改善CG角色的表情和动作。

此外,在制作过程中,我们想避免典型的3D CG外观,让它平滑地渐变,就像一些老游戏一样。在日本动画中,通常只使用三到五种颜色,因此使用自定义的渐变工具来制作卡通渲染效果,通过亮度映射来调整颜色过渡的平滑度。在《索斯机兽:荒野纪》中,我们使用了四种颜色:两个阴影,次要阴影和主要阴影,普通颜色和一个高光颜色。我们没有使用第二个高光。

微信图片_20230508094145.JPG

我们为颜色创建了一些纹理,并在这个纹理中映射了UV,使颜色变得漂亮而平滑。首先有四种颜色模式,用于白天、夜晚、阴影等,然后将其用于基本的单元格着色,我们一般使用纹理和颜色来映射这些内容,而不是使用亮度。我们还支持边缘光,以及更改边缘光的颜色和光滑度。

微信图片_20230508094147.JPG

我们使用了所谓的偏移纹理,以控制阴影或高光的大小。通过创建一些渐变,还可以获得漂亮的高光形状和阴影。

微信图片_20230508094148.JPG

我们将UV壳放置在某些渐变部分,以在亮度变化时产生不同的过渡。可以看到阴影和高光的形状是由特定的UV放置方式完成的。

微信图片_20230508094149.JPG

接下来关于轮廓线,这也是手绘动画的最大特点之一,通常通过观察输出图像中的差异来绘制描边,如对象之间的差异、颜色之间的差异、UV之间的差异、法线之间的差异等。

定义轮廓线的方法有很多种,不是所有的面都需要轮廓线,到处都有轮廓会显得很嘈杂,使用对比色来选择需要轮廓线的面,并放置在一个网格纹理上不同的插槽中,可以定义需要轮廓线的区域,使得轮廓线出现在需要的地方。

微信图片_20230508094151.JPG

在机器人设计中,轮廓线是静态的,不会改变。而在特效制作中,可以混合3D和2D效果,没有固定的规则,只使用最好的效果。因此我们有一个特效库,包含了2D和3D效果,如灯光、风、水、火、烟雾和爆炸。在动画制作中,可以从布局就开始添加特效。即使有的特效是临时的(被称为“atari”),也可以帮助制作人员快速获得最终效果的感觉,而一般来说最终效果是将临时特效和动画结合起来得到的。

微信图片_20230508094152.JPG

微信图片_20230508094153.JPG

总的来说,在日本动画中,CG和2D的混合使用,可以让画面更加生动。在《索斯机兽:荒野纪》的例子里,CG被用于机器人的动画制作中,使其更加细腻,但是需要注意,混合使用CG和2D会增加制作成本。我认为可以这样概况整个日本动画的故事:试图在非常紧张的时间和预算限制下适应艺术决策。

以上,我们主要讲述了日本动画的制作,探讨了如何将计算机图形元素与2D手绘动画相结合,特别是制作“日本动画中的机器人”。以下,来自日本OLM Digital和Polygon Pictures的两位讲师Marc Salvati及Andreas Bauer,将重点关注计算机图形和计算机图形动画,以及“使手绘设计适应3D计算机图形面临的挑战”。

我们想解决的最终问题实际上是:“计算机图形(CG)能否达到手绘设计的效果?”。简而言之,答案是:“受控的简化很难”。

首先,我想从一般的CG动画谈起。然后重点讨论我们在将2D手绘设计转换为3D计算机图形时遇到的主要挑战,并呈现我们找到的所有解决方案,最终得出了一个也许有点出人意料的结论。

CG动漫还是有争议的。大多数铁杆动漫迷仍然不接受CG动画——仅仅因为“它似乎看起来不对”。然而,计算机图形是当今主要的艺术媒介——它需要被接受。

CG消除了许多创作限制:新的摄像机位置很容易设置;相机运动实现了手绘动画几乎不可能实现的自由度;调整很快能完成,任何错误都容易纠正;而且任何重复的任务都会大大加快速度。但最重要的是,就像任何新的艺术媒介一样, 计算机图形也拓宽了艺术的可能性。它使混合设计成为可能,2D手绘外观可以通过CG元素得到扩展和增强。

微信图片_20230508094155.JPG

我们制作的《人间失格》中的这张图片是混合设计的一个很好的例子。它展示了一个3D全息图。这是一个2D动画外观,通过三维深度、光图案以及发光效果进行增强,最终呈现了同一个全息图的广角镜头。

微信图片_20230508094156.JPG

发光效果也被用于传统的手绘动画中,但这需要额外的特效绘画和困难的多重曝光拍摄,其成本是昂贵的。此外,CG动画允许创建新的混合设计,而这在手绘动画中很难。

另一方面,在CG中完全再现手绘设计真的很难实现,比大多数人想象的要难得多。以下是我们在将手绘设计改编为CG动画时遇到的主要挑战:

  • 轮廓不仅仅是轮廓线,它们实际上是一种艺术强调。
  • 头发总是高度风格化的,要避免画出单独的头发。
  • 眼睛总是大家的主要焦点,因此需要尽可能饱含情感。
  • 边缘光并不像电影拍摄现场上的边缘光那样使用,相反,它们只是物体周围细小、明亮的轮廓线,作为与背景形成对比的线条。
  • 阴影线是光影边界,也就是物体被照亮的部分和处于阴影中的部分之间的边界,这些阴影线总是被简化的, 只表现出整体形状,几乎不显示任何物体的细节。
  • 投影阴影更适合草图风格,几乎没有要处理的细节。

所有这些的要点是:简化是一种艺术手段。这要么是为了艺术目的,以强调某些表达,要么只是为了节省金钱和时间。然而,另一方面,CG总是忠实地、完全准确地渲染所有物体,100%锐利,100%精确,100%完美,没有情感,没有变化,没有简化,也没有任何强调的重点。实际上,让CG物体看起来自然和未经打磨是相当困难和耗时的。在这方面,CG与现实世界完全相反。

三、关于“头发”的挑战

首先,我们遇到的挑战是关于头发的绘制。主要有以下几点:第一,使用“发束”以避免绘制单个头发。对于“卷曲”或“凌乱,蓬乱的头发”的特殊挑战,我们的解决方案是使用“球形法线”和“发束法线” 来创建更美观的阴影线。然后,我想详细介绍一个“程序性头发高光”的例子。最后,介绍一个最近在手绘动画中引入的风格元素:“选择性头发透明”。

微信图片_20230508094157.JPG

“发束”技术使用

在手绘动画中,几乎不可能一帧一帧地为每一根头发制作动画。因此,这一阶段可以较早的开始简化,将几根头发分组成为一束,然后将每一束作为一个单独的对象进行动画处理。这在计算机图形中被复制为“发束”——长形几何对象,带有锥形顶端,每个代表一束头发。在CG动画中,“发束”仍然是最常用的头发形式。这张图片来自我们制作的《绿林女儿罗妮娅》。这是早期CG动画中使用的简单发型的一个很好的例子。

微信图片_20230508094158.JPG

卷发处理

制作特别凌乱的发型,像狂野的卷发,或者蓬乱不整的头发,可能会成为一个挑战。因为CG总是完全准确地渲染物体,而凌乱的头发总是会导致凌乱的阴影。

就像下图这个例子,来自我们的作品《绿林女儿罗妮娅》。这显示了一个早期的外观开发测试,使用的是标准的光线跟踪阴影,角色有一头相当凌乱的头发,这不是手绘的阴影线应该有的样子。手绘动画会大大简化这个阴影——仅使用头部的整体形状,创建一个更像球体上阴影的阴影线。

微信图片_20230508094200.JPG

如何解决这个问题?我们找到的解决方案是“球面法线”。“球面法线”用一组与球体法线相似的新法线取代了整个头发上的表面法线,似乎都是从头发几何的中心发出的。

球面法线应用

这张图片展示了我们之前用“球面法线”渲染的例子,这创建了更干净、更有艺术感的阴影线。对于疯狂卷曲的头发几何,或极其凌乱的头发,阴影线条永远不会像在球体上那样完美光滑,这是由于几何形状的限制。虽然通过相机空间投影仍然可以实现完美平滑的阴影线,但这实际上不是我们想要的。在这两个例子中,手绘的阴影线仍然会有轻微的曲折,以暗示头发的卷曲或凌乱。然而,整体的球形形状将是最强的元素。

微信图片_20230508094201.JPG

下面是《绿林女儿罗妮娅》的最终制作图。它展示的是小宝宝罗妮娅,仍然留着凌乱的头发,但多亏了“球面法线”的应用,画面中有了更清晰的阴影线。罗妮娅宝宝是我们开发“球面法线”的原因,也是第一个使用这个概念的角色。从那时起,我们作品中的每个角色都开始使用“球面法线”,这不单单应用在他们的头发几何形状上,在许多情况下也应用在他们的面部几何形状上。

微信图片_20230508094202.JPG

发束法线的融入

虽然“球面法线”解决了复杂的外观,但结果可能太简化了,因为它也完全消除了任何长发发丝的感觉。我们找到的解决方案是融入“发束法线”。

长发通常使用其发丝曲线或发带的切线法线,而短发可以使用从其生长的表面获得的法线,即发根处的几何法线。对于每个“发束”,应该分析其所有顶点位置以计算“发束”的整体方向,从其根部到其顶部,然后使用此方向向量作为整个“发束”的一个表面法线。

在“发束法线”的渲染图像中,你可以清楚地看到每个“发束”都只有一个颜色,也就是说只有一个法线。这些“发束法线”本身不会给出有用的渲染结果。但通过混合3种可用法线的能力——原始表面法线、“球面法线”和新的“发束法线”,艺术家可以找到一种平衡,创建一个更接近手绘设计的阴影线。

微信图片_20230508094204.JPG

下图右边显示的是仅使用“球面法线”实现的卡通阴影效果。左边的图像融合了“发束法线”,它在阴影线上增加了实际发丝的感觉。这种阴影效果优于仅使用“球面法线”的过于简化的外观。

微信图片_20230508094205.JPG

程序性头发高光

早期的CG动画很少使用头发高光。如果有的话,也都是固定的或投射的表面纹理。但这种静态的头发高光,不像真实的头发高光,永远不会对摄像机视角或光线方向的变化做出反应。然而,即使是静态的头发高光,在手绘时,也永远不会一帧一帧地画出完全相同的效果。现实中,头部旋转的小变化总是会导致头发高光看起来稍有不同。因此,如果一个CG动画使用完全静态的头发高光纹理,这将因此立即暴露它是计算机图形。

微信图片_20230508094206.JPG

然而,计算机生成的头发高光可以模拟这种手绘行为。与静态的、绘制的纹理不同,程序性的头发高光,也可以是动态的,并适应相机视角或光线方向的变化。它们的反应程度是可选的——从强烈的、真实世界般的反应性,一直到没有反应性。而介于中间的轻微反应,似乎能给出最令人满意的效果。

微信图片_20230508094208.JPG

作为程序化的一部分,头发的高光也可以使用并响应个体的“发束”的形状,根据几何形状自然地变化高光图案。这种反应的强度也是可以选择的。下面的动画示例来自我们的制作《猎龙飞船》,展示了当头部旋转和“发束”移动时,程序化头发高光图案的微小变化。

微信图片_20230508094209.gif

高光几乎就像一个静态的头发纹理,但仍然会随着头发的运动和相机的视角略有变化。我们最先进的程序性头发高光是高度可定制的,可以在不同方向上看到高光的外观。

选择性发丝透明度

另一个手绘动画中引入的新样式元素是“选择性发丝透明度”。尽管它是最近才出现的,但现在已经成为一个成熟的样式元素。当“发束”在特定的对象前面时,会半透明地绘制,通常是在眼睛、睫毛和眉毛上应用。

微信图片_20230508094211.JPG

这是真正的选择性头发透明度,因为这种透明度不适用于任何其他物体,如皮肤、衣服、珠宝或其他“发束”。创建“选择性头发透明度”的解决方案是我称之为“跟踪到ID”的功能。所有头发几何alpha通道保持默认值1,完全不透明,因为这是单独的模拟透明度,与alpha通道无关。当相机射线击中具有某种着色器的对象时,例如发束材料,会发送一个新的探针射线,沿着射线方向继续搜索具有非常特定“ID”的材料的任何对象。如果在一组最大追踪级别内找到,则计算该找到的物体的表面颜色,并与发送探针射线的第一个材料的表面颜色混合。

四、关于“眼睛”的挑战

关于“眼睛”的挑战,我想重点谈三点:从早期CG动画到最近的设计,“眼睛几何”的变化本身,以及“眼睛高光”和“眼睛阴影”的重要性。

微信图片_20230508094212.JPG

早期的眼睛设计有相当简单的几何形状——只是一个单一的球体,它的大小和形状大致符合解剖学。而最近的设计变得更加复杂:有两个独立的几何形状—— 一个是虹膜和巩膜的,另一个则是更大的、完全透明的角膜的,并且还使用了物理上的折射。

使用两个独立的几何形状有助于在虹膜上创建更有艺术感的眼睛阴影。更大的眼睛几何形状可以更好地支持那些大眼睛的外观。通过使用物理上的折射,从侧面看眼睛更加逼真。当然,这种形状变化在解剖学上不一定是正确的。事实上,这两个“眼球”现在更像“眼睛立方体”,通常重叠并相互交叉。但这种形状变化也允许更广泛的表情范围,因为眼睛通常是主要焦点,需要尽可能具有情感。在我们所有的模型中,球体的极点总是在瞳孔的中心。这是一个深思熟虑的选择,以便动画师即使在基本的线框视图下,仍然可以理解瞳孔在哪里,眼睛在看哪个方向。

微信图片_20230508094214.JPG

早期的眼睛设计没有任何单独的几何形状用于眼睛高光,高光只是眼睛颜色纹理的固定部分。就像这张来自我们作品《绿林女儿罗妮娅》的图片一样。

微信图片_20230508094215.JPG

最近的设计使用了单独的、完全操纵的眼睛高光几何图形——通常每个眼睛有几个,这极大地促进了眼睛高光动画效果的提升。每个眼睛高光的形状和位置都可以很容易地修改,而动画师可以快速检查这些修改,即使是在线框视图中。有单独的几何形状也使得将高光输出到蒙版缓冲区变得容易,然后在后期制作中用于进一步添加发光效果。从我们制作的《人间失格》的图片中可以看到,因为眼睛通常是主要焦点,眼睛高光也发挥着非常重要的作用。

微信图片_20230508094216.JPG

早期的眼睛设计只使用场景中的关键光线在眼睛上投下阴影,但这些阴影往往是错误的,而且很难修复。使用单独的、专门的光源来投射眼睛阴影也不是一个好的解决方案,因为它不能真正塑造阴影,也不能轻松控制哪些物体可以在眼睛上投上阴影。在我们的作品《人间失格》的最初呈现中,阴影显然有点太深入眼睛了。

微信图片_20230508094218.JPG

后来我们的设计转向将阴影纹理投射到眼睛上。这允许通过投射的阴影纹理在一定程度上塑造眼睛阴影,但它也有自己的限制。首先,它需要相当复杂的眼睛设置,而且投影的阴影在几乎闭上的眼睛上看起来是错误的。

微信图片_20230508094219.JPG

所有这些问题都可以通过使用程序化眼睛阴影来避免。比如下图《环太平洋:黑暗大陆》中,程序性阴影是光线追踪的,完全独立于所有场景灯光,并允许为每个眼睛单独塑造和调整阴影。它们允许指定哪些物体可以在眼睛上投下阴影,阴影看起来即使在几乎闭合的眼睛上也是正确的。

微信图片_20230508094221.JPG

正如我们所看到的,最近的作品不再使用解剖学上正确的眼睛几何形状。在我们的作品《环太平洋:黑暗大陆》中,其中一个主角的眼睛是线框模型。因此,程序性眼影不能依赖于球形,也不能依赖于眼睛的几何中心笔直地排在虹膜后面这一事实。相反,需要创建一个新的虚拟眼中心点。

如下图,从眼睛的实际几何中心(E)开始,需要在对象空间中应用“偏移XYZ”值,以定义新的虚拟眼中心(V),它需要大致与虹膜中心(I)后面的位置对齐(如向量vi所示)。探测射线从这个虚拟眼中心(V)发出,搜索允许在眼睛表面投射阴影的特定对象——通常只有睫毛几何体。任何与这些对象(P1、P2和P3)的光线相交都会在眼表面上输出阴影。

允许投射阴影的对象列表并不局限于场景中可见的对象,它还可以包括只用于在眼睛上创建特定形状阴影的隐形物体。为了计算一个程序化的眼睛阴影,着色器需要被告知眼球的几何形状,允许在眼睛表面投射阴影的对象列表,以及“偏移XYZ”值,修改“偏移XYZ”值在对象空间中移动虚拟眼睛中心。这也移动了眼睛阴影,且有效地进行了塑造。

微信图片_20230508094222.JPG

五、关于“阴影”的挑战

从将手绘设计改造为3D计算机图形的所有挑战来看,“阴影”是目前为止最大的挑战。不仅因为光线跟踪的阴影通常看起来“像CG”,还因为它们太尖锐,太完美,显示了太多的细节,而这些细节通常在手绘设计中被忽略;还因为实际上阴影的类型不止一种,而是好几种,每种类型都需要专门处理,才能创造出看起来更像手绘的整体阴影设计。

更糟糕的是,这些阴影类型也可能重叠,因此当单独删除或修改一个类型时,可能仍然不能达到预期的最终效果。下面的示例图像显示了一个非常简单的色块阴影场景。由于在这个场景中只有一种光源,人们可能会认为,也只有一种阴影。但事实并非如此,这张图包含了许多不同类型的阴影。让我们分别来分析一下。

微信图片_20230508094223.JPG

“自身阴影”是物体背离光源的那些部分。更准确地说,是表面法线和反向光线方向向量成大于90度角的部分。自身阴影定义了物体的主要“阴影线”(即其“光影边界”),这是物体从被照亮到被遮蔽的转变点。在图像中,“自身阴影”用红色绘制。这种阴影类型需要最多的关注,因为它通常是需要简化或移动的主要阴影线。

“次要阴影”是深入“自身阴影”内部的更暗的阴影。“次要阴影”从不存在于“投射阴影”中,它们只出现在“自身阴影”内部。在图像中,“次要阴影”用纯黑色绘制,主要用于在阴影区域中创建额外的对比度。次要阴影有助于更好地勾勒出圆环的形状,以缓冲地面上的投射阴影。

“自身投射阴影”是物体投射到自身上的阴影。在图像中,“自身投射阴影”以绿色绘制。可以看到这种类型的阴影可以与“自身阴影”重叠,如图像中的黄色所示。换句话说,阴影的某些部分既可以是“自身阴影”,也可以是“自身投射阴影”。这些重叠实际上使得控制单个阴影类型变得更加复杂,因为在这些区域,必须调整这两种阴影类型才能获得所需的结果。

“他人投射阴影”是除自身以外的任何物体投射的阴影。在图像中,“他人投射的阴影”用蓝色绘制。

最后,“环境光遮蔽”也可以被视为一种阴影类型,因为它是一种柔和的接触阴影形式。在图像中,柔和的阴影由“环境光遮蔽”提供。这种阴影类型有时会直接添加,以达到艺术目的,以创建柔和的漫射照明感。但大多数情况下,“环境光遮蔽”被用于阈值化,以添加卡通式的接触阴影。

“自身投射的阴影”和“他人投射的阴影”的区别需要进一步解释。角色的身体几何通常只接收“自身投射的阴影”,而不是来自其他物体的阴影。例如,一个角色的手臂放在胸前应该在胸部投射阴影。“他人投射阴影”通常只用于地面。角色应该在地面上投射一个投影阴影,但是它们通常不在任何其他角色身上投射阴影,只能投射在它们自己身上 (这就是“自身投射阴影”)。

头发是个例外。不像身体的其他部位,“发束”通常不应该接受“自身投射阴影”,因为这使头发的阴影太过密集,看起来太“像CG”。下图显示了头发的理想效果,它只使用了“自身阴影”——使头发上的阴影线保持简单。与人体几何形状相反,头发偶尔可以使用“来自他人的阴影”,例如,帽子或其他头饰可以将阴影投射到头发上。就像示例图像中的球体。这些是我们用来调整阴影的关键方法,以便使它们看起来不那么“像CG”。

微信图片_20230508094225.JPG

对于“自身阴影”,我们使用了这四种方法,有点类似于如何在头发上使用“球面法线”,“平滑法线”和“法线转移”可以将阴影线应用于更简单的几何形状,并将其转移到高度详细的几何形状上。“光线弯曲”可以将阴影线移动,要么向照亮的区域移动,要么向阴影区域移动。在示例图像中,大白的身体的阴影线向亮区弯曲,以着重强调其圆润。电影《蜘蛛侠:平行宇宙》中也使用了类似的技术,以更艺术的方式渲染人物,尽管这并不是物理上正确的照明。

微信图片_20230508094226.JPG

因为手绘设计通常希望较暗区域的细节较少,所以凹凸贴图在阴影区域的细节也需要减少。我们通过使用“光和阴影的单独凹凸”来实现这一点。为了调整“投射阴影”,我们使用了以下三种方法:随着距离增大变得透明、锐化柔和阴影和阴影混合。

微信图片_20230508094227.JPG

为了艺术地模仿柔和阴影在现实世界中表现出的随距离而褪色的效果,投射阴影可以随着对象距离变得更加透明,即阴影中的一点与投射该阴影的对象之间的距离(这与相机距离无关)。这个功能可以在图像中看到,地面阴影随着与大白的距离而变浅。但与现实世界不同,这些阴影也不会随着距离的增加而变得更加模糊——它们只会变得更加透明。

“锐化柔和阴影”是一种非常有趣的技术,可以从方形物体投射出极为简化的、甚至是圆形的阴影。这一功能也被用于图像中。最后,这些技术中的许多阴影可以在着色器内组合,并输出为一个单一的,组合的阴影。

下图来自我们的作品《超能陆战队》番外短片之“大白与毛球” ,这是计算机图形阴影的一个很好的例子,它并不是投射阴影的物体形状的完美投影。正因为如此,它看起来很有艺术感,像是手绘的阴影。

微信图片_20230508094229.JPG

“混合阴影”是一种非常有前途的技术。然而,虽然其效果看起来非常令人满意,绝对不像“CG”,但这种方法需要在所有组合元素之间找到一个微妙的混合平衡,这样就不会有一个元素压倒其他元素。只有平衡良好的混合才能创造出最佳的阴影效果,这甚至可能需要每个场景的调整。因此,对于大规模制作来说,其成本可能过于昂贵。可以期待随着技术的发展,找到最佳混合平衡可以完全自动化。

使用计算机图形来非常接近2D手绘设计确实是可能的。但CG越要接近2D手绘设计的效果,研究难度越大,工具越复杂,需要的开发时间和精力也就越多,并且这种难度呈指数级增长——每一个进一步的增量改进都需要更多的开发时间和复杂性。其成本十分昂贵。而由于缺乏与一些海外工作室相同的资源,日本动画制作很可能会遇到预算紧张的问题。虽然理论上可以实现,但从根本上说,摆脱“CG风格”的外观是日本CG动画的一个潜在困难。此外,另一个可能更好的解决方案是调整2D手绘设计,以适应计算机图形的限制。

文/雷火UX
来源:网易雷火UX用户体验中心

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2024-12-22 11:26

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表