single.php

Unreal Engineでキャラクターに近接武器を装備させる方法(その3)

ゲーム開発を試してみようと思い立ち、Unreal Engine 5をインストールして開発する過程で調べてみた部分を備忘録的に投稿します。今回はキャラクターに装備させた近接武器の位置を微調整する方法を紹介します。

先回の続きです。キャラクターに近接武器のブループリントを追加するイベント作成したのは別記事をご覧ください。

https://blog.janjan.net/2024/02/01/unreal-engine-infinity-blade-weapons-vol-2/

Infinity Blade:Weaponの追加

キャラクターに装備させる近接武器は、マーケットプレイスで提供されている「Infinity Blade:Weapon」を使っています。

キャラクターの関節にスナップ

先回はスケルタルメッシュのスケルトンツリーに設定されている関節名を指定して武器データをスナップしました。

実際に実行すると微妙に位置と変な角度でスナップされてしまうので調整していきます。

キャラクターに近接武器を追加

先回の続きで[BP_Blade]に武器の位置を調整する変数を追加して装備した武器の角度を調整していきます。

1. [BP_Blade]の[イベントグラフ]内の[Attach Component To Component]の後ろの空いている場所に[マイブループリント]内の[BladeMeshComponent]をドラッグします。

2. 表示された[Get BladeMeshComponent]を選択します。

3.[イベントグラフ]に[Blade Mesh Component]が追加されます。

4. [Blade Mesh Component]のピンを伸ばして表示された[Skeletal Mesh Component オブジェクト参照 を取得する動作]画面で “Set Relative Transform” を検索して追加します。

5. 追加された[Set Relative Transform]の実行ピンを接続します。

6.[Set Relative Transform]の[New Transform]を右クリックして表示された[変数へ昇格]を選択します。

7. 追加された変数の名前を “Blade Socket Offset” に変更します。

8. 保存してコンパイル後に[BP_Blade_Sword]を再度開いて[詳細]画面の[Blade Socket Offiset]の値を下画像のように変更します。([位置]のX軸に “-9.0″、[回転]のZ軸に “90.0” )

ここまでの作業で武器の微調整ができました。すべてを保存しておきます。

実行して確認

実行してキーボードの[E]キーを押すと、こんどは良い感じで武器が右手に装備されます。

まだ納得が行かない場合には[Blade Socket Offset]の値を調節します。

今回は右手首の関節部分 “weapon_r” にしました。

武器を装備するタイミングの変更

これまでの作成したイベントでは、キーを押すタイミングで武器データを生成されます。

あまり効率的ではないので、ゲーム開始時に武器データが生成されるように最後にリファクタリングしておきます。

1.[BP_ThirdPersonCharacter]クラスの[Event BeginPlay]付近の空いている場所で右クリックします。

2. 表示された[実行可能なアクション]画面で “Sequence” を検索して追加します。

3. 追加された[Sequence]を割り込ませるように実行ピンを接続します。

4. キーボードの[E]キーに割り当てた[SpawnActor BP Blade Sword]を切り取ります。

5.[Event BeginPlay]に追加した[Sequence]の近くに[SpawnActor BP Blade Sword]を貼り付けて[Then 1]と実行ピンを接続します。。

6. [SpawnActor BP Blade Sword]の[Return Value]を右クリックして表示されたポップアップメニューの[変数へ昇格]を選択します。

7. 追加された変数の名前を “BladeSword” に変更します。

8.[E]キーのイベントの近くに[BladeSword]変数をドラッグします。

9.[イベントグラフ]に追加された[Blade Sword]を[OnEquipment]の[Target]に接続します。

ここまでの作業でゲーム開始時に武器データが生成されるようになり武器装備のイベントが実行される度に生成される方法より効率的になります。

まとめ

今回は、Unreal Engineで今回はキャラクターに近接武器を装備させる方法の続きを書きました。

指定したスケルタルメッシュの関節部分に武器の装備ができます。

装備した角度や位置を変更する場合は、[Set Relative Transform]を利用します。

Unreal Engineのゲーム開発でキャラクターに「剣」を装備させたい人の参考になれば幸いです。

スポンサーリンク

最後までご覧いただき、ありがとうございます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です