Get Player Controller はその名の通り指定したIndexに割り当てられたPlayer Controllerを取得します。
Get Player Character も上記と同じように指定したIndexに割り当てられたPlayer Characterを取得します。
Player ControllerとPlayer Characterの違いですが
PS4等の家庭用ゲーム機でキャラクターを操作するイメージに近いです
PS4のコントローラー → Player Controller : ユーザーの操作を受け付け、ゲーム内に渡す
PS4のゲーム内の時キャラ → Player Character : 上記のコントローラーから受け取った情報を元にキャラクターを移動させたり戦わせたりする
このようにControllerとCharacterは似て非なるものになります。
ではこのように分ける意味ですが、
分ける事で特定のキャラクターに依存しない操作系統を実現することができます。
例えば大乱闘スマッシュブラザーズを例に上げると全員がユニークな攻撃を持っていますが、
操作方法はほぼ全員共通しているはずです(スティックで移動、Aで攻撃等…)
その為一人ひとり同じような入力受付処理を書くのは無駄かつ変更が入ったときに変更漏れが出る恐れが有るため
このように分けて実装することが薦められています
余談ですが、ControllerとCharacterは親子関係になっておりControllerが親でCharacterが子という風になっています
(BP上でもControllerからCharacter、CharacterからControllerを取得可能です)
2018/04/22 17:23
2018/04/23 00:33 編集