paperversion3d材质。Papervision3D Essentials学习笔记(二)
WireframeMaterial 线框材质
ColorMaterial 颜色材质
BitmapMaterial 位图材质
BitmapFileMaterial 位图文件材质
BitmapAssetMaterial 位图元件材质
MovieMaterial 影片材质
MovieAssetMaterial 影片元件材质
VideoStreamMaterial 视频流材质
CompositeMaterial 组合材质
平滑材质使用 material.smooth = true.
双面材质使用 material.doubleSided = true.
动画材质使用 material.animated= true.
阻止材质扭曲使用 material.precise = true.
材质和物体可以交互使用 viewport.interactive = True
material.interactive = true.
翻转材质使用DisplayObject的 scaleX属性,或者使用BitmapMaterialTools功能类的
静态方法来翻转bitmap数据:BitmapMaterialTools.mirrorBitmapX( material.bitmap).
平铺材质使用 material.tiled = true并设置 material.maxU 和 material.maxV这两个横线和纵向重复数.
当precise属性设置为True时, PV3D将自动的将三角形面细分以创建更多的新的三角形面这样就更精确了。
这种效果是立竿见影的。但是也产生了一个新的问题。当涉及到照相机的角度的每一次改变,PV3D 都要
唱建一些新的三角形面,这个前面的有很大的区别。这会引起文本晃动和闪烁。我们有下面两种方法可以
控制这种行为。
增加更多的三角形面
定义精度模式
我们创建的平面横向纵向都只有一个分段,那么我们就在创建时使用多个分段来产生多个三角形面。再与
precision属性设置为True结合使用摇晃闪烁效果就不易察觉了。
另一种方式就是定义精度模式来避免摇晃闪烁效果。精度模式默认为:PrecisionMode.NORMAL,我们将
它设置为:PrecisionMode.STABLE。
先导入这个类。
import org.papervision3d.materials.utils.PrecisionMode;
然后将材质的precisionMode设置如下:
material.precisionMode = PrecisionMode.STABLE;
这种方法可以将我们的问题降低到可以接受的程度。但是,记住哦,这些都是以消耗 CPU 资源为代价的,
所以在实际使用的时候还是多琢磨琢磨,如何取舍才能得到一个性能和效果的平衡。