この投稿に基づいて、3D モデルのレンダリングに関する小さなコードを書いています: http://active.tutsplus.com/tutorials/3d/quick-tip-displaying-a-3d-model-with-papervision3d/
無料の 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 ファイルが役立つと思われる場合は、教えてください :)