我写基于这个职位上的3D模型再现一小块代码:http://active.tutsplus.com/tutorials/3d/quick-tip-displaying-a-3d-model-with-papervision3d/非常小的3D渲染
我下载了一个免费的DAE文件(car_shell_001.dae)和纹理(vehicle_texture.jpg)。
我刚刚从示例中复制了代码,将文件指针更改为我的文件。这里的代码:
public class Tarini extends BasicView
{
[Embed(source="Assets/car_shell_001.dae", mimeType="application/octet-stream")]
private var bikeModelClass:Class;
[Embed(source="./Assets/vehicle_texture.jpg")]
private var bikeTextureClass:Class;
private var bikeModelDAE:DAE;
public function Tarini()
{
this.loaderInfo.addEventListener (Event.COMPLETE, onFullyLoaded) ;
}
private function onFullyLoaded(e:Event):void
{
var bitmap:Bitmap = new bikeTextureClass () ;
var bitmapMaterial:BitmapMaterial = new BitmapMaterial (bitmap.bitmapData) ;
var materialsList:MaterialsList = new MaterialsList () ;
materialsList.addMaterial (bitmapMaterial, "all") ;
var byteArray:ByteArray = new bikeModelClass () ;
bikeModelDAE = new DAE () ;
bikeModelDAE.load (byteArray, materialsList) ;
this.scene.addChild (bikeModelDAE) ;
this.camera.z = 500;
this.startRendering () ;
}
}
这是如此简单,我喜欢它。我使用mxmlc进行编译,但没有编译错误。 当我打开生成的swf时,我在浏览器的中心获得了一个小的再现。
有什么问题?我需要以某种方式强制维度? 如果您认为dae和jpg文件会有帮助,请告诉我:
我用_camera对象设置缩放属性,它的工作原理。这是正确的解决方案吗? – tarini 2013-02-10 10:08:59
在发布的代码中,相机的z位置是500,并且(可能)您的3D对象位于z位置0 - 因为其较远而很小? – 2013-02-10 16:41:19