我是 Papervision 的新手。我想设计一个在其直径之一周围有 8 个孔的球体。我该怎么做?如何在 Papervision 中的球体上绘制任何东西?
1 回答
取决于您希望孔的外观。您可以在任何 3d 编辑器中制作一个带有孔洞的整体。Blender 和wings 3d,sketchup 是免费的,并且可以以papervision 支持的格式导出。
如果要在球体上绘图,则意味着您要创建和应用纹理。您可能想尝试使用 BumpMap 以获得一些真实感,但对于 npw,仅应用材质是一个好的开始。
最简单的方法是应用位图或 MovieMaterial。顾名思义,位图材质只是位图,而 MovieMaterial 是由 MovieClip 制成的材质。据我所知,位图材质有 3 种风格:
BitmapMaterial - 在其构造函数中传递 BitmapData 实例 BitmapFileMaterial - 将路径传递到外部图像文件 BitmapAssetMaterial - 从库中传递位图的链接名称。
MovieMaterial 有 2 个版本:简单的 MovieMaterial,您在其构造函数和 MovieAssetMaterial 中传入对 DisplayObject 的引用。您为库中的 MovieClip 传递链接类集。还有一个 MovieCacheMaterial,但我认为您不需要它。
所以这是一个关于如何向球体添加纹理的基本示例,假设您的场景称为场景:
//assuming BMP8holes is a linkage for a Bitmap in the library
var ballBitmapMaterial:BitmapAssetMaterial = new BitmapAssetMaterial("BMP8holes");
//assuming Movie8holes is a linkage a MovieClip in the library
var ballMovieMaterial:MovieAssetMaterial = new MovieAssetMaterial("Movie8holes");
var ball:Sphere = new Sphere(ballBitmapMaterial);
scene.addChild(ball);
球体参考(好吧...pv3d文档)在这里:http://papervision3d.googlecode.com/svn/trunk/as3/trunk/docs/org/papervision3d/objects/primitives/Sphere.html
希望这可以帮助。