スケルタル メッシュ ソケット

ソケットを使用して、スケルタル メッシュ内にアタッチメント ポイントを作成します。

スケルタル メッシュ上のボーンにオブジェクトをアタッチする場合は、このアタッチメントをオフセットする必要がある場合があります。数学演算を使用してオフセット トランスフォームを推定する代わりに、ソケット を作成することができます。ソケットはスケルトンの階層内にある専用のアタッチ ポイントで、親であるボーンを基準として変形させることができます。設定すると、オブジェクト、武器、およびその他のアクタをソケットにアタッチすることができます。

このドキュメントでは、ソケットの作成および使用方法の概要を説明します。

前提条件

ソケットを作成する

ソケットは スケルトン ツリー から作成され、主要なあらゆる アニメーション エディタ からアクセスすることができます。スケルトン ツリー のボーンを右クリックし、[Add Socket (ソケットを追加)] を選択します。

add socket

これで、新しいソケットが、前に選択したボーンの親として、スケルトン ツリーで表示されます。

new socket

ソケットを削除するには、ソケットを右クリックして、[Delete (削除)] を選択するか、キーボードの Delete キーを押します。

delete socket

デフォルトでは、ソケットを作成して操作すると、スケルタル メッシュの スケルトン アセット が編集されます。そのため、ソケットの変更を行う際は、スケルトン アセットを必ず保存してください。

ソケットを移行および編集する

ソケットを作成すると、以下の方法でソケットを操作することができます。

ソケットの表示/非表示

デフォルトでは、ソケットは、 アニメーション エディタのビューポート には表示されません。表示するには、[Viewport (ビューポート)] メニューで [Character (キャラクター)] > [Bones (ボーン)] を選択し、[Sockets (ソケット)] を有効にします。

show sockets in viewport

選択と移動

ソケットは、スケルトン ツリーでクリックするか、ビューポートで表示されている場合は、ビューポートでクリックすると、選択できます。その後、ビューポートのトランスフォーム マニピュレータでドラッグすると、移動できます。ソケットは、平行移動、回転、およびスケーリングすることができます。

select and move socket

コピーおよび貼り付け

ソケットは、要件に応じてさまざまな方法でコピーして貼り付けることができます。

ソケットをコピーするには、スケルトン ツリーでソケットを右クリックし、[Copy Selected Sockets (選択したソケットをコピー)] を選択するか、Ctrl+C を押します。

copy selected sockets

次に、以下のどちらかを選択します

  1. ソケットを同じボーンに貼り付ける。これには、スケルトン ツリーの任意のボーンを右クリックして、[Paste Sockets (ソケットを貼り付け)] を選択します。この操作により、基本的に、ソケットが複製されます。

    paste sockets

  2. ソケットを他のボーンに貼り付ける。これには、スケルトン ツリーの他のボーンを右クリックし、[Paste Sockets To Selected Bone (ソケットを選択したボーンに貼り付け)] を選択します。この操作により、同じオフセット情報を持つソケットのコピーが、新しいボーンの親として貼り付けられます。

    paste sockets to selected bone

メッシュ ソケット

異なるスケルタル メッシュ間で スケルトンを共有する 場合、スケルタル メッシュうちの 1 つの専用のソケットを作成する必要がある場合があります。専用のソケットは、メッシュ ソケット を使用して作成します。メッシュ ソケットにより、ソケットは スケルトン ではなく、スケルタル メッシュ 上に存在するようになります。

mesh socket compare

メッシュ ソケットを作成するには、既存のソケットを右クリックし、[Create Mesh Socket (メッシュ ソケットを作成)] を選択します。これでソケットがメッシュ ソケットに変換されます。メッシュ ソケットを作成したいスケルタル メッシュで、現在 スケルタル メッシュ エディタ を使用していることを確認してください。

create mesh socket

スケルトン アセットに存在するソケットと同様に、メッシュ ソケットもスケルタル メッシュに存在するため、メッシュ ソケットを作成または変更する場合は、そのアセットを保存する必要があります。

ソケットの詳細

ソケットが選択されている場合、[Details (詳細)] パネルに次のプロパティが表示されます。

socket details

名称

説明

Relative Location / Rotation / Scale

位置、回転、スケールのいずれかでの親ボーンに対する相対座標でのソケットの現在のトランスフォーム座標。

Force Always Animated

これを有効にすると、このソケットのすべての親ボーンが、現在の LOD 設定によって削除されているかどうかに関係なく、常に評価されます。

Socket Name

ソケットの名前。

Bone Name

ソケットをアタッチするボーンの名前。この値を別のボーンに変更すると、ソケットがそのボーンの親になります。

ソケットを使用してアタッチする

ソケットを作成して配置したら、オブジェクト、エフェクト、およびその他のアクタをソケットにアタッチすることができます。次の種類のアタッチを行うことができます。

基本レベルのアタッチ

レベル内で基本的なアタッチメントを設定することができ、デフォルトでオブジェクトがソケットにアタッチされます。これを実行するにはいくつかの方法があります。

basic socket attachment in level

ドラッグアンドドロップ

レベルのアウトライナーで、オブジェクトをスケルタル メッシュ アクタにドラッグします。ウィンドウが表示され、そのウィンドウで任意のボーンまたはソケットを選択し、アタッチすることができます。ソケットを選択すると、アタッチメント プロセスが実行されます。

drag and drop socket attach

レベル内でアタッチする場合、オブジェクトは以前のワールド トランスフォームを保持します。これは、他のオブジェクトの一意のオフセットを作成する場合に役立つ可能性があります。オブジェクトをソケットのトランスフォームと一致させたい場合は、オブジェクトのトランスフォーム値をデフォルトに設定します。

zero transform

コンテキスト メニュー

オブジェクトを右クリックし、[Attach To (アタッチ先)] を選択し、スケルタル メッシュ アクタをクリックします。ウィンドウが表示され、そのウィンドウで任意のボーンまたはソケットを選択し、アタッチすることができます。ソケットを選択すると、アタッチメント プロセスが実行されます。

context menu socket attach

ソケットのスナップ

レベル エディタで [Settings (設定)] ドロップダウン メニューをクリックし、[Enable Socket Snapping (ソケットスナップを有効にする)] を選択します。これで、すべての **ソケット**がビューポートで表示されます。

enable socket snapping

次に、表示されている任意のソケットにオブジェクトをすばやくアタッチすることができます。これには、まずオブジェクトを選択してから、ソケットを選択します。

socket snap attach

基本的なブループリントのアタッチ

また、 ブループリントSkeletal Mesh コンポーネント への基本的なデフォルトのアタッチを設定することができます。

まず、[Components (コンポーネント)] パネルのスケルタル メッシュ上でオブジェクトをドラッグして Skeletal Mesh コンポーネントをオブジェクトの親にします。

blueprint socket attachment

次に、子オブジェクトを選択し、[Details] パネルで Parent Socket プロパティを特定します。検索ボタン をクリックして、アタッチ先のソケットを選択します。

blueprint parent socket attachment

動的アタッチ

オブジェクトがソケットにアタッチおよびデタッチするタイミングを制御したい場合は、各種 Attach および Detach ブループリント関数を使用することができます。

アタッチでは、次の関数を使用できます。

  • Attach Actor To Actor.

  • Attach Actor To Component.

  • Attach Component To Component.

attach blueprint functions

アタッチ関数には、次のプロパティがあります。

名称

説明

Target

アタッチされる子アクタまたはコンポーネント。

Parent

ターゲット がアタッチされている親アクタまたはコンポーネント。

Socket

アタッチするときに使用するソケット。

Location / Rotation / Scale Rule

ターゲット がアタッチされた後の最終的な位置を制御するトランスフォーム ルール。次のオプションから選択できます。

  • Keep Relative: 現在のトランスフォームの数値を維持します。これは、ターゲットが新しい位置にポップインする可能性が高く、アタッチする際に同じオフセット座標を維持するのに役立ちます。

  • Keep World: ターゲットの現在のビジュアル トランスフォームを維持します。これは、アタッチする際にターゲットがポップインされません。 アタッチメントの前後で同じビジュアル トランスフォームを維持するための計算が行われるからです。

Weld Simulated Bodies

ターゲットを親に 結合 するかどうか。

デタッチでは、次の関数を使用できます。

  • Detach From Actor

  • Detach From Component

detach blueprint functions

Unreal Engine のドキュメントを改善するために協力をお願いします!どのような改善を望んでいるかご意見をお聞かせください。
調査に参加する
キャンセル