1.Set Stage3D


  1. public class Main extends Sprite
  2. {
  3.     public function Main():void
  4.     {
  5.         var stage3D:Stage3D ;                                                             // ・・・[1]
  6.         var context3D:Context3D ;                                                         // ・・・[2]
  7.         createModelStage3D(this) ;
  8.  
  9.         function createModelStage3D( parent:DisplayObjectContainer ) : void
  10.         {
  11.             Live2D.L2D_FLASH_ENABLE_STAGE3D = true ;                                      // ・・・[3]
  12.             Live2D.L2D_FLASH_OPTIMIZATION = false ;                                       // ・・・[3]
  13.             stage3D =stage.stage3Ds[0] ;                                                  // ・・・[4]
  14.  
  15.             stage3D.addEventListener(Event.CONTEXT3D_CREATE, onCreateStage3D,false,1);    // ・・・[5]
  16.             stage3D.requestContext3D(Context3DRenderMode.AUTO);                           // ・・・[6]
  17.  
  18.             function onCreateStage3D( e:Event ) : void
  19.             {
  20.                 context3D = ( e.target as Stage3D ).context3D ;
  21.                 var width:int = 320 ;
  22.                 var height:int = 480 ;
  23.                 context3D.configureBackBuffer( width ,height, 0, false ) ;                // ・・・[7]
  24.                 context3D.setRenderToBackBuffer() ;
  25.                 context3D.setBlendFactors                                                 // ・・・[8]
  26.                     (
  27.                         Context3DBlendFactor.ONE,
  28.                         Context3DBlendFactor.ONE_MINUS_SOURCE_ALPHA
  29.                     ) ;
  30.                    
  31.                 live2DModel.setStage3D(stage3D,width , height);                           // ・・・[9]
  32.             }
  33.         }
  34.     }
  35. }

[1] : Declare the instance of Stage3D class.
        Stage3D is
[1]: Stage3Dクラスのインスタンスを宣言します。
       Stage3Dは、

[2] : Declare the instance of Context3D class.
        Context3D is the class to set the context for rendering the graphics.
[2]: Context3Dクラスのインスタンスを宣言します。
       Context3Dは、グラフィックをレンダリングするためのコンテキストを設定するクラスです。

[3] : Make setting to use Stage3D for drawing.
[3]: 描画はStage3Dを使うように設定します。

[4] : Retrive the display layer.
        Numbers of layer included in stage3ds array differ depending on the platform.
        Use zeroth.
[4]: 表示レイヤーを取得します。
       stage3ds配列に含まれるレイヤーの数は、プラットフォームなどによって異なります。
       通常は0番目を使用します。

[5] : Register the event lister which is invoked when the preparation of 3D layers are completed.
[5]: 3Dレイヤーの準備が完了した時に呼び出されるイベントリスナーの登録をします。

[6] : Start to prepare 3D layers.
[6]: 3Dレイヤーの準備を開始します。

[7] : Initialize the display buffer.
        Set the width of display area for the first parameter, adn set the height for the second parameter. The unit is pixcel.
        Set the quality of anti-areas for the third parameter. Set it as 0, since anti-areas is not used with Live2D.
        Set the stencil buffer and the depth buffer for the fourth parameter. Set i as false, since this is not used with Live2D as well.
[7]: 表示バッファの初期化を行います。
       第1引数には表示領域の幅を、第2引数には高さを設定します。単位はピクセルです。
       第3引数は、アンチエイリアスの品質を指定します。Live2Dではアンチエイリアスは使用しないので0を指定します。
       第4引数にはステンシルバッファと震度バッファを指定します。これもLive2Dでは使用しないのでfalseを指定します。

[8] : Specify the blending.
        Set it as alpha blending, since you need to use the transparency part of the Texture with Live2D model.
[8]: ブレンドの指定を行います。
       Live2Dモデルのテクスチャの透明部分を活かす必要があるので、アルファブレンドを設定します。

[9] : Assign 3D layers.
[9]: 3Dレイヤーの割り当てをします。





Comments