シーン

パブリック クラス シーン

シーンシーンシーンは、シーンのコンテンツの階層的な編成であるシーングラフを維持します。1 つのシーンに 0 個以上の子ノードを含めることができ、各ノードには 0 個以上の子ノードを含めることができます。

シーンには、ヒットテスト(MotionEvent または Ray によってタップされたノードを検出する方法)も用意されています。

ネストされたクラス

インターフェース Scene.OnPeekTouchListener タッチイベントがシーンにディスパッチされたときに呼び出されるコールバックのインターフェース定義です。
インターフェース Scene.OnTouchListener タッチイベントがシーンにディスパッチされたときに呼び出されるコールバックのインターフェース定義です。
インターフェース Scene.OnUpdateListener シーンが更新される直前にフレームごとに 1 回呼び出されるコールバックのインターフェース定義。

フィールド

public static final EnvironmentalHdrParameters DEFAULT_HDR_PARAMETERS

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

SceneSceneView ビュー)
指定されたコンテキストでシーンを作成します。

パブリック メソッド

void
addOnPeekTouchListenerScene.OnPeekTouchListener onPeekTouchListener)
Scene.OnTouchListener が呼び出される前に呼び出されるリスナーを追加します。
void
addOnUpdateListenerScene.OnUpdateListener onUpdateListener)
シーンが更新される直前にフレームごとに 1 回呼び出されるリスナーを追加します。
カメラ
getCamera()
シーンのレンダリングに使用するカメラを取得します。
ノード
getSunlight()
デフォルトの太陽光ノードを取得します。
SceneView
getView()
シーンの作成に使用された SceneView を返します。
HitTestResult
hitTestMotionEvent motionEvent)
モーション イベントが画面内のどこかに接触しているかどうかをテストするテスト。原点がモーション イベントの画面位置であるレイヒットテストに基づいて、画面に最も近いノードを含む HitTestResult を出力します。
HitTestResult
hitTestRay レイ)
レイがシーン内のノードに当たるかどうかをテストして、レイと交差するレイの原点に最も近いノードを含む HitTestResult を出力します。
ArrayList<HitTestResult>
hitTestAllRay レイ)
レイがシーン内のノードにヒットしたかどうかを確認するテストを行い、ヒットしたすべてのノードを含む HitTestResults のリストを距離順に返します。
ArrayList<HitTestResult>
hitTestAllMotionEvent motionEvent)
モーション イベントがシーン内のノードに接触していないかどうかを確認し、ヒットしたすべてのノードを含む距離を HitTestResults のリストとともに返すかどうかをテストします。
void
onAddChildNode 子)
void
ノード
overlapTest(ノードノード)
getCollisionShape() を使用して、指定されたノードの衝突シェイプがシーン内の他のノードの衝突シェイプと重なるかどうかを確認します。
ArrayList<Node>
overlapTestAllノードノード)
getCollisionShape() を使用して、ノードがシーン内の他のノードと重なっているかどうかを確認します。
void
removeOnPeekTouchListenerScene.OnPeekTouchListener onPeekTouchListener)
Scene.OnTouchListener が呼び出される前に呼び出されるリスナーを削除します。
void
removeOnUpdateListenerScene.OnUpdateListener onUpdateListener)
シーンが更新される直前にフレームごとに 1 回呼び出されるリスナーを削除します。
void
setLightEstimateColor colorCorrection, float pixelIntensity)
推定照明を設定し、シーンの照明と強度を調節します。
void
setOnTouchListenerScene.OnTouchListener onTouchListener)
シーンがタップされたときに呼び出されるコールバックを登録します。

継承されるメソッド

フィールド

public static final EnvironmentalHdrParameters DEFAULT_HDR_PARAMETERS

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

public Scene SceneView ビュー)

指定されたコンテキストでシーンを作成します。

パラメータ
ビュー

パブリック メソッド

public void addOnPeekTouchListener (Scene.OnPeekTouchListener onPeekTouchListener)

Scene.OnTouchListener が呼び出される前に呼び出されるリスナーを追加します。これは、ジェスチャーが使用された場合でも呼び出されるため、シーンにディスパッチされたすべてのモーション イベントを監視できます。これは、タップがノードを越えていない場合でも呼び出されます。その場合、getNode() は null になります。リスナーは追加された順に呼び出されます。

パラメータ
onPeekTouchListener 追加するピークプレビュー リスナー

public void addOnUpdateListener (Scene.OnUpdateListener onUpdateListener)

シーンが更新される直前にフレームごとに 1 回呼び出されるリスナーを追加します。リスナーは追加された順に呼び出されます。

パラメータ
onUpdateListener 更新する更新リスナー

public Camera getCamera ()

シーンのレンダリングに使用するカメラを取得します。カメラはノードの一種です。

戻り値
  • シーンのレンダリングに使用されるカメラ

public ノード getSunlight ()

デフォルトの太陽光ノードを取得します。

戻り値
  • シーンを照らすために使用される日光のノード

public SceneView getView ()

シーンの作成に使用された SceneView を返します。

public HitTestResult hitTest (MotionEvent motionEvent)

モーション イベントが画面内のどこかに接触しているかどうかをテストするテスト。原点がモーション イベントの画面位置であるレイヒットテストに基づいて、画面に最も近いノードを含む HitTestResult を出力します。

パラメータ
モーション イベント テストで使用するモーション イベント
戻り値
  • 結果には、モーション イベントによって最初にヒットしたノード(null の場合もあります)と、モーション イベントがワールド空間内のノードにヒットした場所に関する情報が含まれます。

public HitTestResult hitTest (Ray ray)

レイがシーン内のノードに当たるかどうかをテストして、レイと交差するレイの原点に最も近いノードを含む HitTestResult を出力します。

パラメータ
Ray テストに使用する光線
戻り値
  • 結果には、ray によってヒットした最初のノード(null の場合もあります)と、レイがワールドスペース内のノードにヒットした場所に関する情報が含まれます。

public ArrayList<HitTestResult> hitTestAll Ray レイ)

レイがシーン内のノードにヒットしたかどうかを確認するテストを行い、ヒットしたすべてのノードを含む HitTestResults のリストを距離順に返します。

パラメータ
Ray テストに使用する光線。
戻り値
  • ヒットごとに、距離順で HitTestResult が入力されます。ノードがヒットしなかった場合は空になります。

public ArrayList<HitTestResult> hitTestAll MotionEvent motionEvent)

モーション イベントがシーン内のノードに接触していないかどうかを確認し、ヒットしたすべてのノードを含む距離を HitTestResults のリストとともに返すかどうかをテストします。

パラメータ
モーション イベント テストに使用するモーション イベント。
戻り値
  • ヒットごとに、距離順で HitTestResult が入力されます。ノードがヒットしなかった場合は空になります。

public void onAddChild ノード子)

パラメータ
子ども

public void onRemoveChild ノード子)

パラメータ
子ども

一般公開 ノード overlapTest ノードノード)

getCollisionShape() を使用して、指定されたノードの衝突シェイプがシーン内の他のノードの衝突シェイプと重なるかどうかを確認します。テストに使用するノードを有効にする必要はありません。

パラメータ
ノード テストに使用するノード。
戻り値
  • テストノードと重複するノード。テストノードと重複するノードがない場合、null になります。複数のノードがテストノードに重なっている場合は、そのうちのどれでもかまいません。
関連項目

public ArrayList<Node> overlapTestAll ノードノード)

getCollisionShape() を使用して、ノードがシーン内の他のノードと重なっているかどうかを確認します。テストに使用するノードをアクティブにする必要はありません。

パラメータ
ノード テストに使用するノード。
戻り値
  • テストノードと重複するすべてのノードのリスト。テストノードと重複するノードがない場合、リストは空です。
関連項目

public void removeOnPeekTouchListener (Scene.OnPeekTouchListener onPeekTouchListener)

Scene.OnTouchListener が呼び出される前に呼び出されるリスナーを削除します。これは、ジェスチャーが使用された場合でも呼び出されるため、シーンにディスパッチされたすべてのモーション イベントを監視できます。これは、タップがノードを越えていない場合でも呼び出されます。その場合、getNode() は null になります。

パラメータ
onPeekTouchListener 削除するピークプレビュー リスナー

public void removeOnUpdateListener (Scene.OnUpdateListener onUpdateListener)

シーンが更新される直前にフレームごとに 1 回呼び出されるリスナーを削除します。

パラメータ
onUpdateListener 削除する更新リスナー

public void setLightEstimate (Color colorCorrection, float pixelIntensity)

推定照明を設定し、シーンの照明と強度を調節します。レンダリングされたライトは、これらの値とライトの色と強度の組み合わせを使用します。白の colorCorrection と PixelIntensity の値が 1 の場合、照明の設定に何も変更されていません。

これは、AR シーンシーンの内部で ARCore の値に基づいてライティングを調整するために使用されます。AR シーンは自動的にこれを呼び出し、他の設定をオーバーライドします。ほとんどの場合、これを明示的に呼び出す必要はありません。

パラメータ
colorCorrection シーンの照明の色を調整します。
PixelIntensity シーンの照明強度を調節します。

public void setOnTouchListener (Scene.OnTouchListener onTouchListener)

シーンがタップされたときに呼び出されるコールバックを登録します。イベントを使用できたノードがない場合、タッチイベントがシーン内のノードにディスパッチされると、コールバックが呼び出されます。これは、タップがノードを越えていない場合でも呼び出されます。その場合、getNode() は null になります。

パラメータ
onTouchListener アタッチするタッチ リスナー