3D 変形ツール

「Motion」では、2D と 3D プロジェクトファイルに本質的な違いはありません。いつでもグループやレイヤーを 3D 空間で操作できるように切り替えることができます。この切り替えに際しては準備を行う必要はなく、実際、2D 空間と 3D 空間を行き来しながらオブジェクトを操作することもできます。このセクションでは、キャンバス内でオブジェクトを移動するために使用するツールについて説明します。

Figure. Canvas window and HUD showing an image in a 2D layer.

上の図の写真は、シーンに読み込んだばかりのもので、シーンの原点に位置しています。このイメージを 3D 変形ツール(ツールバーの 2D 変形ツールの右にあります)を使って移動します。

Figure. Toolbar inset showing 3D Transform tool.

ヒント: 2D の「選択/変形」ツールが有効になっている(かつ、キャンバスでオブジェクトが選択されている)ときに Tab キーを押すと、3D 変形ツールを選択できます。Tab キーをもう一度押すと、さまざまな 2D 変形ツールに順番に切り替わります。

3D 変形ツールを使うには
  • ツールバーで 3D 変形ツールを選択します(または Q キーを押します)。

3D 変形ツールを選択すると、ただちに 2 つの変化があります。オンスクリーンコントロールが変化し、オブジェクトの HUD に追加の 3D 変形コントロールが表示されます。

Figure. HUD showing controls that appear when an object in a 3D layer is selected.

3D 変形のオンスクリーンコントロール

3D 変形ツールを選択すると、キャンバス内のイメージの中央付近に 3 つのカラーの矢印が表示されます。各矢印は、3 つの座標軸を表したものになっています。デフォルトでは、Z 軸はまっすぐユーザの方を向いているので、青い Z 軸の矢印は、その先端のみ表示されています。矢印をドラッグすると、イメージが軸に沿って移動します。

Figure. Onscreen 3D controls.
オンスクリーンコントロールを使ってオブジェクトを移動するには
  1. 移動するオブジェクトを選択します。

  2. カラー矢印をドラッグします。

    ドラッグ中は、アクティブになっている矢印が黄色になり、キャンバスの上にあるステータスバーにオブジェクトの現在の座標とオブジェクトの移動距離が表示されます。座標は X、Y、Z の形式で表示されます。

    Figure. Canvas window showing the 3D transform onscreen controls.

    3 つのカラー矢印の近くには、3 つの小さな円があります。

    Figure. Onscreen 3D rotation controls.

    これらは、回転ハンドルです。円の上にポインタを置くと、その軸で回転するためのリングが表示されます。

オンスクリーンコントロールを使って、オブジェクトを特定の座標軸を中心に回転させるには
  1. 回転させるオブジェクトを選択します。

  2. 回転に使う軸の回転ハンドル(小さな円)の上にポインタを移動します。

    回転用のリングが表示されます。

  3. リングをドラッグしてオブジェクトを回転させます。

    ステータスバーには、その時点での回転値とオブジェクトの回転量が表示されます。

    Figure. Canvas window showing an object rotating around the X axis.
オンスクリーンコントロールを使って、オブジェクトをすべての座標軸を中心に回転させるには
  1. 回転させるオブジェクトを選択します。

  2. 回転ハンドルの上にポインタを置き、Command キーを押したままにします。

    3 つのすべての回転リングが表示されます。

  3. Command キーを押したままの状態で、リングの内側をドラッグしてオブジェクトを回転させます。

    ステータスバーには、回転の絶対値と、回転の差分(変更量)が表示されます。

    重要: 2D の「選択/変形」ツールで行う回転は、Z 軸のみを中心とします。

    Figure. Canvas window showing an object rotating along the Z axis in 3D and using the 2D Select/Transform tool.

3D 変形コントロールの画面上の表示

3D 変形のオンスクリーンコントロールの一部を表示することができます。

  • カンマ(,)キーを押すと、軸を表す矢印のみが表示されます(回転ハンドルと調整ハンドルは表示されません)。

  • ピリオド(.)キーを押すと、回転ハンドルのみが表示されます(軸を表す矢印と調整ハンドルは表示されません)。

  • スラッシュ(/)キーを押すと、調整ハンドルのみが表示されます(軸を表す矢印と回転ハンドルは表示されません)。

    キーを 2 回押すと、表示がデフォルトに戻り、3 つすべてのコントロールが表示されます。

3D 変形の HUD に表示されるコントロール

オンスクリーンコントロールに加えて、HUD に 3D 空間のオブジェクトを変形する別の方法があります。一連のグラフィカル変形コントロールを使う方法です。

Figure. HUD showing the 3D controls.
  • 移動: HUD の「移動」セクションにある 3 つのコントロールでは、選択したオブジェクトを同時に 1 つまたは複数の座標軸に沿って移動できます。「移動」コントロールの内側をドラッグすると、キャンバス内のオブジェクトの対応パラメータ値が変化します。
    • Z 軸方向の移動: ここをドラッグすると、選択したオブジェクトが Z 軸に沿って移動します。右にドラッグすると Z の値が減り(オブジェクトが遠ざかり)、左にドラッグすると Z 値が増えます(オブジェクトが近づきます)。Command キーを押しながらドラッグすると、移動と同時にオブジェクトが縮小/拡大され、カメラとの相対的サイズを維持します。
    • X および Y 軸方向の移動: ここをドラッグすると、オブジェクトが X 軸と Y 軸に沿って移動します。左右にドラッグすると、X の値が加算または減算されます。上下にドラッグすると、Y の値が加算または減算されます。このコントロールでの操作は、キャンバス内で 2D オブジェクトをドラッグするのと同じです。Command キーを押しながらドラッグすれば、ドラッグを開始したときの方向に動きが制限されます。
    • X および Z 軸方向の移動: ここをドラッグすると、オブジェクトが X 軸と Z 軸に沿って移動します。左右にドラッグすると、X の値が加算または減算されます。上下にドラッグすると、Z の値が加算または減算されます。Command キーを押しながらドラッグすれば、ドラッグを開始したときの方向に動きが制限されます。

      ヒント: 「インスペクタ」での操作同様、HUD で Shift キーを押しながらドラッグすれば、変化が大きくなります。また、Option キーを押しながらドラッグすれば、変化が小さくなります。

  • 回転と調整: HUD にあるその他の 2 つのドラッグコントロールでは、キャンバス内で選択したオブジェクトの回転と調整ができます:
    • XYZ 軸方向の回転: ここをドラッグすると、オブジェクトがすべての軸を中心に回転します。原点を始点に、上下にドラッグすれば、オブジェクトが X 軸を中心に回転します。左右にドラッグすると、オブジェクトが Y 軸を中心に回転します。

      Z 軸のみを中心に回転させるには、Command キーを押しながらドラッグします。

    • 調整: ここをドラッグすると、キャンバス内で選択したオブジェクトが均等に縮小/拡大されます。右または上(あるいはその両方)にドラッグすると、「調整」の値が上がります。左または下(あるいはその両方)にドラッグすると、「調整」の値が下がります。

      最初にドラッグした方向と一致する軸のみを基準に縮小/拡大するには、Command キーを押しながらドラッグします。

相対座標

相対座標の概念を理解するために、地球、月、太陽などの衛星のシステムに置き換えて考えてみることにしましょう。月の親は地球で、その地球の親は太陽です。通常、これらの天体について語るとき、月の位置は地球(月の親)の位置と相対的に表され、地球の位置は太陽(地球の親)と相対的に表されます。「Motion」でも、オブジェクトの位置と方向は、常にその親と相対的に表されます。

「Motion」プロジェクトにグループを追加すると、そのグループは、その親の原点座標に作成されます。ルート階層のグループ(「レイヤー」リストで別のグループ内にネストされていないグループ)の場合、プロジェクトそのものが親になります。既存のグループに追加したオブジェクトの位置は、その親であるグループと相対的に表されます。

Figure. Canvas and Inspector showing a group placed at coordinates: X=50, Y=50, Z=50.

上の例では、グループの位置が、X、Y、Z 座標でそれぞれ 100、100、100 になっています。つまり、このグループは、親の原点よりすべての軸で 100 ピクセルずつ離れた場所にあるということになります(この場合の親は、プロジェクトそのものになります)。グループ内に配置されているイメージの位置は 0, 0, 0 になっています。なぜなら、イメージの位置は、その親であるグループと相対的になっているからです。このイメージは、親の原点を共有し、ワールド座標から見れば 100、100、100 の位置にあります。

このイメージを 50、50、50 の位置に移動し、グループの原点からすべての軸方向に 50 ピクセルずつずらした場所に配置します。下のイメージで、ヤマアラシがキャンバスの表示領域からはみ出していることが分かります。このとき、イメージのワールド座標との相対位置は 150、150、150 になりますが、「インスペクタ」の「位置」では位置が常に親と相対的に表されるので、その値は 50、50、50 になります。

Figure. Canvas and Inspector showing image in a group at coordinate: X=25, Y=25, Z=25.

回転の値も、オブジェクトの親と相対的に表されます。

Figure. Canvas showing a group with Z Rotation set to 45 degrees.
Figure. Inspector and Viewer showing object rotated -90 degrees within group rotated to 45 degrees.

重要: ワールド軸や表示軸を使った変形は、HUD とオンスクリーンコントロールのみに限定されるものであり、「インスペクタ」内でのすべての変更は、オブジェクトの親の空間と相対的に行われます。

レイヤーの順番と深度

2D の合成では、「レイヤー」リストはレイヤーの順番、つまりキャンバス内でオブジェクトがどのような順番で重ねられるかを示します。「レイヤー」リストの上の方に表示されているオブジェクトは、それより下に表示されているオブジェクトよりもキャンバス内で前方に表示されます。

重要: 2D グループの子もレイヤー順で合成されます。

次の例では、「レイヤー」リストで青の A グループが赤の B グループの上になっており、キャンバスで青のオブジェクトが赤のオブジェクトの上に表示されます。

Figure. Layers list and Canvas showing how layers in the Canvas match the top-to-bottom arrangement in the Layers list.

「レイヤー」リストで A グループを B グループの下に移動すると、B グループが A グループの上に描かれます。

Figure. Layers list and Canvas showing the layers reversed in both Layers tab and Canvas.

「レイヤー」リストには、オブジェクトの親子(従属)関係も表示されています。「レイヤー」リスト内では、親子関係は、インデント表示と開閉用三角ボタンを使って表示されています。

Figure. Layers list showing how groups are the parents of the items within them.

3D 空間内のオブジェクトの場合、その順番を定義するものは「レイヤー」リストだけではありません。深度の並べ替えかたによっては、「レイヤー」リストの一番下にあるオブジェクトが、現行のカメラとの相対的な位置の関係で、キャンバス上では一番前方に表示されるということもあります。深度を調整する最も一般的な方法としては、レイヤーまたはグループの Z 位置を変更するという方法があります。

重要: デフォルトでは、3D グループの子は、深度の順番で合成されます。

Figure. Layers list and Canvas showing objects in 3D groups where the order in the Canvas doesn't match the order in the Layers list.

上の 3D グループでは、オブジェクトが深度の順番に従って合成されていますが、各オブジェクトの「レイヤー」リスト内での位置は、3D 空間内でのカメラとの相対的な位置とは連動していません。

この例では、「Blue A」グループが「レイヤー」リストでは「Red A」グループよりも上に位置していますが、キャンバス内では深度の順番によって「Red A」グループより後方に表示されています。同じことが、「Blue B」グループと「Red B」グループの関係にも言えます。

2D グループ内での 3D 変形

たとえ 2D グループ内にあっても、3D 変形はすべてのオブジェクトに対して行うことができます。オブジェクトを任意の軸で回転させたり、任意の軸に沿って移動させたりすることができます。ただし、2D グループ内では、オブジェクトの順番に深度は考慮されません。3D 空間で位置が重なっていても、オブジェクトが互いに交差することはありません。

下の例では、グループ A とグループ B が 3D 空間で同じ位置にあります。しかし、レイヤーの順序に従うため、グループ A はグループ B と交差しません。

Figure. Layers list and Canvas showing groups sorted in layer order.

親グループを 3D に変換した場合は、下の例のようにグループ A とグループ B は交差します。

Figure. Layers list and Canvas showing groups sorted in depth order.

メモ: 2 つのグループが共面(同じ平面上にある)である場合、オブジェクトの親が 2D グループと 3D グループのどちらかに関係なく、レイヤーの順番で合成されます。2D 合成では、すべてのオブジェクトが共面になります。