|
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||
Objectcom.docomostar.opt.ui.eruption.Object3D
com.docomostar.opt.ui.eruption.Particle
com.docomostar.opt.ui.eruption.EffectSource
public final class EffectSource
エフェクトの発生点を表すクラスです。
エフェクトの表現は、MCEファイルからロードしたオブジェクトを描画することによって、実現されます。
エフェクトの発生には雛形としてシードが用いられ、シードには Particle または EffectSource のオブジェクトが設定されています。
また、シードに EffectSource が使用された場合、エフェクトの各種設定は EffectSource に関連付けられた Particle のものを使用します。
EffectSource に対する設定のうち、射出方向、流量は単一の値ではなく、エフェクト全体に対してとり得る値の区間を設定し、指定された区間に収まるランダムな値を実際のパラメータとして用います。
端末によって、本クラスはサポートされていない場合があります。未サポートの場合、メソッドが呼び出された時点で UnsupportedOperationException が発生します。
| フィールドの概要 | |
|---|---|
static int |
MCE_SHAPE_MODE_FILL
発生位置の指定:形状全体を表します(=1)。 |
static int |
MCE_SHAPE_MODE_LINE
発生位置の指定:頂点/円周上を表します(=0)。 |
static int |
MCE_SHAPE_TYPE_BOX
発生点の形状の指定:直方体を表します(=5)。 |
static int |
MCE_SHAPE_TYPE_CIRCLE
発生点の形状の指定:円を表します(=3)。 |
static int |
MCE_SHAPE_TYPE_LINE
発生点の形状の指定:線を表します(=1)。 |
static int |
MCE_SHAPE_TYPE_POINT
発生点の形状の指定:点を表します(=0)。 |
static int |
MCE_SHAPE_TYPE_RECTANGLE
発生点の形状の指定:長方形を表します(=2)。 |
static int |
MCE_SHAPE_TYPE_SPHERE
発生点の形状の指定:球を表します(=4)。 |
| メソッドの概要 | |
|---|---|
void |
addSiblingNode(NodeDeformerNode node,
Transform offset)
親( NodeDeformer)に兄弟ノードを追加します。 |
void |
bindTexture(TextureTable textures)
テクスチャを関連付けます。 |
NodeDeformer |
getParent()
親( NodeDeformer)を取得します。 |
int |
getParentIndex()
親( NodeDeformer)における自身のインデックスを取得します。 |
Object3D |
getSeed(int ix)
This にセットされているシードを取得します。 |
int |
getSeedNum()
This にセットされているシードの個数を取得します。 |
void |
getToWorldTransform(Transform dst)
ワールド座標への変換行列を取得します。 |
void |
getTransform(Transform dst)
変換行列を取得します。 |
boolean |
isVisible()
NodeDeformerNode の可視状態を検査します。 |
void |
mulScale(Vector3D v)
変換行列にスケーリング成分を乗算します。 |
void |
removeFromParent()
親( NodeDeformer)から自身を除去します。 |
void |
resetTransform()
ノードの変換行列を初期状態(ロード時の初期値)にします。 |
void |
setExtFactorAcceleration(Vector3D acc)
エフェクトの外部加速度を設定します。 |
void |
setFlow(float upperVal,
float lowerVal,
boolean isLoop)
エフェクトの流量を設定します。 |
void |
setFrame(float frame)
フレーム値を設定します。 |
void |
setIdentity()
変換行列を恒等変換行列に設定します。 |
void |
setLaunchVector(Vector3D upperVal,
Vector3D lowerVal,
boolean normalize)
射出方向を設定します。 |
void |
setPosition(Vector3D pos)
EffectSource の中心位置を設定します。 |
void |
setRotateEuler(int type,
Vector3D v)
変換行列の回転をオイラー角で設定します。 |
void |
setRotation(Vector3D rot)
EffectSource の姿勢を設定します。 |
void |
setShapeSize(Vector3D size)
エフェクト発生点の形状の最大サイズを設定します。 |
void |
setShapeType(int shapeType,
int shapeMode)
エフェクト発生点の形状を設定します。 |
void |
setTransform(Transform src)
変換行列を設定します。 |
void |
setTranslate(Vector3D v)
変換行列の移動成分を設定します。 |
void |
setVisible(boolean visible)
NodeDeformerNode に対して可視/不可視を設定します。 |
void |
updateParticles()
エフェクトを更新します。 |
| クラス com.docomostar.opt.ui.eruption.Particle から継承されたメソッド |
|---|
setColorIniVal, setColorRange, setColorVelocity, setLifeDuration, setMoveSpeed, setMoveSpeedRange, setRotationIniVal, setRotationRange, setRotationVelocity, setScaleIniVal, setScaleRange, setScaleVelocity, setTextureSTRange, setTextureSTVelocity |
| クラス 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 |
| フィールドの詳細 |
|---|
public static final int MCE_SHAPE_TYPE_POINT
public static final int MCE_SHAPE_TYPE_LINE
public static final int MCE_SHAPE_TYPE_RECTANGLE
public static final int MCE_SHAPE_TYPE_CIRCLE
public static final int MCE_SHAPE_TYPE_SPHERE
public static final int MCE_SHAPE_TYPE_BOX
public static final int MCE_SHAPE_MODE_LINE
public static final int MCE_SHAPE_MODE_FILL
| メソッドの詳細 |
|---|
public final int getSeedNum()
This にセットされているシードの個数を取得します。
public final Object3D getSeed(int ix)
This にセットされているシードを取得します。
ix - 取得するシードのインデックスを指定します。
EffectSource または、Particle となります。
IllegalArgumentException -
public final void setFrame(float frame)
フレーム値の設定のみ行います。updateParticles() が呼ばれるまでエフェクトの更新は行われません。
エフェクトは前回のフレーム値と今回のフレーム値の差から物理的な計算でオブジェクトの位置を決定します。モデルのアニメーションのように
キーフレームからオブジェクトの位置を指定することはできません。
frame - フレーム値を指定します。
IllegalArgumentException -
frame が 0.0 未満の場合に発生します。public final void updateParticles()
現在のフレーム値に基づき、エフェクトを更新します。
public final void setLaunchVector(Vector3D upperVal,
Vector3D lowerVal,
boolean normalize)
エフェクトの射出方向の各成分が、正規化なしの状態で [lowerVal, upperVal] の範囲に収まるように設定します。
射出方向のチェックは x, y, z の順で行われ、途中でエラーになった場合、それよりも前の値は引数のものに変更されます。
upperVal - 射出方向の各成分の上限値を示すベクトルを指定します。lowerVal - 射出方向の各成分の下限値を示すベクトルを指定します。normalize - 射出方向ベクトルの正規化を行うか否かを示すフラグを指定します。
NullPointerException -
upperVal,lowerVal のいずれかが null の場合に発生します。
IllegalArgumentException -
upperVal.c < lowerVal.c となる成分 c が存在する場合に発生します。
public final void setFlow(float upperVal,
float lowerVal,
boolean isLoop)
エフェクトの流量を [lowerVal, upperVal] に設定します。 流量とは、フレーム単位で発生するエフェクトの個数を表します。
upperVal - 流量の上限値を指定します。lowerVal - 流量の下限値を指定します。isLoop - 指定できる値は、以下の通りです。
true
false
IllegalArgumentException -
upperVal < lowerVal の場合に発生します。public final void setExtFactorAcceleration(Vector3D acc)
加速度とは、フレーム単位での速度の変化量を表します。
シードに対して設定された加速度とは別に扱われ、シードに設定された速度の上下限の影響を受けません。
acc - 加速度ベクトルを指定します。
NullPointerException -
acc が null の場合に発生します。public final void setPosition(Vector3D pos)
EffectSource の中心位置を設定します。
pos - 中心位置を指定します。
NullPointerException -
pos が null の場合に発生します。public final void setRotation(Vector3D rot)
EffectSource の姿勢を設定します。
EffectSource の姿勢をオイラー角で設定します。回転順序は x->y->z の順です。
rot - 各軸の回転角を指定します。
NullPointerException -
rot が null の場合に発生します。
public final void setShapeType(int shapeType,
int shapeMode)
shapeType - 発生点の形状の指定を指定します。指定できる値は、以下の通りです。
MCE_SHAPE_TYPE_POINT
MCE_SHAPE_TYPE_LINE
MCE_SHAPE_TYPE_RECTANGLE
MCE_SHAPE_TYPE_CIRCLE
MCE_SHAPE_TYPE_SPHERE
MCE_SHAPE_TYPE_BOX
shapeMode - MCE_SHAPE_TYPE_RECTANGLE / MCE_SHAPE_TYPE_CIRCLE の場合の発生位置を指定します。指定できる値は、以下の通りです。
MCE_SHAPE_MODE_LINE
MCE_SHAPE_MODE_FILL
IllegalArgumentException -
shapeType が不正な場合に発生します。
IllegalArgumentException -
shapeMode が不正な場合に発生します。public final void setShapeSize(Vector3D size)
size - エフェクト発生点の形状の最大サイズを指定します。
各形状に対してサイズは以下の意味を持ちます。
MCE_SHAPE_TYPE_POINT
MCE_SHAPE_TYPE_LINE
MCE_SHAPE_TYPE_RECTANGLE
MCE_SHAPE_TYPE_CIRCLE
MCE_SHAPE_TYPE_SPHERE
MCE_SHAPE_TYPE_BOX
NullPointerException -
size が null の場合に発生します。public final void bindTexture(TextureTable textures)
This と This に設定されたシードに対して textures に含まれるテクスチャを関連付けます。
シードの中に EffectSource オブジェクトが存在すれば再帰的に関連付けが行われます。
関連付けは This 内の Appearance が持つグローバルIDを介して行います。
textures - TextureTable オブジェクトを指定します。null 指定時は関連付けが外されます。
IllegalArgumentException -
textures 内の Texture がミップマップを使用していない状態で、This 内の Appearance の Appearance.MCE_TEXTURE_FILTER_TYPE_MIN に対応するテクスチャフィルタが Appearance.MCE_TEXTURE_FILTER_NEAREST_MIPMAP_NEAREST, Appearance.MCE_TEXTURE_FILTER_LINEAR_MIPMAP_NEAREST, Appearance.MCE_TEXTURE_FILTER_NEAREST_MIPMAP_LINEAR, Appearance.MCE_TEXTURE_FILTER_LINEAR_MIPMAP_LINEAR のいずれかの場合に発生します。public final void getToWorldTransform(Transform dst)
NodeDeformerNode の記述:
ワールド座標への変換行列は Figure.updatePosture(Transform)、または TransformTree.relatedMultiply() が呼ばれたときに更新されます。
そのため、最新の変換行列が必要なときには、This の属する Figure が持つ TransformTree に対して TransformTree.relatedMultiply() を呼ぶか、
This の属する Figure に対して Figure.updatePosture(Transform)、または内部的に同 API を呼んで更新処理を行います。
API(Collision3D.isHit(Vector3D, Vector3D, Figure, Transform, GeometricShape[], int[], int),
Collision3D.isHit(GeometricShape, Figure, Transform, Transform, GeometricShape[], int[], int),
Collision3D.isHit(Vector3D, Vector3D, Vector3D, Figure, Transform, GeometricShape[], int[], int),
Collision3D.isInViewVolume(Figure, Transform, Camera, Transform, IndexBuffer[], int[], int),
Collision3D.isInViewVolume(Figure, Transform, Camera, Vector3D, Vector3D, Vector3D, IndexBuffer[], int[], int),
Figure.pick(Vector3D, Vector3D, IntersectionAttributes, int, boolean, Transform),
Graphics3D.drawFigure(Figure, Transform, int),
Graphics3D.addDrawQueueFigure(Figure, Transform))
を事前に呼んでおいた場合、最新の変換行列の情報が dst に反映されるようになります。
NodeDeformerNode 内の getToWorldTransformdst - 取得する変換行列の格納先を指定します。public final void setTransform(Transform src)
NodeDeformerNode の記述:
対応する TransformTree ノードの変換行列を設定します。
NodeDeformerNode 内の setTransformsrc - 設定する変換行列を指定します。public final void getTransform(Transform dst)
NodeDeformerNode の記述:
対応する TransformTree ノードの変換行列を取得します。
NodeDeformerNode 内の getTransformdst - 取得する変換行列の格納先を指定します。public final void setIdentity()
NodeDeformerNode の記述:
対応する TransformTree ノードの変換行列を恒等変換行列に設定します。
NodeDeformerNode 内の setIdentitypublic final void setTranslate(Vector3D v)
NodeDeformerNode の記述:
対応する TransformTree ノードの移動成分に設定します。
NodeDeformerNode 内の setTranslatev - 移動成分を表す Vector3D を指定します。
public final void setRotateEuler(int type,
Vector3D v)
NodeDeformerNode の記述:
対応する TransformTree ノードの回転をオイラー角で設定します。
NodeDeformerNode 内の setRotateEulertype - 回転順を指定します。指定できる値は、以下の通りです。
Transform.MCE_ROTATE_EULER_XYZ
Transform.MCE_ROTATE_EULER_XZY
Transform.MCE_ROTATE_EULER_YXZ
Transform.MCE_ROTATE_EULER_YZX
Transform.MCE_ROTATE_EULER_ZXY
Transform.MCE_ROTATE_EULER_ZYX
v - 回転成分を表す Vector3D(1.0=360度) を指定します。public final void mulScale(Vector3D v)
NodeDeformerNode の記述:
対応する TransformTree ノードにスケーリング成分を乗算します。
NodeDeformerNode 内の mulScalev - 乗算するスケーリング成分を表す Vector3D を指定します。public final void resetTransform()
NodeDeformerNode の記述:
NodeDeformerNode 内の resetTransform
public final void addSiblingNode(NodeDeformerNode node,
Transform offset)
NodeDeformerNode の記述:NodeDeformer)に兄弟ノードを追加します。
This に対して TransformTree 内の同一 Transform を使用する兄弟ノードを追加します。
NodeDeformerNode 内の addSiblingNodenode - 追加する兄弟ノードを指定します。offset - 追加する兄弟ノードのオフセットを表すTransform を指定します。オフセットなしの場合は null を設定します。public final void removeFromParent()
NodeDeformerNode の記述:NodeDeformer)から自身を除去します。
NodeDeformerNode 内の removeFromParentpublic final void setVisible(boolean visible)
NodeDeformerNode の記述:NodeDeformerNode に対して可視/不可視を設定します。
This の可視/不可視を設定します。Figure の場合、不可視状態では自身の持つメッシュが描画されなくなるだけであり、自分よりも下の階層は通常通り描画されます。
Light, Camera を不可視にした場合、描画時にそれらは無効となります。
NodeDeformerNode 内の setVisiblevisible - 指定できる値は、以下の通りです。
true
false
public final boolean isVisible()
NodeDeformerNode の記述:NodeDeformerNode の可視状態を検査します。
NodeDeformerNode 内の isVisibletrue
false
public final NodeDeformer getParent()
NodeDeformerNode の記述:NodeDeformer)を取得します。
NodeDeformerNode 内の getParentNodeDeformer) を返します。public final int getParentIndex()
NodeDeformerNode の記述:NodeDeformer)における自身のインデックスを取得します。
NodeDeformerNode 内の getParentIndexNodeDeformer)における自身のインデックスを返します。
|
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||
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ドコモの商標または登録商標です。
その他記載された会社名、製品名などは該当する各社の商標または登録商標です。