読者です 読者をやめる 読者になる 読者になる

I From Japan Staff Blog

I From Japan の開発者ブログです

UE4・アクションゲームの作り方!Part2

 

 

訂正/Destroyはイベントディスパッチャーで呼び出します 

 

 

blog.i-fromjapan.com

 

こんにちわ!

 

昨日予約投稿がうまくできていなかったので一日空いてしまいました。

すみません。

 

 そんな僕は

ヨシマササブロウです。

 

 

それでは、Part2

 

ソケットの役割と武器の装備/非装備のオンライン化

 

 

です!

 

 

 

正直、Unreal Engine 4 の公式ドキュメントのほうが詳しくソケットの説明は書いてあるので、サラッとだけ書きますね。

 

 

 

ソケットとはキャラクターメッシュのスケルトンにつけることができるオブジェクト用の入れ物みたいなものです。

 

f:id:ifromjapan:20161002234155p:plain

 

 

 

ソケットを追加したいボーンを右クリックするとAdd Socketという文字が出てくるのでそれでソケットを追加することができます。

 

武器を追加する時のポジションの設定ができる入れ子みたいなものです。

 

 

 

 

注意点は、色々な武器をキャラクターにつけたい場合は

 

同じ系統の武器の3Dモデルを作る段階でそれぞれのモデリングソフトでしっかりと

 

武器を持つところは、X、Y, Zを基準点とした時に

下からどの位置にくる

 

ということなどを決めて作らないと、すべての武器のソケットをUE4上で設定しなければいけないので、かなり大変です!!

 

僕も最初の方すごく大変でした!!

 

 

 

 

 

それでは、武器の方の説明に入りたいと思います。

 

f:id:ifromjapan:20161005004554p:plain

 

 

前回説明した

 

武器を装備する方法がこちらです。

 

イベント呼び出しで、それぞれを格納しているのは

後々ゲーム内からデータを取りたくなるときがあるからです。

 

f:id:ifromjapan:20161003052359p:plain

 

このイベントをゲームインスタンスで実行します。

 

GameInstanceとはすべてのプレイヤーが共通して持つ事ができるノードや変数格納庫みたいなモノです。

ですが、

 

ゲームを開始した時点では各プレイヤーは同じものを持っていますが

サーバーでGameInstanceの中身を変更してもクライアント側のGameInstanceは変更されないようです。

詳しくは要検証

 

なので、GameState的な使い方はできないです。

 

ですが毎回絶対決まった事をしたいときなどは便利に使えます。

 

 このイベントはサーバーのみで実行させます。

 

そしてReplicateしてください。

 

 

f:id:ifromjapan:20161003052402p:plain

 

 

こんな風にイベントをキャラクターの方で呼び出してください。

 

 

 

非装備の方は単純明快で

 

 

武器の方で

 

イベントディスパッチャーで Destroy_Weaponを設定しておいて

 

キャラクターの方でDestroy_Weaponを呼び出せばおしまいです。

 

 

 

明日はコンボ(武器の中身に入っていきます)

 

 

それではおやすみなさい

 

 

 

blog.i-fromjapan.com