TGEA中材质的使用(二)

2. Material对象

使用Material很简单,只需要简单的设置Material的属性即可。

打开\example\demo\data\shapes\test下的materials.cs文件,里面有大量的的材质的定义。还是以box为例,来看一下相就的Material的属性。

 new Material(One)

{

   mapTo = one;

   baseTex[0] = "one";

   emissive[0] = true;

   glow[0] = true;

};

  Mapto我们已经介绍了。

  baseTex是指定渲染这个材质要使用的纹理。

Emissive是自发光。

Glow是泛光。

要注意的是这些属性后面都有带下标。这是Stage的标号。Stage类似于DX中的pass,对于一个对象,可以指定多道pass进行渲染,最终再将这些pass混合起来,即多道渲染。

以下是one这个面的效果,如图5

图片5.png

5 demo中的效果

再看一个Material的实例。

new Material(BoxEdge)

{

   mapTo = box_edge;

   baseTex[0] = "box_edge";

   bumpTex[0] = "knot3bump";

   pixelSpecular[0] = true;

   specular[0] = "1.0 1.0 1.0 1.0";

   specularPower[0] = 32.0;

};

其中的bumptex属性指定了凹凸贴图,这样渲染出来的物体表面会有凹凸不平坦的效果。具体见图6

图片6.png

6 盒子边缘的凹凸效果

TGEA是一款强大的引擎,它可以生成功能丰富的shader。通过恰当调整Material的属性,已经可以做出很美观的游戏特效。具体的Material的属性可以参见Torque Developer Network上的文档。


posted on 2009-02-01 22:16  chsaov  阅读(347)  评论(0编辑  收藏  举报

导航