既知の直接サブクラス |
既知の間接サブクラス |
ノードは、シーングラフの階層内の変換を表します。レンダリング エンジンにレンダリング可能なレンダリング可能な要素を含めることができます。
各ノードには、任意の数の子ノードと 1 つの親を設定できます。親は別のノードまたはシーンである可能性があります。
ネストされたクラス
インターフェース | Node.LifecycleListener | ノードのライフサイクル イベントが発生したときに呼び出されるコールバックのインターフェース定義。 | |
インターフェース | Node.OnTapListener | ノードがタップされたときに呼び出されるコールバックのインターフェース定義。 | |
インターフェース | Node.OnTouchListener | タップイベントがこのノードにディスパッチされたときに呼び出されるコールバックのインターフェース定義です。 | |
インターフェース | Node.TransformChangedListener | ノードの変換が変更されたときに呼び出されるコールバックのインターフェース定義。 |
パブリック コンストラクタ
Node()
親のないノードを作成します。
|
パブリック メソッド
void |
addLifecycleListener(Node.LifecycleListenerlifecycleListener)
ノードのライフサイクル イベントが発生したときに呼び出されるリスナーを追加します。
|
void |
addTransformChangedListener(Node.TransformChangedListener transformChangedListener)
ノードの変換が変更されたときに呼び出されるリスナーを追加します。
|
void | |
ノード | |
最終 Vector3 |
getBack()
このノードのワールド空間バックベクトル(+z)を取得します。
|
CollisionShape |
getCollisionShape()
このノードとの衝突に使用するシェイプを取得します。
|
最終 Vector3 |
getDown()
このノードの世界空間ダウン ベクトル(-y)を取得します。
|
最終 Vector3 |
getForward()
このノードの世界空間フォワード ベクトル(-z)を取得します。
|
最終 Vector3 |
getLeft()
このノードのワールド空間左ベクトル(-x)を取得します。
|
軽め |
getLight()
現在のライトを取得します。これは可変です。
|
最終 Vector3 |
getLocalPosition()
親(ローカル空間)に対するノードの位置のコピーを取得します。
|
最終四分位 |
getLocalRotation()
親(ローカル空間)に対するノードの回転のコピーを取得します。
|
最終 Vector3 |
getLocalScale()
親(ローカル空間)を基準にしてスケールされるノードのコピーを取得します。
|
final 文字列 |
getName()
ノードの名前を返します。
|
最終ノード |
getParent()
このノードの親を返します。
|
レンダリング可能 |
getRenderable()
このノード用にレンダリングするレンダリング可能なものを取得します。
|
最終 Vector3 |
getRight()
このノードのワールド空間右ベクトル(+x)を取得します。
|
最終 シーン |
getScene()
このノードが属しているシーンを返します。シーンの一部でない場合は null を返します。
|
最終 Vector3 |
getUp()
このノードの世界空間上ベクトル(+y)を取得します。
|
最終 Vector3 |
getWorldPosition()
ノードの世界空間位置のコピーを取得します。
|
最終四分位 |
getWorldRotation()
ノードの世界空間回転のコピーを取得します。
|
最終 Vector3 |
getWorldScale()
ノードの世界空間スケールのコピーを取得します。
|
最終ブール値 |
isActive()
ノードがアクティブな場合は true を返します。
|
最終ブール値 | |
最終ブール値 |
isEnabled()
このノードの有効状態を取得します。
|
ブール値 |
isTopLevel()
このノードが最上位である場合、true を返します。
|
最終 Vector3 | |
最終 Vector3 | |
void |
onActivate()
このノードがアクティブになった場合を処理します。
|
void |
onActivate()
このノードが無効になったときに対処します。
|
ブール値 | |
void | |
void | |
void |
removeLifecycleListener(Node.LifecycleListenerlifecycleListener)
ノードのライフサイクル イベントが発生したときに呼び出されるリスナーを削除します。
|
void |
removeTransformChangedListener(Node.TransformChangedListener transformChangedListener)
ノードの変換が変更されたときに呼び出されるリスナーを削除します。
|
void | |
final void |
setEnabled(ブール値が有効)
このノードの有効状態を設定します。
|
void | |
void | |
void | |
void | |
final void | |
final void | |
final void | |
void | |
void |
setOnTouchListener(Node.OnTouchListener onTouchListener)
タッチイベントがこのノードにディスパッチされたときに呼び出されるコールバックを登録します。
|
void | |
void | |
void | |
void | |
void | |
文字列 |
toString()
|
最終 Vector3 | |
最終 Vector3 |
保護されたメソッド
最終ブール値 | |
final void |
onAddChild(Node 子)
|
final void |
継承されるメソッド
パブリック コンストラクタ
public ノード ()
親のないノードを作成します。
パブリック メソッド
public void addLifecycleListener (Node.LifecycleListenerlifecycleListener)
ノードのライフサイクル イベントが発生したときに呼び出されるリスナーを追加します。リスナーは追加された順に呼び出されます。
パラメータ
ライフサイクル リスナー |
---|
public void addTransformChangedListener (Node.TransformChangedListener transformChangedListener)
ノードの変換が変更されたときに呼び出されるリスナーを追加します。
パラメータ
transformChangedListener |
---|
public void callOnHierarchy (Consumer<Node> consumer)
階層を走査し、各ノード(このノードを含む)でメソッドを呼び出します。走査は深度優先です。
パラメータ
consumer | 各ノードで呼び出すメソッド |
---|
public Node findInHierarchy (Predicate<Node> condition)
階層を横断して、条件を満たす最初のノード(このノードを含む)を探します。 述語が満たされると、走査は停止します。走査は深度を優先します。
パラメータ
condition | 述語は、検索するノードの条件を定義します。 |
---|
戻り値
- 述語の条件に一致する最初のノード。それ以外の場合は null が返されます。
public CollisionShape getCollisionShape ()
このノードとの衝突に使用するシェイプを取得します。図形が null で setRenderable(Renderable)
が設定されている場合、getCollisionShape()
を使用してこの Node
の競合を検出します。
戻り値
- 幾何学的形状(球体、箱、凸包)を表します。
public final Vector3 getLocalPosition ()
親(ローカル空間)に対するノードの位置のコピーを取得します。isTopLevel()
が true の場合、getWorldPosition()
と同じです。
戻り値
- ノードのローカル空間の位置を表す新しいベクトル
public final Qaaternion getLocalRotation ()
親(ローカル空間)に対するノードの回転のコピーを取得します。isTopLevel()
が true の場合、getWorldRotation()
と同じです。
戻り値
- ノードのローカル空間回転を表す新しい四元数
public final Vector3 getLocalScale ()
親(ローカル空間)を基準にしてスケールされるノードのコピーを取得します。isTopLevel()
が true の場合、getWorldScale()
と同じです。
戻り値
- ノードのローカル空間スケールを表す新しいベクトル
public final Node getParent ()
public final Scene getScene ()
このノードが属しているシーンを返します。シーンの一部でない場合は null を返します。ノードの最上位祖先が Scene
の場合、ノードはシーンの一部となります。
public final Vector3 getWorldPosition ()
public final Qaaternion getWorldRotation ()
public final Vector3 getWorldScale ()
public final ブール値 isActive ()
ノードがアクティブな場合は true を返します。次のすべての条件が満たされると、ノードはアクティブとみなされます。
- ノードはシーンの一部です。
- ノードの親はアクティブです。
- ノードが有効になっています。
- ノードの
onUpdate(FrameTime)
関数はフレームごとに呼び出されます。 - ノードの
getRenderable()
がレンダリングされます。 - ノードの
getCollisionShape()
は、Scene.hitTest の呼び出しでチェックされます。 - ノードのタッチ時に、ノードの
onTouchEvent(HitTestResult, MotionEvent)
関数が呼び出されます。
戻り値
- ノードのアクティブ ステータス
public final boolean isDescendantOf (NodeParent 祖先)
特定のノードの親がこのノードの祖先を再帰的かどうかを確認します。
パラメータ
祖先(ancestor) | 確認するノードの親 |
---|
戻り値
- ノードがこのノードの祖先である場合は true
public final ブール値 isEnabled ()
public boolean isTopLevel ()
このノードが最上位である場合、true を返します。ノードに親がない場合、または親がシーンである場合、ノードはトップレベルとみなされます。
戻り値
- ノードが最上位である場合は true
public final Vector3 localToWorldDirection (Vector3 方向)
ルートがこのノードのローカル空間からワールド空間に変換されます。ノードの位置やスケールの影響を受けません。
パラメータ
方向 | 変換するローカル空間内の方向 |
---|
戻り値
- 世界空間の方向を表す新しいベクトル
public final Vector3 localToWorldPoint (Vector3 ポイント)
このノードのローカル空間内の点をワールド空間に変換します。
パラメータ
point | 変換するローカル空間内の点 |
---|
戻り値
- 世界空間のポイントを表す新しいベクトル
public void onActivate ()
このノードがアクティブになった場合を処理します。ノードが有効で、シーンの一部であり、その親がアクティブである場合、ノードはアクティブになります。
ノードがアクティブになったときに行う必要がある設定をオーバーライドします。
public void onDisable ()
このノードが無効になったときに対処します。ノードが無効になっているか、シーンの一部ではないか、その親が非アクティブになっている場合、そのノードは非アクティブになります。
ノードが無効になったときに必要な設定をオーバーライドします。
public boolean onTouchEvent (HitTestResult hitsTestResult, MotionEvent motionEvent)
このノードがタップされた場合を処理します。
オーバーライドして、このノードがタップされたときに発生するロジックを実行します。タップイベントが伝播する方法は、タップが Android ビューに伝播する方法をミラーリングします。この関数は、ノードがアクティブの場合にのみ呼び出されます。
ACTION_DOWN イベントが発生すると、ジェスチャーの開始を表します。ACTION_UP または ACTION_CANCEL はジェスチャーの終了を示します。ジェスチャーが開始されると、次のようになります。
hitTest(MotionEvent)
で検出されたとおりに、タップされたノードにタッチイベントをディスパッチします。- ノードがイベントを使用しなかった場合は、ノードの親を通じて上方に再帰的に処理し、ノードの 1 つがイベントを使用するまでタッチイベントをディスパッチします。
- イベントを消費するノードがない場合、そのジェスチャーは無視され、そのジェスチャーに含まれる後続のイベントはどのノードにも渡されません。
- いずれかのノードでイベントが使用されると、そのノードは今後のすべてのタップイベントを消費します。
Node.OnTouchListener
に渡されます。Node.OnTouchListener
がイベントを処理しない場合は、onTouchEvent(HitTestResult, MotionEvent)
に渡されます。パラメータ
ヒットテストの結果 | タップされたノードと、タップされた場所に関する情報を表します。ACTION_DOWN イベントでは、getNode() は常にこのノードまたはその子のいずれかになります。その他のイベントでは、タップが移動して getNode() が変化した(または null になった)可能性があります。 |
---|---|
モーション イベント | モーション アクティビティ。 |
戻り値
- イベントが処理された場合は true、そうでない場合は false。
public void onTransformChange (ノードの送信元ノード)
このノードの変換が変更された場合を処理します。
送信元ノードは、このノードの変更をトリガーした階層の最上位ノードです。常に同じノードまたはそのいずれかの親になります。つまり、ノード A の位置が変更されると、送信元ノードがノード A であるすべての子に対して onTransformChange(Node)
がトリガーされます。
パラメータ
送信元ノード | このノードの変換をトリガーしたノード |
---|
public void onUpdate (FrameTime frameTime)
このノードが更新されたときを処理します。各フレームをレンダリングする前にノードが更新されます。この関数は、ノードがアクティブの場合にのみ呼び出されます。
各フレームで必要な更新を実行するには、オーバーライドします。
パラメータ
フレーム時間 | 現在のフレームの時間情報を提供します。 |
---|
public void removeLifecycleListener (Node.LifecycleListenerlifecycleListener)
ノードのライフサイクル イベントが発生したときに呼び出されるリスナーを削除します。
パラメータ
ライフサイクル リスナー |
---|
public void removeTransformChangedListener (Node.TransformChangedListener transformChangedListener)
ノードの変換が変更されたときに呼び出されるリスナーを削除します。
パラメータ
transformChangedListener |
---|
public void setCollisionShape (CollisionShape collisionShape)
この Node
との競合を検出するために使用される形状を設定します。図形が設定されていない場合、setRenderable(Renderable)
が設定されている場合、getCollisionShape()
を使用してこの Node
の競合を検出します。
パラメータ
CollisionShape | 幾何学的形状(球、箱、凸包)を表します。null の場合、このノードの現在の競合形態は削除されます。 |
---|
public final void setEnabled (ブール値有効)
このノードの有効状態を設定します。シーンの一部ではないノードや、親が非アクティブなノードは、有効であっても無効にできます。
パラメータ
有効 | ノードの新しい有効ステータス |
---|
関連項目
public void setLight (ライト ライト)
表示する Light
を設定します。使用するには、まず Light.Builder
を使用して Light
を作成します。必要なパラメータを設定し、この関数を使用してノードに接続します。ノードにはレンダリング可能でライトな状態であるか、Light
として機能する必要があります。
パラメータ
ライト | レンダリングする Light のプロパティ。光を削除するには null を渡します。 |
---|
public void setLocalPosition (Vector3 の位置)
このノードを親(ローカル空間)に対する相対位置で設定します。isTopLevel()
が true の場合、setWorldPosition(Vector3)
と同じです。
パラメータ
position | 適用する位置。 |
---|
関連項目
public void setLocalRotation (Quaternion ローテーション)
このノードの親(ローカル空間)に対する回転を設定します。isTopLevel()
が true の場合、setWorldRotation(Quaternion)
と同じです。
パラメータ
回転 | 適用するローテーション。 |
---|
関連項目
public void setLocalScale (Vector3 スケール)
このノードのスケールを親(ローカル空間)に対する相対値で設定します。isTopLevel()
が true の場合、setWorldScale(Vector3)
と同じです。
パラメータ
WAF によるメリット | 適用するスケール。 |
---|
関連項目
public final void setLookDirection (Vector3 lookDirection)
ワールド空間内でノードが向いている方向を設定します。このメソッドを呼び出すと、getForward()
は渡された Look 方向と一致します。世界空間を上(0、1、0)で使用して、方向に関するノードの向きを決定します。
パラメータ
lookDirection | ワールド空間で望ましい外観方向を表すベクトル |
---|
public final void setLookDirection (Vector3 lookDirection, Vector3 upDirection)
ワールド空間内でノードが向いている方向を設定します。このメソッドを呼び出すと、getForward()
は渡された Look 方向と一致します。上方向は、その方向の周囲にあるノードの向きを決定します。上方向と上方向を同じ(平行)にすることはできません。同じ方向にすることはできません。
パラメータ
lookDirection | ワールド空間で望ましい外観方向を表すベクトル |
---|---|
upDirection | 使用する有効な上ベクトルを表すベクトル(Vector3.up() など) |
public final void setName (String name)
このノードの名前を設定します。ノードは名前を使用して見つけることができます。複数のノードに同じ名前がある場合、findByName(String)
を呼び出すと、指定した名前の最初のノードが返されます。
パラメータ
name | ノードの名前。 |
---|
public void setOnTapListener (Node.OnTapListener onTapListener)
このノードがタップされたときに呼び出されるコールバックを登録します。コールバックが登録されている場合、タップイベントはこのノードの親にバブルになりません。Node.onTouchEvent がオーバーライドされ、super.onTouchEvent が呼び出されていない場合、タップは行われません。
パラメータ
onTapListener |
---|
関連項目
public void setOnTouchListener (Node.OnTouchListener onTouchListener)
タッチイベントがこのノードにディスパッチされたときに呼び出されるコールバックを登録します。タップイベントが伝播する方法は、タップが Android ビューに伝播する方法をミラーリングします。この関数は、ノードがアクティブの場合にのみ呼び出されます。
ACTION_DOWN イベントが発生すると、ジェスチャーの開始を表します。ACTION_UP または ACTION_CANCEL はジェスチャーの終了を示します。ジェスチャーが開始されると、次のようになります。
hitTest(MotionEvent)
で検出されたとおりに、タップされたノードにタッチイベントをディスパッチします。- ノードがイベントを使用しなかった場合は、ノードの親を通じて上方に再帰的に処理し、ノードの 1 つがイベントを使用するまでタッチイベントをディスパッチします。
- イベントを消費するノードがない場合、そのジェスチャーは無視され、そのジェスチャーに含まれる後続のイベントはどのノードにも渡されません。
- いずれかのノードでイベントが使用されると、そのノードは今後のすべてのタップイベントを消費します。
Node.OnTouchListener
に渡されます。Node.OnTouchListener
がイベントを処理しない場合は、onTouchEvent(HitTestResult, MotionEvent)
に渡されます。パラメータ
onTouchListener |
---|
関連項目
public void setParent (NodeParent の親)
このノードの親ノードを変更します。null に設定すると、このノードは親から切断されます。このノードのローカルの位置、回転、スケーリングは変わりません。したがって、親ノードの変更後、このノードの世界の位置、回転、スケーリングが異なる場合があります。
親は別の Node
または Scene
の可能性があります。シーンの場合、この Node
はトップレベルとみなされます。getParent()
は null を返し、getScene()
はシーンを返します。
パラメータ
親 | このノードが子になる新しい親。null の場合、このノードはその親から切り離されます。 |
---|
public void setRenderable (レンダリング可能 レンダリング可能)
このノードに表示する Renderable
を設定します。setCollisionShape(CollisionShape)
が設定されていない場合、getCollisionShape()
を使用してこの Node
の競合を検出します。
パラメータ
レンダリング可能 | 通常は 3D モデルです。null の場合、このノードの現在のレンダリング可能アイテムは削除されます。 |
---|
public void setWorldPosition (Vector3 の位置)
public void setWorldRotation (四元数の回転)
public void setWorldScale (Vector3 スケール)
public final Vector3 worldToLocalDirection (Vector3 方向)
方向をワールド空間からこのノードのローカル空間に変換します。ノードの位置やスケールの影響を受けません。
パラメータ
方向 | 世界空間における変換の方向 |
---|
戻り値
- ローカル空間での方向を表す新しいベクトル