1着色器工作原理
着色器,从美术设计师的角度来看,往往有点儿像黑匣子。美术设计师的作用主要是创建输入和判断着色器的输出,即设置参数或指定贴图,生成预先存在的着色器,然后查看最终的结果。在某些情况下,着色器代码是由美术设计师编写或编辑的,但在Max和Maya中,大多数较新的着色器创建工具更像是材质系统,没有要求编程知识。这是着色器如何工作的简单流程。在游戏世界窗户本身是黑的,我们可以使用着色器告诉游戏引擎基于灰度图像的哪些部分变亮,哪些部分变暗。你可以看到框架是暗的而玻璃是亮的。图像的右边是黑的和亮着的窗户的特写。
2着色器的应用
着色器通常需要使用二维资产作为输入,并且美术设计师的任务通常不只创建这些资产,而且在某种程度上还需要深入了解、创建和执行着色器。所以,尽管着色器可以替代美术设计师做许多工作,但同时也会增加我们的工作量。目前,在游戏中对美术设计师有影响的不再是画一个独立的实体的贴图,而是创建一系列为获得所需效果必须共同作用的贴图。使用着色器需要更多的规划、不同的艺术创作思维方式和更多的组织。美术设计师需要学习着色器工具、组织更多资产(可能会彼此链接,因此着色器到位后,它们的移动性更严格),并且还要具备这样的心理素质,那就是创建资产并不是最终结果而是最终结果的组成部分。我们习惯了在Photoshop中绘制那些没有实时显示某些属性的贴图,但实际上是需要从平面创建贴图,构建一个复杂图像和效果的组织树去创建最终表面(很像我们在3D程序已经做的以及部分贴图生成工具工作的)。因此美术设计师要了解光影基础或发展技能去观察场景背后所有污物、反射和其他表面属性的基础材质。例如,不要在Photoshop中绘制铬表面反射高光——既要让高光点看起来不错,但又不要太明显——你现在要离开Photoshop,给材质指定一个着色器,这样将会实时准确模拟铬的高光点(图2)。尽管着色器在某些方面可以让我们的工作更容易,而且肯定可以使我们的游戏看起来更好,但它们可能在理解上有点复杂,需要更大程度的组织。在上面示图中,在顶行的窗户玻璃很假,高光点是不动的。中间行的图像的高光点会随着你移动,像真实的反映效果(看最底行窗玻璃的亮点)。示图的底部是非常明显的铬黄效果,同它旁边质朴贴图的相同模型相比较,你可以更容易看到光点在表面移动。在转换过程中,图像可以自由动画和重新渲染,速度相当快。无论是地板拼贴或复杂的暗视觉,图像处理可以给出几乎任何游戏的图像或呈现独特的声音和情感;如果你能想像用一系列步骤去更改图像,那它就是着色器。将一个场景分解成基本贴图的能力有足够的挑战性,但将一个贴图分解成其基本组件的能力则是更深层的挑战。当游戏中艺术变成贴图、滤镜和程序的复杂结合体时,美术设计师将变得更加重要和更具挑战性。有人预言着色器将会替代美术设计师,但我认为不会发生,总会有需求要美术设计师做出的东西看上去更好、更独特(至少我们可以更改着色器的默认设置)。记住,着色器仅是美术设计师使用的另一个工具。
作者:刘娜 单位:日照职业技术学院
相关专题:战斗之心传承 灌溉排水学报 小木虫