訂正/Destroyはイベントディスパッチャーで呼び出します
こんにちわ!
昨日予約投稿がうまくできていなかったので一日空いてしまいました。
すみません。
そんな僕は
ヨシマササブロウです。
それでは、Part2
ソケットの役割と武器の装備/非装備のオンライン化
です!
正直、Unreal Engine 4 の公式ドキュメントのほうが詳しくソケットの説明は書いてあるので、サラッとだけ書きますね。
ソケットとはキャラクターメッシュのスケルトンにつけることができるオブジェクト用の入れ物みたいなものです。
ソケットを追加したいボーンを右クリックするとAdd Socketという文字が出てくるのでそれでソケットを追加することができます。
武器を追加する時のポジションの設定ができる入れ子みたいなものです。
注意点は、色々な武器をキャラクターにつけたい場合は
同じ系統の武器の3Dモデルを作る段階でそれぞれのモデリングソフトでしっかりと
武器を持つところは、X、Y, Zを基準点とした時に
下からどの位置にくる
ということなどを決めて作らないと、すべての武器のソケットをUE4上で設定しなければいけないので、かなり大変です!!
僕も最初の方すごく大変でした!!
それでは、武器の方の説明に入りたいと思います。
前回説明した
武器を装備する方法がこちらです。
イベント呼び出しで、それぞれを格納しているのは
後々ゲーム内からデータを取りたくなるときがあるからです。
このイベントをゲームインスタンスで実行します。
GameInstanceとはすべてのプレイヤーが共通して持つ事ができるノードや変数格納庫みたいなモノです。
ですが、
ゲームを開始した時点では各プレイヤーは同じものを持っていますが
サーバーでGameInstanceの中身を変更してもクライアント側のGameInstanceは変更されないようです。
詳しくは要検証
なので、GameState的な使い方はできないです。
ですが毎回絶対決まった事をしたいときなどは便利に使えます。
このイベントはサーバーのみで実行させます。
そしてReplicateしてください。
こんな風にイベントをキャラクターの方で呼び出してください。
非装備の方は単純明快で
武器の方で
イベントディスパッチャーで Destroy_Weaponを設定しておいて
キャラクターの方でDestroy_Weaponを呼び出せばおしまいです。
明日はコンボ(武器の中身に入っていきます)
それではおやすみなさい