TPSシューティング奮闘記~武器の取得~

以前書いたような内容だと思うが、

free-gamer.hatenablog.com

free-gamer.hatenablog.com

まあ進捗という事でw

 

武器BPの作成

「WeaponMaster」という名の親BPを作成。

その子として、それぞれ

「Pistol」

「Rifle」

「ShotGun」

「SubMachinegun」

の子BPを作成した。

 

WeaponMaster

f:id:Free_Gamer:20180801180156p:plain

Widgetコンポーネントの設定

f:id:Free_Gamer:20180801180451p:plain

コンストラクションスクリプト

「WeaponInfo」という自作の構造体変数をセット。

f:id:Free_Gamer:20180801181550p:plain

イベントグラフ

f:id:Free_Gamer:20180801180533p:plain

f:id:Free_Gamer:20180801180802p:plain

WeaponMasterを継承した子BPそれぞれに、武器やウィジェットを設定していく。

(画像はWeaponMasterを継承した子BP「ShotGun」)

f:id:Free_Gamer:20180801180901p:plain

 

構造体・列挙体(Enum)の作成

 

武器の種類を格納するための列挙体「WeaponType」

f:id:Free_Gamer:20180801181330p:plain

武器の特徴を格納するための構造体「WeaponInfo」

f:id:Free_Gamer:20180801181407p:plain

 

武器取得処理

f:id:Free_Gamer:20180801181947p:plain

武器取得した時、このカスタムイベントが呼び出される。

f:id:Free_Gamer:20180801181958p:plain

 

参照したWeaponMasterから「WeaponInfo」構造体を参照。

「WeaponInfo」を分解。

「WeaponInfo」の中にある「WeaponType(自作した列挙体「WeaponType」)」で処理をスイッチ(切り替える)。

f:id:Free_Gamer:20180801182057p:plain

 

もっといい方法があるはずだが、まあ進捗なんでw

例えば、「Rifle」タイプの武器を取得したら、スイッチによって「Rifle」に繋がってる処理が行われる。

「Rifle」タイプの武器をスポーンし、プレイヤーにアタッチ。

その後、アタッチした武器のSphereコンポーネントを破壊。

これを破壊しないと、Sphereコンポーネントによって行われてるウィジェット表示とアウトライン表示が消えないから。

最後に、落ちていた武器を破壊。

f:id:Free_Gamer:20180801182312p:plain

 

ちなみに、初期装備として「Pistol」は最初っからプレイヤーにアタッチさせてる。

f:id:Free_Gamer:20180801183053p:plain

 

これでプレイしてみよう!

youtu.be

 

しっかり武器の取得が行われている!

 

ちょっと見づらいかもだが実際の処理の流れも。

youtu.be

 

ちょっとした参考までに!

 

それではまた!^^ノシ