シーングラフと異なるノード タイプに関する情報
レンダリングされるすべてのものは、シーングラフの ARNode オブジェクトを介して制御されます。シーングラフは、シーン全体にオブジェクトを配置します。
ノード プロパティ
変換
ARNode は、シーン内のノードの位置、向き、およびスケールを制御します。子ノードは親の変換を継承するため、親ノードが移動すると、その子もすべて一緒に移動します。
可視性
ARNode は、自身とその子の可視性も制御します。
関係
ノードは、複数の子を持つことができますが、親は 1 つのみ持つことができます。
ワールド空間
ノードは、直接の親やカメラだけでなく、ワールド空間に関連して移動することができます。これは、親を動かさずに、トラッカブルに関連するノードを動かしたい場合などに役立ちます。
サブクラス化
ARNode クラスは、特にサブクラス化に適しています。さまざまなレンダリング関連のイベントを受け取り、子のすべてのプロパティを完全にカプセル化できます。
ノード タイプ
さまざまなノード タイプがあります。各ノード タイプは、特定の種類のコンテンツを提供するために特化しています。
メッシュ ノード
ARMeshNode は、レンダリングされるシーンの描画可能なメッシュを表します。使用されるジオメトリとシェーディングは、メッシュ ノードとそれに関連付けられたマテリアルを介して指定されます。特定の種類のコンテンツをレンダリングするため、メッシュ ノードからサブクラス化したいくつかのノード タイプがあります。
画像ノード
ARImageNode は 2D 画像を表します。画像ファイルの表示に使用されます。このノードは、OS でサポートされるすべての画像ファイルを表示できます。
ビデオ ノード
ARVideoNode は動画を表します。動画コンテンツのレンダリングに使用されます。
アルファ ビデオ ノード
ARAlphaVideoNode は、透過を含む動画を表します。供給されたアルファ ビデオ ファイルをシーンのフラット メッシュ上にレンダリングします。
ポイント ノード
ARPointNode は ARImageNode に似ていますが、画像ファイルの代わりに、ポイント スプライトを表示します。
モデル ノード
ARModelNodes は、インポートされた 3D モデルを表します。モデル形式がサポートしていればアニメーションを表示することができ、それらのアニメーションを制御するチャンネルとなります。
ボーン ノード
ARBoneNode は、モデルのメッシュのボーンを表します。メッシュの特定の部分がシーン ノードの動きに伴ってどのように変形するかを示す構造です。これらのノードの配列は、スケルトンの現在のポーズを示します。これらは、モデル インポーターによって自動的にインポートされ、スケルトンのアニメーションに使用されます。
パノラマ ノード
ARPanoNode は、ジャイロ コントローラーに追加可能な立方体パノラマを表します。デバイスを動かすことで、360 度画像を見ることができます。一連の画像を取得し、丸い立方体の周りに配置して、ノードを作成します。
ライト ノード
ARLight は、シーンのライトを表します。ARLight のライト プロパティ、位置、向きは、ライト マテリアルを使用するメッシュのレンダリングに影響を与えます。すべてのライト ノードがこのベース ライトから派生します。ARLight を使用してライト ノードを作成すると、ポイント ライトと同様に動作しますが、減衰しないため、距離に応じてライトが弱くなりません。
ライトにはさまざまなタイプがあります:
ディレクショナル ライト
ARDirectionalLight は、特定の方向から照射される一定の強度の光源を表します。このライトは、作成されるすべての光線は平行で、非常に遠くから照射されているかのように振る舞います。光源の方向は、ライトの方向変数を変更することで設定されます。このライトの位置を変更しても照射されるライトは変化しません。
ポイント ライト
ARPointLight は、特定の位置から全方向に均等に照射されるライトを表します。減衰も考慮されるため、逆二乗の法則に従って、距離に応じてライトのレベルが低下します。このライトの向きを変更しても照射されるライトは変化しません。
スポット ライト
ARSpotLight は、特定の位置から特定の方向へ円錐形の領域に照射されるシーン内のライトを表します。このライトは、ほかのノードと同様に変換および回転することができます。ARSpotLight の位置と向きは、シーン内の各オブジェクトの全体的な照度に影響を与えるため、これは ARPointLight と ARDirectionLight の組み合わせと見ることができます。
カメラ ノード
ARCamera は、シーン内の仮想カメラを表します。通常は、トラッキング メソッドの 1 つによって制御され、その位置/向きは 3D 空間の実際のデバイスの位置/向きと一致するように設定されます。カメラにはさまざまな種類の投影があります。3D コンテンツのレンダリングにはデバイスのカメラの設定と一致する透視投影を使用し、2D オーバーレイのレンダリングには正射投影も使用できます。
ビルボード ノード
ARBillboardNode は、カメラに対して常にフォワード ベクトル方向を維持するため、向きを変更します。これは、デバイスがシーンを移動するのに伴って、回転および追従するコンテンツを表示するのに便利です。特に、常に表示されているビデオや 2D コンテンツに役立ちます。ビルボード ノードを ArbiTrack と併用して 3D モデルやビデオがカメラを追従するようにしたり、画像トラッカーと併用してマーカーの向きと関係なくオブジェクトをカメラの方向に向けることができます。
マルチトラッカブル ノード
ARMultiTrackableNode は、子の世界空間を動的に変更します。これにより、1 つのノードを異なる時間に異なる世界空間で表示できます。これは、コンテンツの一部を複数のトラッカブルで表示する必要がある場合に便利です。コンテンツを再利用できるため、一度作成するだけで済みます。ARMultiTrackableNode を使用して、同時に複数のトラッカブルでコンテンツを表示することはできません。トラッカブルが検出されると、ノードの世界空間が変わるためです。つまり、2 つのトラッカブルを検出する場合は、最後に検出されたトラッカブルのワールド空間に変わります。
ワールド空間
ARWorld は、世界空間の概念を表す特別なノード タイプです。すべての画像トラッカブルには、個別の世界空間があります。ARGyroManager と ARGyroPlaceManager にも、それぞれの世界空間があります。これらは、それぞれのオブジェクトの座標フレームを表します。すべてをカメラに対して配置する代わりに、コンテンツをこれらのワールド空間の位置に対して配置し、これらのワールド空間とともに移動できます。あるいは、親の変換に完全に依存することもできます。
ARWorld は、ワールド空間で計算される反射マップに対して特別な意味を持ちます。環境マップは、シーングラフの中で最も近い下方向の ARWorld に合わせられます。