Japanese | English | Korean

Samples

ブレンドモード

ブレンドモードを設定すると、モデルを半透明で表示することができます。


ブレンドモードを設定するには、 CompositingMode クラスの setBlending() メソッドを使用します。M3G では REPLACE 、 ALPHA 、 ALPHA_ADD 、 MODULATE 、 MODULATE_X2 の5種類のブレンドモードが用意されています。各ブレンドモードの詳細については javadoc をご参照ください。

ブレンドモードが ALPHA 、 ALPHA_ADD の場合、 Node クラスの setAlphaFactor() メソッドによって透過量を指定することができます。このとき、 setAlphaFactor() メソッドの引数には 0 から 1 の間に正規化された値を指定してください。
描画対象となるモデルは setAlphaFactor() メソッドによって設定された透過量が CompositingMode クラスの alphaThreshold が持つ値以上であるときに描画されます。

以下のサンプルコードはブレンドモードの変更、および透過量の変更を行っているところです。

/**
  * alphaDegree = 0.1f;
  * myComp は World オブジェクトから取得した
  *   CompositingMode オブジェクト
  */

/* ブレンドモード変更 */
if ( isBlend == 0 ) {
myComp.setBlending ( CompositingMode.REPLACE );
} else {
if ( isBlend == 1 )
myComp.setBlending ( CompositingMode.ALPHA );
else if ( isBlend == 2 )
myComp.setBlending ( CompositingMode.MODULATE );
/* Alpha Factor の設定 */
if ( alphaFact < 0.f )
alphaFact = 0.f;
else if ( alphaFact > 1.f )
alphaFact = 1.f;
alphaMesh.setAlphaFactor ( alphaFact );
}

( 中略 )

/* Alpha Factor の増減 */
if ( keyCode == KEY_NUM7 ) {
alphaFact -= ( alphaFact <= 0.f ) ? 0.f : alphaDegree;
}
if ( keyCode == KEY_NUM9 ) {
alphaFact += ( alphaFact >= 1.f ) ? 0.f : alphaDegree;
}

REPLACE

ALPHA ( Alpha Factor = 0.2 )

ALPHA ( Alpha Factor = 0.6 )

MODULATE