在这一节,我们将观注材质及怎样将材质应用的三维物体上.我们有多种材质类型可以使用,从简单的图像到带有鼠标交互及视频流的视频片段.每种类型采用一种方法,有优点和缺点.让我们看一下所有种类的材质.将会给我们的任务找到合适的材质带来便捷.
这一节包括以下内容:
材质简介,
基本材质如线框及颜色材质,
加载图像作为材质的策略,
使用flash片段作为材质,
视频流片段材质,
组合材质,
对像和材质的交互,
备注及技巧.
材质介绍:
材质就像物体的纹理,没有材质,三维物体是不可见的.选择正确的材质,你可以让简单的物体看起来细致并且有趣.
纹理与材质不同在于纹理是被用作材质的源图像.材质被定议成有多种属性,这些属性影响纹理怎样被应用到三维物体.你可以将材质理解成扩展的纹理.
在我们讨论每种类型的材质之前,我们来研究一下,材质是怎样工作的.在pv3d中的材质有自己的问题.了解材质怎样工作可以帮助你解决这些问题.
在前几节中,我们了解到3D对像是有三角组成的.这些三角被用作3d对象的皮肤.每个单独的三角关联到材质的一部分.一个三角信息将被用于在平面的材质与用户看到的视面之间进行转换.一个有很多三角的物体,逼真的材质将会显示在屏幕上.然而更多的三角将会带来更多的转换运算,因此对于处理器是沉重负担.
基本属性
所有的材质都继承自特定的材质类(MaterialObject3D),这个类包括对于所有材质子类都有用的属性,尽管个别只对物别的材质类型有效.比如,控制材质可以让一个图片可以在衡向或纵象可以重复多次的属性(tiling),就不可以应用在基本的颜色材质上.
在我们讨论每个材质类型之前,我们来看三个可以应用到所有材质的共有属性.
1,双面和单面贴图,
2,对面贴图,
2,平滑
当你设置材质的doubleSided属性为true时,你将使组成物体的三角双面可见,让你可以看见一个板块实例的前后.或者是cube的里面和外面都可见.设置属性的代码如下:
material.doubleSide=true;
相同的结果可以通过设置一个材料oneSide属性设置为false。
material.oneSide = false;
要么可以使用,选择两个选项之一,只是口味的问题.
默认所有的材质,只有被定义在物体前面的是可见的.但是如果你希望它被映射到对象的另一边?
举个例子,如果你只想要一个立方体里面有纹理而不是默认的外面有纹理?
出于性能的考虑,设置双面材质不是一个明智的主意.对于需要设置不可见面的材质的情况,材质的opposite属性可以被设定为true;
material.opposite = true;
因为3D方面的材质的转换与拉伸,材质可变成像素化.改变材质的smoothing属性可以解决不平滑问题.
material.smooth = true;
不幸的是,平滑将损失性能,所以三思而后使之。在关于BitmapMaterial类这一节,我们将进一步研究平滑技术,并在第13章,在那里我们将讨论性能优化技术.
英文平平,有时间再翻译后面的吧,