座標系
Unreal Engine (UE) では、直交座標系を使用して、3D ユークリッド空間で位置を表現します。 Unreal Editor では座標系は左側にあり、Z 軸方向が上方向です。 ポイントは、X 軸、Y 軸、および Z 軸の 3 つの座標軸による位置で決定されます。 これらの座標値は、プロジェクトでのアクタの位置と向きを設定します。 さまざまな方法があり、これらの軸を相互に方向付けることができます。 軸の向きと値は、使用している座標空間の種類によって異なります。
Maya、Houdini、ZBrush、Blender、または 3ds Max などの他のソフトウェアからアセットをインポートする場合、Unreal Engine で使用される座標系の掌性と向きを認識する必要があります。 他のソフトウェア システムでは、考慮が必要なさまざまな上軸と掌性を使用しています。
原点と座標軸を含む 3D の直交座標系
軸
Unreal Editor およびこのドキュメント セクションのすべての図で、以下の色が座標軸に関連付けられています。
X 軸:赤
Y 軸:緑
Z 軸:青
UE の Z 上、左手座標系は、以下のように定義されています。
Z 軸は、アクタが垂直線に沿ってどの程度上や下に配置されるかを決定します。
正の値が上方向を示します。
Y 軸は、アクタがどの程度左や右に配置されるかを決定します。
正の値は右方向を示します。
X 軸 は、アクタがどの程度前や後に配置されるかを決定します。
正の値が前方向を示します。
座標系には、原点として認識されている、特定のポイントがあります。 原点は、座標軸が交差する場所で、座標 (0, 0, 0) のポイントによって表現されます。 原点と、点の位置を設定するための原点の使用方法の詳細については、上記 GIF と、こちらのページの「座標空間」セクションを参照してください。
正投影ビューポートを使用して、軸の方向を視覚化し座標値を設定できます。 詳細については、「エディタのビューポートを使用する」を参照してください。
UE は、外積と座標軸が左手の法則と、Z 軸に沿った正の値が上方向に位置するため Z 上に従うので、左手の座標系と呼ばれます。
たとえば、左手の人差し指を X 軸の正の方向に向けるとします。 次に、左手の中指を Y 軸の正の方向に向けます。 すると、Z 軸の正の方向が親指の方向を指します。 次の画像は、これについて説明しています。
ベクターの外積の左手の法則です。
3 つの座標軸は、以下のようにも呼ばれることがあります。
X 軸:横座標
Y 軸:縦座標
Z 軸:適用
UE 座標空間でポイント (2, 1, -3) を配置するには、次の手順に従います。
正の X 軸に沿って 2 単位ステップを測定します。
正の Y 軸に沿って 1 単位ステップを測定します。
負の Z 軸に沿って 3 単位ステップを測定します。
次の動画では、ステップごとのプロセスを示しています。
正の X 方向に 2 単位前に移動します。
正の Y 方向に 1 単位右に移動します。
負の Z 方向に 3 単位下に移動します。
UE の測定単位の詳細については、「測定単位」ドキュメントを参照してください。
Unreal の座標系でポイント (2, 1, -3) を配置する手順です。
軸をトランスフォームして制御する
以下の画像は、Unreal Engine に含まれている「サードパーソン」テンプレートのシーンです。 シーンの中央で選択されているオブジェクトは、ワールド空間の原点に配置されています。 Unreal Editor のビューポートの左下隅には、見ている方向に対する軸の正方向を示すギズモ アイコンがあります。 これを使用して、Unreal Engine の座標系を視覚化できます。
ワールド空間でオブジェクトの位置を示すギズモを含む Unreal Engine シーンです。
シーンの中央にあるトランスフォーム ギズモは、ビューポートの左下隅にあるギズモ アイコンと同じ方向に配置されています。 方向が一致するのは、ワールド空間に対して選択したアクタを表示しているためです。 また、エディタのトランスフォーム制御は、軸に合わせて色調整されています。
上の画像は、レベル エディタの一般的なトランスフォーム ギズモを表しています。 ただし、さまざまなエディタやレベル モードには、追加の特殊なギズモが存在します。
ピボット ポイントを含む、アクタの位置を調整するさまざまなコントロールの使用については、「アクタをトランスフォームする」を参照してください。
詳細情報
座標系の詳細については、次のリソースを参照してください。
座標空間
各座標空間には、独自の座標系と原点があります。 軸の交点は、その特定の座標空間の原点に等しく、その座標空間の座標系内の座標 (0,0,0) で表されます。 軸の値は、トランスフォームの原点と方向に基づいて増加または減少します。
ワールド空間
ワールド空間は、レベル全体で使用される座標系です。 原点は、シーン (ワールド グリッド) の中央です。 この座標系は固定です。これをトランスフォームすることはできません。 レベルの原点を基準とした絶対単位でオブジェクトを変換または回転したり、レベル全体を基準にスケーリングしたりする場合に、ワールド空間を使用します。
以下の画像は、青いキューブを選択したときに何が起きるかを示しています。 座標軸のギズモは、キューブのピボット ポイントに配置されています。 ギズモの座標軸は、ワールド空間の座標軸と同じ方向を向いています。 2 種類の方法でこれを表示することができます。
1 つ目の方法は、青いキューブの中央にあるギズモの座標軸が、左下隅の座標軸と同じ方向を向いていることに注目することです。
もう 1 つの簡単な方法は、ビューポートの右上隅近くにある地球アイコンで、ワールド空間に対してこのオブジェクトが表示されていることを示すことです。
ワールド空間について青いキューブを表示します。
ローカル空間
ローカル空間は、アクタがアタッチされているシーン コンポーネントを基準とした座標系です。 この空間はオブジェクト空間とも呼ばれています。 シーン内で、すべてのアクタには、アクタのピボット ポイントを基準としたローカル空間の座標系があります。 アクタのピボット ポイントは、アクタの 3 つのローカル座標軸が交差する場所であり、ローカル空間の原点を表します。 その親を基準としたオブジェクトを変換または回転する場合に、ローカル空間を使用します。
ワールド空間 | ローカル空間 |
トランスフォーム ツールはワールド グリッドに位置を合わせます。 | トランスフォーム ツールは選択したアクタの回転に位置を合わせます。 |
右上隅の地球アイコンをクリックすると、青いキューブの中央にあるギズモが変化し、地球アイコンが軸の付いたキューブ アイコンに変化します。 このアイコンは、ローカル空間に対してオブジェクトを表示していることを示しています。 現在、青いキューブの中央にあるギズモの X および Y 座標軸は、左下隅の座標軸と同じ方向を向いていません。
ローカル空間について青いキューブを表示します。
アクタのピボットの位置を一時的に変更するには、以下のいずれかを選択します。
平行移動ギズモの中心点にある球体をマウスの中ボタンでクリックし、ドラッグしてピボットを移動します。
アクタ上のピボット ポイントを設定する場所にカーソルをおいて、ショートカット ALT キーを押しながらマウスの中央ボタンを使用します。
以下のいずれかからピボット ポイントを永続的に変更できます。
上記アクションのいずれかを実行してからアクタを右クリックし、[Pivot (ピボット)] > [Set as Pivot Offset (ピボット オフセットとして設定)] を選択します。
ピボット ポイントの調整の詳細については、「アクタをトランスフォームする」を参照してください。
スクリーン空間
スクリーン空間は、プレイヤーの視界を構成する 2D のスクリーンに 3D のワールド空間を投影したものです。 シーン内の特定のカメラからスクリーン空間座標を取得できます。
「サードパーソン」テンプレートのプレイ イン エディタ (PIE) セッション
スクリーン空間でのアクタの配置を視覚化するには、シーン内のカメラまたはポーンを操作します。 回転させるには、オブジェクトを右クリックし、[Pilot (パイロット)] を選択します。
UV 空間
UV とは、3D サーフェス メッシュを正規化された (0-1) 2D 空間にパラメータ化したもの (U、V) です。 言い換えると、UV は 3D モデルの頂点に変換される、2D 空間における座標を表しています。 2D 空間の水平方向は U で、垂直方向は V で表されるため、「UV 座標」と呼ばれます。 また、2D、テクスチャ座標とも呼ばれます。
UV エディタ (以下の画像) の 2D ビューポートは、UV マップを表示する UV 空間を表しています。 UV をアンラップし、パッキングするための主要なビューポートです。 この空間は 2D またはテクスチャ空間とも呼ばれています。
インスタンスとパーティクル空間
インスタンス空間およびパーティクル空間は、メッシュがアタッチされているインスタンス化スタティック メッシュ (ISM) コンポーネントまたはパーティクル エミッタを基準とする座標系です。 基本的に、この座標系はインスタンスごとのトランスフォームを提供します。
ビデオでは、ISM コンポーネントはキューブ アセットのメッシュ インスタンス (コピー) で構成されています。 コンポーネントは、アクタのピボット ポイントに基づいてすべてのインスタンスを 1 つにトランスフォームします。 コンポーネントをダブルクリックすると、ピボット ポイントは選択したインスタンスに移動します。
Transform または TransformPosition マテリアル ノードを使用してメッシュ インスタンスまたはパーティクル メッシュの位置またはベクターを変換する場合は、以下が適用されます。
ローカル空間は、インスタンス化されたスタティック メッシュ コンポーネントまたはパーティクル エミッタの座標系を参照します。
インスタンス空間およびパーティクル空間は、個別のインスタンスまたはパーティクルの座標系を指します。 各インスタンスのトランスフォームをインスタンスとパーティクル空間からローカル空間に変換できます。
非メッシュ パーティクル (Niagara およびカスケード) のインスタンスとパーティクル空間は、ローカル空間と同じです。
これらのマテリアル ノードの詳細については、「Vector マテリアル表現式」を参照してください。