此教程将指引你如何建立自己的Shaders,让你的游戏场景看起来更好。Unity配备了强大
的阴影和材料的语言工具称为ShaderLab,以程式语言来看,它类似于CgFX和Direct3D的语法,
它不只纪录基本的端点或者映像点(vertex/pixel)资讯,也描述了材质所必要的一切资讯。
在unity材质检视器中可以看到Shaders的性质及多重shader(SubShaders)的描述,针对不同图
形硬件,每个描述也都完整的说明了图形硬件的彩现状态,fixed function pipeline如何设定、
vertex/ fragment programs如何作用。 Vertex and fragment程序可以使用高阶Cg程式语言或
低阶shader组合。
在这个教程中,我们将描述如何使用fixed function与programmable pipelines两种方式于
ShaderLab中撰写shaders,我们假设读者拥有基本的OpenGL或Direct3D彩现概念,并对cg有
fixed function与programmable pipelines的常识,HLSL或GLSL编程语言技术,一些Shader教
程与参考文件可于NVIDIA以及AMD的开发站上取得。
建立一个新的shader有两种方法,可以由菜单Assets->Create->Shader新增,或复制一个既有
的shader再进行编辑,新的shader可以透过双击来启动编辑画面(UniSciTE)
下面开始介绍一个基础的shader范例:
Shader "Tutorial/Basic" {!!
!!!! Properties {!!
!!!!!!!! _Color ("Main Color", Color) = (1,0.5,0.5,1)!!
!!!! }!!
!!!! SubShader {!!
!!!!!!!! Pass {!!
!!!!!!!!!!!! Material {!!
!!!!!!!!!!!!!!!! Diffuse [_Color]!!
!!!!!!!!!!!! }!!
!!!!!!!!!!!! Lighting On!!
!!!!!!!! }!!
着色器:开始
! 1