Three.jsを使って、作ってみた

プログラミング関連の事を色々書いています(^^) 週末はレストランやコンビニのお菓子のことを書いています。

Three.jsの基本⑦

今回は、Three.jsの描画関数の定義をやります!
今までに、カメラ,ライト,物体の設定が終わり、そして、最後に追加する項目です。
こちらを書くと、実行できます。

  • renderer.render(sceneオブジェクト, cameraオブジェクト)(※rendererはレンダラーオブジェクト)

実は、説明する所は、殆ど無いです(笑)
これは、必ず書かないとダメなやつなので。


実際のコードではこのように書きます。「introduction.html」の、この部分です。

/*--------------------描画関数の定義⑥-----------*/ 
//※renderer:レンダラーオブジェクト,scene:sceneオブジェクト, camera:cameraオブジェクト
    
    function loop(){  
        //クリアーカラーで初期化
        renderer.clear();   
        //レンダリング(必須)
        renderer.render(scene, camera);
        //OrbitControls.jsを使用した場合は、こちらが必要
        controls.update();  
        //requestAnimationFrame
        window.requestAnimationFrame(loop);
    }
   /*------------描画関数の定義-----ここまで-------*/   

必ず必要なのは、renderer.render(scene, camera);です。

では、軽く説明します。
renderer.render(sceneオブジェクト, cameraオブジェクト)で、実際に描画します。
レンダラーオブジェクトのレンダリングメッソドrenderer()の引数にsceneオブジェクトとcameraオブジェクトを与えて実行します。

で、 renderer.clear(); と window.requestAnimationFrame();は、アニメーションを使用する場合は、必ず入ります。静止画の場合は入りません。

また、 controls.update(); は、OrbitControls.jsを使用した場合、必ずいります。(requestAnimationFrameも入ります。)

こんなところですかね~

ということで、長らく書いてきましたが、基本は、これで終わりです。

これからは、Three.jsの個別の機能やテクニックなどを中心に書いていきます!

f:id:gupuru:20131125190025p:plain


前回  最初の記事