モデルを複数並べる

「モデルを表示する」では、モデルを一体だけ表示させる方法を説明しました。
モデルを複数表示させるためには、表示させるモデルの分だけ、表示の命令を繰り返します。


  1. Live2DModelAndoroid live2DModelA, live2DModelB, live2DModelC;
  2.  
  3. public void setupModel() throws Exception
  4. {
  5.     // 一つ目のモデルの読み込み
  6.     String modelpathA = "hogeA/hogeA/fileA.moc" ;
  7.     InputStream in = context.getAssets().open( modelpathA ) ;
  8.     live2DModelA = Live2DModelAndroid.loadModel(in) ;
  9.     in.close() ;
  10.  
  11.     // 二つ目のモデルの読み込み
  12.     String modelpathB = "hogeB/hogeB/fileB.moc" ;
  13.     InputStream in = context.getAssets().open( modelpathB ) ;
  14.     live2DModelB = Live2DModelAndroid.loadModel( in ) ;
  15.     in.close() ;
  16.  
  17.     // 三つ目のモデルの読み込み
  18.     String modelpathC = "hogeC/hogeC/fileC.moc" ;
  19.     InputStream in = context.getAssets().open( modelpathC ) ;
  20.     live2DModelC = Live2DModelAndroid.loadModel(in) ;
  21.     in.close() ;
  22. }
  23.  
  24.  
  25. @Override
  26. public void onDrawFrame( GL10 gl )
  27. {
  28.     if( live2DModelA == null )setsupModel() ;
  29.  
  30.     gl.glEnable(GL10.GL_BLEND);
  31.     gl.glBlendFunc(GL10.GL_ONE , GL10.GL_ONE_MINUS_SRC_ALPHA );
  32.     gl.glDisable(GL10.GL_DEPTH_TEST) ;
  33.     gl.glDisable(GL10.GL_CULL_FACE) ;
  34.  
  35.     // 一つ目のモデルの描画
  36.     live2DModelA.setGL(gl) ;
  37.     live2DModelA.update();
  38.     live2DModelA.draw();
  39.  
  40.     // 二つ目のモデルの描画
  41.     live2DModelB.setGL(gl) ;
  42.     live2DModelB.update();
  43.     live2DModelB.draw();
  44.  
  45.     // 三つ目のモデルの描画
  46.     live2DModelC.setGL(gl) ;
  47.     live2DModelC.update();
  48.     live2DModelC.draw();
  49. }

この例では、サイズ、位置などの設定は行っていません。
それらの設定はプラットフォーム別設定で説明します。
Comments