(2)域值说明

  1. material:包含一个Material节点。
  2. texture:包含一个ImageTexture、MovieTexture或者PixelTexture节点。
  3. textureTransform:包含一个TextureTransform节点,如果texture域为NULL,则textureTransform域无效。

Appearance节点仅在Shape节点的appearance域中出现。该节点中所有域值均可为NULL。但是一旦某个域包含非零节点,则被包含节点必须包含一个上述相应类型的节点。如果material域是NULL,与Appearance相关的几何形体是无光亮的,也就是说在绘制这个几何形体时忽略所有光照;但是,如果material域包含一个缺省的材料节点,那么这个几何形体能用缺省的材料节点的值照亮。即在一个造型节点中指定appearance域为appearance Appearance{ },结果是没有光照;而若指定appearance域为appearance Appearance{ material Material{ }},光照将基于缺省材料值。

设置虚拟对象的材质

不同材料的物体外在的表现不同,如金属的物体反光,玻璃的制品透明等,这些特征可使用节点Material反映出来。

(1)语法说明

Material { 
  diffuseColor 0.8 # SFColor
  ambientIntensify 0.2 # SFColor
  specularColor 0 0 0 # SFColor
  emissiveColor 0 0 0 # SFColor
  shininess 0.2 # SFFloat
  transparency 0 # SFFloat
}

(2)域值说明

  1. diffuseColor:指定漫反射颜色。物体表面相对于光源的角度,将决定它对来自光源的光的反射。表面越接近垂直于光源,被反射的漫射光线就越多。
  2. ambientIntensity:指明将有多少环境光被该表面反射。环境光是各向同性的,而且它仅依赖于光源的数目而不依赖于相对于表面的位置。环境光颜色以ambientlntensity的数值乘以diffuseColor的数值来计算。
  3. specularColor:指明物体镜面反射光的颜色。
  4. emissiveColor:指明一个发光物体产生的光的颜色。发射光的颜色在显示基于辐射度的模型(计算空间光能量的传递与分配)时,或者显示科学数据时非常有用。当所有其他的颜色为黑色(0 0 0)时,该颜色域被使用。
  5. shininess:指明物体表面的亮度,其值的范围从漫反射表面的0.0到高度抛光表面的1.0。
  6. transparency:指明物体的透明度,其值的范围从完全不透光表面的0.0到完全透光表。