Snapping (スナップ) は、アクタをグリッドまたは別のオブジェクトに位置合わせすることで、アクタを簡単に配置できる機能です。スナップが有効になっている場合、アクタはトランスフォーム時に固定位置にジャンプします。
Unreal Engine では、次のいくつかの異なる方法でスナップを実装しています。
-
サーフェス スナップ
-
グリッド スナップ
-
頂点スナップ
サーフェス スナップ
サーフェス スナップ を行うと、アクタを床または別のサーフェスに位置合わせできます。[Level Viewport (レベル ビューポート)] ツールバーから [Surface Snapping (サーフェス スナップ)] を有効にします。[Surface Snapping] ボタンをクリックしてから、 [Surface Snapping] オプションを有効にします。
[Surface Snapping] を有効後は、次のオプションを設定することもできます。
オプション | 説明 |
---|---|
Rotate to Surface Normal (サーフェスの法線に合わせて回転) | 有効にすると、アクタはスナップするサーフェスのアライメントに一致するように自動的に回転します。 |
Surface Offset (サーフェス オフセット) | この値を変更すると、アクタとスナップするサーフェスの間の距離を設定できます。 |
アクタを選択して End キーを押すと、アクタは最も近いサーフェス (レベルの床面など) にスナップします。
Grid Snapping (グリッド スナップ)
Unreal Engine で [Grid Snapping (グリッドスナップ)] が有効になっている場合、アクタは特定の値の増分で移動、回転、またはスケーリングします。たとえば、平行移動のスナップ値が 10 単位に設定されている場合、アクタは 10 単位単位でしか移動できません。
Unreal Engine は、トランスフォームごとに次の個別のグリッドを使用します。
-
Drag Grid (ドラッグ グリッド) は、レベル内で暗黙的な 3 次元グリッドへのスナップを可能にします。
-
Rotation Grid (回転グリッド) では、インクリメンタルな回転スナップが可能です。
-
Scale Grid (スケール グリッド) は、スケール ギズモに対して加算インクリメントのスナップを強制します。しかし、これは [Editor Preferences (エディタの環境設定)] でパーセンテージ値に設定することもできます (以下の「スナップ設定」セクションを参照)。
Drag Grid | Rotation Grid | Scale Grid |
[Level Viewport] ツールバー内のアイコンをクリックすると、スナッピング グリッドが立ち上がります。そして、グリッドがアクティブになると、そのアイコンが強調表示されます。各グリッドの増分は、アクティブ化ボタンの右側のドロップダウンから変更できます。
スナッピングの環境設定
Drag Grid、Rotation Grid、Scale Grid のすべての設定は [Editor Preferences (エディタの環境設定)] パネルから行います。ここでは、スナップ動作もいくつか設定できます。これらの設定にアクセスするには、メインメニュー バーから [Edit (編集)] > [Editor Preferences] > [Viewport (ビューポート)] を選択して [Snap(スナップ)] カテゴリまでスクロールします。
次のオプションを設定できます。
オプション | 説明 |
---|---|
User Power of Two Snap Size (2 の累乗スナップサイズを使用) | このオプションを有効にすると、10 進数のグリッドサイズではなく 2 乗のグリッド設定 (1、2 、4、8 、16…) が使用されます。 |
Enable Grid Snapping (グリッド スナップの有効化) | 有効にすると、アクタの位置がグリッドにスナップします。これは、レベルビューポート ツールバーのトグルボタンと同じ動作をします。 |
Enable Rotation Snapping (回転スナップの有効化) | 有効にすると、アクタの回転がグリッドにスナップします。 |
Enable Scale Snapping (回転スナップの有効化) | 有効にすると、アクタのスケール (サイズ) がグリッドにスナップします。 |
Use Percentage Based Scaling (割合ベースのスケーリングを使用) | このオプションを有効にすると、現在の加算メソッドではなく Unreal Engine の従来の乗法 (パーセンテージ) スケーリングが使用されます。 |
Enable 2D Layer Snapping (2D レイヤー スナップを有効化) | これにより、プロジェクトで必要な場合に、オブジェクトを 2D レイヤーにスナップするための追加のオプションがレベル ビューポート ツールバーで有効になります。デフォルトのレイヤーは、フォアグラウンド、デフォルト、およびバックグラウンドです。ドロップダウンから [Edit Layers (レイヤーの編集)] をクリックすると、これらをカスタマイズできます。 |
Decimal Grid Sizes (10 進数のグリッド サイズ) | スナップのグリッド サイズをカスタマイズするには、この配列を使用します。これらの値は、レベルビューポートのツールバーに表示されます。 |
Decimal Grid Intervals (10 進数のグリッド間隔) | この設定は、正投影ビューポートのグリッド参照線の間の小数間隔を制御します。 |
Pow 2Grid Sizes (2 の乗数グリッドのサイズ) | [User Power of Two Snap Size] を有効にした場合は、この配列を使用して 2 の乗数のスナップ グリッド サイズをカスタマイズします。 |
Pow 2Grid Intervals (2 の乗数グリッド間隔) | この設定は、正投影ビューポートのグリッド参照線の間の 2 の累乗間隔を制御します。 |
Common Rot Grid Sizes (共通ロット グリッド サイズ) | 共通の回転グリッド間隔をカスタマイズするには、この配列を使用します。これらの値は、レベルビューポート ツールバーの [Rotation Grid Snap (回転グリッドスナップ)] ドロップダウンの下に表示されます。 |
Divisions Of 360Rot Grid Sizes (360Rot グリッド サイズの分割) | 360 回転グリッド間隔の分割をカスタマイズするには、この配列を使用します。これらの値は、レベルビューポート ツールバーの [Rotation Grid Snap (回転グリッドスナップ)] ドロップダウンの下に表示されます。 |
Scaling Grid Sizes (スケーリング グリッド サイズ) | スケーリングのグリッド間隔をカスタマイズするには、この配列を使用します。これらの値は、レベルビューポートのツールバーに表示されます。 |
頂点のスナッピング
Vertex snapping (頂点のスナッピング) を使用すると、それぞれのメッシュのポリゴンの頂点を用いて、あるオブジェクトを別のオブジェクトにスナップできます。頂点とは、2 つ以上のエッジが交わる点のことです。
頂点のスナッピングを使用するには、 V キーを押しながら移動ギズモを使用します。V キーを押しながらオブジェクトの移動を開始すると、そのオブジェクトをスナップできるポリゴンの頂点が表示されます。これは、ピボット調整と組み合わせて使用する場合に特に便利です。なぜなら、ピボットを直接頂点にスナップした後で、それを別のオブジェクト上の頂点にスナップする手段として使用できるためです。
以下のビデオは、この手法を使用して 2 つのパイプを正確にスナップする方法を示しています。2 つのスタティック メッシュのピボット ポイントが配置されている場所にも注意してください。
この手法は、通路、壁、ドアなど、別のオブジェクトに対して正確に配置する必要があるオブジェクトに対して便利です。