UE4 トランスフォーム(Tansform、Socket)の位置や回転を取得する(Get Socket Location、Get Socket Rotation、Does Socket Exist)
スケルタルメッシュなどからボーン(トランスフォーム)の位置や回転を取得する方法です。
他にもそのトランスフォームがあるかどうかのチェックについてです。
UE4ではボーンやトランスフォームのことを「ソケット(Socket)」というみたいですね。
ソケットの位置を取得するには「Get Socket Location」ノードを使います。

「Target」には「Scene Component」を指定します。
「In Socket Name」には取得したいソケットの名前を指定します。
わかりやすいノードですね。
回転を取得する場合は「Get Socket Rotation」ノードを使います。

「Target」には「Scene Component」を指定します。
「In Socket Name」には取得したいソケットの名前を指定します。
「Get Socket Location」と入力は同じですね。
指定した「Scene Component」にソケットがあるかどうかの判定は
「Does Socket Exist」ノードを使います。

「Target」には「Scene Component」を指定します。
「In Socket Name」には取得したいソケットの名前を指定します。
指定した名前のソケットがあれば真を返します。
これで簡単に情報を取得することができました。
ざらっと簡単にアクターから情報を取得する方法を書いてみました。

本来は「For Each Loop」で回さなかったりしないといけないのですが
とりあえず流れを作ってみるとこんな感じですかね。
「SocketName」というソケットのLocationを取得するようなBPです。
ゲームを作ってると「特定の位置から」みたいな処理はかなりあるので
こういった処理はかなり使いそうですね。
他にもそのトランスフォームがあるかどうかのチェックについてです。
UE4ではボーンやトランスフォームのことを「ソケット(Socket)」というみたいですね。
ソケットの位置を取得するには「Get Socket Location」ノードを使います。

「Target」には「Scene Component」を指定します。
「In Socket Name」には取得したいソケットの名前を指定します。
わかりやすいノードですね。
回転を取得する場合は「Get Socket Rotation」ノードを使います。

「Target」には「Scene Component」を指定します。
「In Socket Name」には取得したいソケットの名前を指定します。
「Get Socket Location」と入力は同じですね。
指定した「Scene Component」にソケットがあるかどうかの判定は
「Does Socket Exist」ノードを使います。

「Target」には「Scene Component」を指定します。
「In Socket Name」には取得したいソケットの名前を指定します。
指定した名前のソケットがあれば真を返します。
これで簡単に情報を取得することができました。
ざらっと簡単にアクターから情報を取得する方法を書いてみました。

本来は「For Each Loop」で回さなかったりしないといけないのですが
とりあえず流れを作ってみるとこんな感じですかね。
「SocketName」というソケットのLocationを取得するようなBPです。
ゲームを作ってると「特定の位置から」みたいな処理はかなりあるので
こういった処理はかなり使いそうですね。
| UE4 | 12:43 | comments:0 | trackbacks:0 | TOP↑