com.docomostar.opt.ui.eruption
クラス ActionController

Object
  上位を拡張 com.docomostar.opt.ui.eruption.Object3D
      上位を拡張 com.docomostar.opt.ui.eruption.ActionController

public final class ActionController
extends Object3D

Action オブジェクトに対して細かい制御を行うクラスです。

制御対象となる Action は ActionController オブジェクト生成時に指定します。ActionController を使うことでリピートモード、セグメント単位での重み、およびセグメント単位での Action フレーム値を制御することができます。
ActionController 自体は Animatable に関連付けられ、オブジェクトに対するアニメーションの制御を行います。ただし、実際に ActionController による Action の制御を有効化するためには、 あらかじめ Animatable.setUseActionControllerNum(int) により有効化する ActionController の最大インデックスを設定しておく必要があります。
1 つの Animatable に対して最大 4 つまで ActionController を関連付けることが可能で、1 つ以上の ActionController が有効化されているときにはアクションの概念の項に記述されている式に基づきモーションブレンドが行われます。

端末によって、本クラスはサポートされていない場合があります。未サポートの場合、メソッドが呼び出された時点で UnsupportedOperationException が発生します。

ActionController の概念

(1) ActionController を使用しない場合

Animatable.setFrame(float) により、Action のすべてのセグメントに同じフレーム値を設定します。

(2) ActionController を使用する場合

ActionController を使うことにより、以下の操作が可能になります。

ActionController を Action と分けているのは、下図のように 1 つの Action を複数の Animatable で使い、別の ActionController を使うことを可能にするためです。


フィールドの概要
 
クラス com.docomostar.opt.ui.eruption.Object3D から継承されたフィールド
MCE_CLASS_TYPE_ACTION, MCE_CLASS_TYPE_ACTIONCONTROLLER, MCE_CLASS_TYPE_ACTIONTABLE, MCE_CLASS_TYPE_APPEARANCE, MCE_CLASS_TYPE_BONE, MCE_CLASS_TYPE_BONEDEFORMER, MCE_CLASS_TYPE_CAMERA, MCE_CLASS_TYPE_EFFECTSOURCE, MCE_CLASS_TYPE_FIGURE, MCE_CLASS_TYPE_GEOMETRICSHAPE, MCE_CLASS_TYPE_GRAPHICS3D, MCE_CLASS_TYPE_INDEXBUFFER, MCE_CLASS_TYPE_INTERSECTIONATTRIBUTES, MCE_CLASS_TYPE_LIGHT, MCE_CLASS_TYPE_MORPHDEFORMER, MCE_CLASS_TYPE_NODEDEFORMER, MCE_CLASS_TYPE_OBJECT3D, MCE_CLASS_TYPE_PARTICLE, MCE_CLASS_TYPE_TEXTURE, MCE_CLASS_TYPE_TEXTURETABLE, MCE_CLASS_TYPE_TRACKBALL, MCE_CLASS_TYPE_TRANSFORMTREE, MCE_CLASS_TYPE_VERTEXBUFFER
 
コンストラクタの概要
ActionController(Action act)
          ActionController を生成します。
 
メソッドの概要
 void enableFrame(boolean enable)
          Animatable.setFrame(float) でセットしたフレーム値に代わって ActionController のフレーム値を使用するか否かを設定します。
 int getRepeatMode()
          Action の再生モードを取得します。
 void resetWeight()
          Action の全セグメントに対してモーションブレンドの重みをリセット(1.0 に設定)します。
 void setFrame(int segIndex, float frame)
          セグメントを指定して Action にフレーム値を設定します。
 void setFrameAll(float frame)
          Action の全セグメントに対して同じフレーム値を設定します。
 void setRepeatMode(int mode)
          Action の再生モードを設定します。
 void setWeight(int segIndex, float weight)
           セグメントを指定して Action にモーションブレンドの重みを設定します。
 void setWeightAll(float weight)
           Action の全セグメントに対して同一のモーションブレンドの重みを設定します。
 
クラス com.docomostar.opt.ui.eruption.Object3D から継承されたメソッド
dispose, equals, findObject3D, findObject3D, getClassType, getUserId, hashCode, isDisposed, isRenderEnable, setRenderEnable, setUserId
 
クラス Object から継承されたメソッド
getClass, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

ActionController

public ActionController(Action act)
ActionController を生成します。

初期値は以下の通りです。

パラメータ:
act - Action を指定します。
例外:
NullPointerException -
act が null の場合に発生します。
メソッドの詳細

setWeight

public final void setWeight(int segIndex,
                            float weight)

セグメントを指定して Action にモーションブレンドの重みを設定します。

パラメータ:
segIndex - セグメントのインデックスを指定します。Actionの概念を参照してください。
weight - 重みを指定します。
例外:
IllegalArgumentException -
segIndex が [0, セグメント数 - 1] 以外の場合に発生します。
IllegalArgumentException -
weight < 0 の場合に発生します。

setWeightAll

public final void setWeightAll(float weight)

Action の全セグメントに対して同一のモーションブレンドの重みを設定します。

パラメータ:
weight - 重みを指定します。
例外:
IllegalArgumentException -
weight < 0 の場合に発生します。

resetWeight

public final void resetWeight()
Action の全セグメントに対してモーションブレンドの重みをリセット(1.0 に設定)します。


setFrame

public final void setFrame(int segIndex,
                           float frame)
セグメントを指定して Action にフレーム値を設定します。

パラメータ:
segIndex - セグメントのインデックスを指定します。Actionの概念を参照してください。
frame - フレーム値を指定します。

フレーム値の設定のみ行います。実際の再生処理は Animatable.updatePosture() が呼び出されたときに行われます。 このメソッドで設定したフレーム値を用いるには enableFrame(boolean) で ActionController のフレーム値を使用するようにしておく必要があります。

例外:
IllegalArgumentException -
segIndex が [0, セグメント数 - 1] 以外の場合に発生します。

setFrameAll

public final void setFrameAll(float frame)
Action の全セグメントに対して同じフレーム値を設定します。

パラメータ:
frame - フレーム値を指定します。

フレーム値の設定のみ行います。実際の再生処理は Animatable.updatePosture() が呼び出されたときに行われます。 このメソッドで設定したフレーム値を用いるには enableFrame(boolean) で ActionController のフレーム値を使用するようにしておく必要があります。


enableFrame

public final void enableFrame(boolean enable)
Animatable.setFrame(float) でセットしたフレーム値に代わって ActionController のフレーム値を使用するか否かを設定します。 初期値は、true です。

パラメータ:
enable - フレーム値の使用可否を指定します。指定できる値は以下の通りです。
  • 使用する場合 - true
  • 使用しない場合 - false

setRepeatMode

public final void setRepeatMode(int mode)
Action の再生モードを設定します。

パラメータ:
mode - 再生モードを指定します。指定できる値は以下の通りです。
例外:
IllegalArgumentException -
mode が不正な場合に発生します。

getRepeatMode

public final int getRepeatMode()
Action の再生モードを取得します。

戻り値:
設定された Action の再生モードを返します。


NTT DOCOMO,INC.

本製品または文書は著作権法により保護されており、その使用、複製、再頒布および逆コンパイルを制限するライセンスのもとにおいて頒布されます。NTTドコモ(その他に許諾者がある場合は当該許諾者も含めて)の書面による事前の許可なく、本製品および関連する文書のいかなる部分も、いかなる方法によっても複製することが禁じられます。フォントを含む第三者のソフトウェアは、著作権法により保護されており、その提供者からライセンスを受けているものです。

Sun、Sun Microsystems、Java、J2MEおよびJ2SEは、米国およびその他の国における米国 Sun Microsystems,Inc.の商標または登録商標です。サンのロゴマークは、米国 Sun Microsystems, Inc.の登録商標です。

FeliCaは、ソニー株式会社が開発した非接触ICカードの技術方式です。FeliCaは、ソニー株式会社の登録商標です。

「iモード」、「iアプリ/アイアプリ」、「i-αppli」ロゴ、「DoJa」はNTTドコモの商標または登録商標です。

その他記載された会社名、製品名などは該当する各社の商標または登録商標です。