emotionサイトトップ >
UE(アンリアルエンジン)備忘録 >【UE4】アクタをスポーンさせてソケットにアタッチが上手くいかない・・・

RPGを装備するボタンを押したら、RPGをスポーンさせてキャラクターのソケットにアタッチさせようと頑張っていたのですが

スポーンされたライトスタンド型RPGが
何故かキャラクターの背中に張り付いてしまいますorz
ブループリントノードの設定を散々調べた結果・・・原因が分からずじまいorz
とりあえず、変な所にライトスタ・・・RPGが張り付いている状態でキャラクターを操作してみると・・・
キャラクターが明後日の方向へ吹き飛ばされましたw
(@_@)!?
この現象・・・どこかで経験した事があるような・・・
キャラクターの各部のコリジョン設定が雑な状態で、ラグドールにした時に・・・キャラクターのコリジョン同士が干渉し合って、キャラクターが吹き飛ぶ現象です。
もしかしてと思って、ライトスタンド型RPGのコリジョン設定を確認してみると・・・

案の上CollisionPresetsの設定でBlockAllDynamicになっていました。
RPGにコリジョン設定されていた事で、キャラクターとRPGのコリジョンが干渉していたんですね。
No collisionにしてRPGからコリジョン設定を抜いた結果・・・

ちゃんとキャラクターのソケットにRPGがアタッチしてくれました♪
とりあえずトラブルが発生したら難しい事は考えず、動かしてみてどんな動作をするかを確認してみる事も大事ですね。
どんな異常動作したかで原因が予測し易くなります。
あとはコリジョン等の基本的な部分のチェックw

ちなみに今回はテストなので、装備ボタンを押したらSpawnActorで武器をスポーンさせて、AttachActorでソケットにアタッチさせただけですけど。
実際にちゃんとゲーム作成する時はこの方法はマズイんですよね。
BungieのDestinyとかプレイしてみると分かりますけど、
武器をスポーンさせるタイミングはインベントリで装備したタイミングで、武器の持ち替え時には装備していない武器を非表示にするのがセオリーみたいです。
なのでDestinyではインベントリで装備変更してメニュー画面から戻ると・・・ロード未完了でスポーン出来ていない武器は半透明の状態で、射撃音もデフォルト音が使用されるんですよね。
ロードが完了して武器がスポーンされると、ちゃんと武器が表示されて射撃音も対応した音に変わります。
武器の持ち替えはスポーン済みの武器を表示/非表示にしているだけでメモリ上には存在しているので、半透明になる事はありません。

なので、あるタイミングで使用する予定の装備は全てスポーンしておいて、
武器の持ち替え時にSet Actor Hidden In Gameで武器の表示/非表示するのが通っぽくて良さそうですw
- 関連記事
-
-
【UE4】パーティクルシステムが上手くいかない・・・
-
【UE4】アニメーションシーケンス作成方法
-
【UE4】アクタをスポーンさせてソケットにアタッチが上手くいかない・・・
-
【UE4】TwoBoneIKノード
-
【UE4】ゲームインスタンスを自前のインスタンスでキャストするとエラー
-