In case Flash no longer exists; a copy of this site is included in the Flashpoint archive's "ultimate" collection.

Dead Code Preservation :: Archived AS3 works from wonderfl.net

flash on 2011-8-13

PaperVision3DでDAEファイルを読み込んでみる

3Dモデルは http://blog.r3c7.net/?p=121 より
ありがとうございます!

[感想]
ほんとにdaeファイルをloadしたら終わった。
すごい簡単だ!

[課題]
1. 元記事を見るとネギ振っている。
2. モデルが小さかったのでcamera.zoomで大きくしている。
scaleで大きくしたらyawの角速度が上がってしまった。
普通にmodelを大きくしたい。

- org.papervision3d.objects.parsers.DAE;
- DAE.load(filename:String);
Get Adobe Flash player
by hacker_ns7ubky2 13 Aug 2011
    Embed
/**
 * Copyright hacker_ns7ubky2 ( http://wonderfl.net/user/hacker_ns7ubky2 )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/dVtb
 */

/**
 * PaperVision3DでDAEファイルを読み込んでみる
 * 
 * 3Dモデルは http://blog.r3c7.net/?p=121 より
 * ありがとうございます!
 * 
 * [感想]
 * ほんとにdaeファイルをloadしたら終わった。
 * すごい簡単だ!
 * 
 * [課題]
 * 1. 元記事を見るとネギ振っている。
 * 2. モデルが小さかったのでcamera.zoomで大きくしている。
 *    scaleで大きくしたらyawの角速度が上がってしまった。
 *    普通にmodelを大きくしたい。
 * 
 * - org.papervision3d.objects.parsers.DAE;
 * - DAE.load(filename:String);
 */
package {
    import flash.events.Event;
    
    import org.papervision3d.objects.parsers.DAE;
    import org.papervision3d.view.BasicView;

    [SWF(frameRate=50, backgroundColor="#222222")]
    public class Main extends BasicView
    {
        public var model:DAE;
        
        public function Main()
        {
            // DAEクラスのインスタンスmodelを作成
            model = new DAE();
            // daeファイルを読み込む。これだけでOK。めっちゃ簡単。
            // negimiku.daeファイルは、miku.pngを読むように設定されているのでマテリアルとかもいらない。
            model.load("http://hokypoky.info/samples/10/01/13/collada/negimiku.dae");
            // サイズ調整 (今回はモデルが1つなのでこれで平気そうにみえる。ホントはmodelを大きくしたい)
            camera.zoom = 800;            
            // シーンにaddChild
            scene.addChild(model);
            // レンダリング開始
            startRendering();
        }
        override protected function onRenderTick(event:Event=null):void
        {
            // Y軸回転を少しだけ。
            model.yaw(0.1);
            // SuperクラスのonRenderTickを実行
            super.onRenderTick(event);
        }
    }
}