ノード

public class Node
既知の直接サブクラス
既知の間接サブクラス

ノードは、シーングラフの階層内の変換を表します。レンダリング エンジンにレンダリング可能なレンダリング可能な要素を含めることができます。

各ノードには、任意の数の子ノードと 1 つの親を設定できます。親は別のノードまたはシーンである可能性があります。

ネストされたクラス

インターフェース Node.LifecycleListener ノードのライフサイクル イベントが発生したときに呼び出されるコールバックのインターフェース定義。
インターフェース Node.OnTapListener ノードがタップされたときに呼び出されるコールバックのインターフェース定義。
インターフェース Node.OnTouchListener タップイベントがこのノードにディスパッチされたときに呼び出されるコールバックのインターフェース定義です。
インターフェース Node.TransformChangedListener ノードの変換が変更されたときに呼び出されるコールバックのインターフェース定義。

パブリック コンストラクタ

Node()
親のないノードを作成します。

パブリック メソッド

void
addLifecycleListener(Node.LifecycleListenerlifecycleListener)
ノードのライフサイクル イベントが発生したときに呼び出されるリスナーを追加します。
void
addTransformChangedListenerNode.TransformChangedListener transformChangedListener)
ノードの変換が変更されたときに呼び出されるリスナーを追加します。
void
callOnHierarchy(Consumer<Node> consumer)
階層を走査し、各ノード(このノードを含む)でメソッドを呼び出します。
ノード
findInHierarchy(Predicate<Node> condition)
階層を走査して、条件を満たす最初のノード(このノードを含む)を探します。
最終 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 を返します。
最終ブール値
isDescendantOfNodeParent 祖先)
特定のノードの親がこのノードの祖先を再帰的かどうかを確認します。
最終ブール値
isEnabled()
このノードの有効状態を取得します。
ブール値
isTopLevel()
このノードが最上位である場合、true を返します。
最終 Vector3
localToWorldDirectionVector3 方向)
ルートがこのノードのローカル空間からワールド空間に変換されます。
最終 Vector3
localToWorldPointVector3 ポイント)
このノードのローカル空間内の点をワールド空間に変換します。
void
onActivate()
このノードがアクティブになった場合を処理します。
void
onActivate()
このノードが無効になったときに対処します。
ブール値
onTouchEventHitTestResult HitTestResult、MotionEvent motionEvent)
このノードがタップされた場合を処理します。
void
onTransformChangeノード送信元ノード)
このノードの変換が変更された場合を処理します。
void
onUpdateFrameTime frameTime)
このノードが更新されたときを処理します。
void
removeLifecycleListenerNode.LifecycleListenerlifecycleListener)
ノードのライフサイクル イベントが発生したときに呼び出されるリスナーを削除します。
void
removeTransformChangedListenerNode.TransformChangedListener transformChangedListener)
ノードの変換が変更されたときに呼び出されるリスナーを削除します。
void
setCollisionShapeCollisionShape collisionShape)
この Node との競合を検出するために使用される形状を設定します。
final void
setEnabled(ブール値が有効)
このノードの有効状態を設定します。
void
setLightLight ライト)
表示する Light を設定します。
void
setLocalPosition(Vector3 position)
このノードを親(ローカル空間)に対する相対位置で設定します。
void
setLocalRotationQuaternion ローテーション)
このノードの親(ローカル空間)に対する回転を設定します。
void
setLocalScaleVector3 スケール)
このノードのスケールを親(ローカル空間)に対する相対値で設定します。
final void
setLookDirectionVector3 lookDirection)
ワールド空間内でノードが向いている方向を設定します。
final void
setLookDirectionVector3 lookDirection、Vector3 upDirection)
ワールド空間内でノードが向いている方向を設定します。
final void
setNameString 名)
このノードの名前を設定します。
void
setOnTapListenerNode.OnTapListener onTapListener)
このノードがタップされたときに呼び出されるコールバックを登録します。
void
setOnTouchListenerNode.OnTouchListener onTouchListener)
タッチイベントがこのノードにディスパッチされたときに呼び出されるコールバックを登録します。
void
setParentNodeParent の親)
このノードの親ノードを変更します。
void
setRenderableレンダリング可能レンダリング可能)
このノードに表示する Renderable を設定します。
void
setWorldPositionVector3 の位置)
このノードの世界空間の位置を設定します。
void
setWorldRotationQuaternion ローテーション)
このノードの世界空間の回転を設定します。
void
setWorldScaleVector3 スケール)
このノードの世界空間スケールを設定します。
文字列
最終 Vector3
worldToLocalDirectionVector3 方向)
方向をワールド空間からこのノードのローカル空間に変換します。
最終 Vector3
worldToLocalPointVector3 ポイント)
ワールド空間内の点をこのノードのローカル空間に変換します。

保護されたメソッド

最終ブール値
canAddChildNode 子、StringBuilder failureReason)
final void
onAddChildNode 子)
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 final Vector3 getBack ()

このノードのワールド空間バックベクトル(+z)を取得します。

戻り値
  • 世界の空間におけるノードの「戻る」方向を表す新しいベクトル

public CollisionShape getCollisionShape ()

このノードとの衝突に使用するシェイプを取得します。図形が null で setRenderable(Renderable) が設定されている場合、getCollisionShape() を使用してこの Node の競合を検出します。

戻り値
  • 幾何学的形状(球体、箱、凸包)を表します。

public final Vector3 getDown ()

このノードの世界空間ダウン ベクトル(-y)を取得します。

戻り値
  • 世界空間におけるノードのダウン方向を表す新しいベクトル

public final Vector3 getForward ()

このノードの世界空間フォワード ベクトル(-z)を取得します。

戻り値
  • 世界空間におけるノードの前進を表す新しいベクトル

public final Vector3 getLeft ()

このノードのワールド空間左ベクトル(-x)を取得します。

戻り値
  • 世界空間におけるノードの左側方向を表す新しいベクトル

public Light getLight ()

現在のライトを取得します。これは可変です。

public final Vector3 getLocalPosition ()

親(ローカル空間)に対するノードの位置のコピーを取得します。isTopLevel() が true の場合、getWorldPosition() と同じです。

戻り値
  • ノードのローカル空間の位置を表す新しいベクトル

public final Qaaternion getLocalRotation ()

親(ローカル空間)に対するノードの回転のコピーを取得します。isTopLevel() が true の場合、getWorldRotation() と同じです。

戻り値
  • ノードのローカル空間回転を表す新しい四元数

public final Vector3 getLocalScale ()

親(ローカル空間)を基準にしてスケールされるノードのコピーを取得します。isTopLevel() が true の場合、getWorldScale() と同じです。

戻り値
  • ノードのローカル空間スケールを表す新しいベクトル
関連項目

public final String getName ()

ノードの名前を返します。デフォルト値は &nodet;Node" です。

public final Node getParent ()

このノードの親を返します。この Node に親があり、その親が Node または Node サブクラスの場合、この関数は親を Node として返します。親が Scene の場合は null を返し、代わりに getScene() を使用して親を取得します。

戻り値
  • 親が Node である場合(親が Node の場合)。

public Renderable getRenderable ()

このノード用にレンダリングするレンダリング可能なものを取得します。

戻り値
  • このノードで表示可能なレンダリング

public final Vector3 getRight ()

このノードのワールド空間右ベクトル(+x)を取得します。

戻り値
  • 世界空間におけるノードの正しい方向を表す新しいベクトル

public final Scene getScene ()

このノードが属しているシーンを返します。シーンの一部でない場合は null を返します。ノードの最上位祖先が Scene の場合、ノードはシーンの一部となります。

public final Vector3 getUp ()

このノードの世界空間上ベクトル(+y)を取得します。

戻り値
  • ワールド空間におけるノードの上方向を表す新しいベクトル

public final Vector3 getWorldPosition ()

ノードの世界空間位置のコピーを取得します。

戻り値
  • ノードのワールド空間位置を表す新しいベクトル

public final Qaaternion getWorldRotation ()

ノードの世界空間回転のコピーを取得します。

戻り値
  • ノードのワールド空間回転を表す新しい四元数

public final Vector3 getWorldScale ()

ノードの世界空間スケールのコピーを取得します。ノードに偏りがあると、精度が低下します。

戻り値
  • ノードの世界空間スケールを表す新しいベクトル
関連項目

public final ブール値 isActive ()

ノードがアクティブな場合は true を返します。次のすべての条件が満たされると、ノードはアクティブとみなされます。

  • ノードはシーンの一部です。
  • ノードの親はアクティブです。
  • ノードが有効になっています。
アクティブ ノードは次のように動作します。

戻り値
  • ノードのアクティブ ステータス

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 の位置)

このノードの世界空間の位置を設定します。

パラメータ
position 適用する位置。
関連項目

public void setWorldRotation 四元数の回転)

このノードの世界空間の回転を設定します。

パラメータ
回転 適用するローテーション。
関連項目

public void setWorldScale Vector3 スケール)

このノードの世界空間スケールを設定します。

パラメータ
WAF によるメリット 適用するスケール。
関連項目

public String toString ()

public final Vector3 worldToLocalDirection (Vector3 方向)

方向をワールド空間からこのノードのローカル空間に変換します。ノードの位置やスケールの影響を受けません。

パラメータ
方向 世界空間における変換の方向
戻り値
  • ローカル空間での方向を表す新しいベクトル

public final Vector3 worldToLocalPoint (Vector3 ポイント)

ワールド空間内の点をこのノードのローカル空間に変換します。

パラメータ
point コンバージョンを達成する世界空間におけるポイント
戻り値
  • ローカル空間の点を表す新しいベクトル

保護されたメソッド

Protected final boolean canAddChild (Node child, StringBuilder failureReason)

パラメータ
子ども
失敗の理由

Protection final void onAddChild ノード子)

パラメータ
子ども

Protect final void onRemoveChild Node 子)

パラメータ
子ども