お世話になっております。
現在、「武器などで叩くとリンゴを落とす木」を作ろうと試みており、ひとまずスケルトンのある敵キャラクターにリンゴのブループリントをアタッチするテストしてみました。このリンゴには、「プレイヤーが触るとアイテムを取得できる」処理が書かれています。
しかし、ビューポートの詳細からソケットに割り当てる方法と、コンストラクションスクリプトでの[Attach To~]でソケットに割り当てる方法を試してみたのですが、テストプレイを開始するとぽとりと落ちてしまいます。
ブループリントのアイテムをスケルトン(ソケット)にアタッチして保持する方法というのはないのでしょうか?
また可能であったとしても、ずっとブループリントアイテムをくっつけておくよりも、『スケルトン(ソケット)にアタッチするアイテムはスタティックメッシュにして、デタッチする際にそのスタティックメッシュを消し、同じ場所からブループリントの同アイテムを落下させる』という方法の方が処理は軽いのでしょうか。
質問が多くなってしまって申し訳ありませんが、よろしければご教示の方よろしくお願いいたします。
アタッチしているActorについての情報が足りません。
アタッチする方のActorのBlueprintについての情報も提供してください。
(特にPhysicsに関する部分について)
ご返答ありがとうございます。
情報の不足について、了解しました。
アタッチする方のアクターは[ThirdPerson]テンプレートにデフォルトで入っている[ThirdPersonCharacter]のスケルタルメッシュとAnimClass、あとはマテリアルのみを変更したものです。
Physicsに関する部分というのは、この項目で大丈夫でしょうか?↓
また、コンストラクションスクリプトでリンゴをアタッチする際はこのように組みました。
他に何か不足している情報がありましたらご指摘ください。
必要なのはリンゴ側の情報です。問題はリンゴ側にあると考えています
キャラクター側ではなくリンゴ側の情報でしたか。失礼いたしました。
こちらがリンゴ側の情報です。
詳細にあるPhysicsタブはこのようになっております。
これらの情報で大丈夫でしょうか?
他になにか必要なものがあればご指摘ください。
アタッチする対象の Simulate Physics
がONになっていると、その部分が独立して物理演算が行われ、別の動きをしてしまいます。
(今回のケースのように重力を受けて落ちてしまったり…)
別のActorにアタッチするときには、アタッチするActorの Simulate Physics
をオフにする必要があります。
(この場合はリンゴの Simulate Physics
です)
場合によっては、Collisionもオフにする必要があります。
物理演算をONにしたままではアタッチすることができなかったのですね。
デタッチ後地面に落とす、という場合は、デタッチ処理と一緒にPhysicsを変更すれば可能でしょうか?
可能です。物理演算が必要な場合はそのようにしてください
了解しました。
長々とお付き合いいただき、ありがとうございました。
教えていただいたことを参考に試行錯誤してみたいと思います。