LunaNelis
(ネリスさんMain)
1
格闘ゲームのように、1画面に2体のキャラクターが居て、二人のプレイヤーがそれぞれ操作する
といった処理を作ろうと思ったのですが、インプット関係で詰まっています。
1画面でのローカルマルチを行う場合、プロジェクト設定でUseSpritScreenをオフにして
CreatePlayerでプレイヤーを増やすというのはわかったのですが
CreatePlayerで増えたPlayerControllerにはインプットの情報が送られず、移動や攻撃が出来ませんでした。
PlayerControllerのイベントグラフ内(仮)
134810-
1画面でのローカルマルチを行う場合、1つのプレイヤーコントローラーが2つのキャラクターを管理して、
1Pと2Pの入力をキャラクターに渡すべきなんでしょうか?(下図の左側)
イメージとしては右図のようにプレイヤーコントローラー1つにつき1キャラクターだと思っていますが、そうすると入力イベントを最初のプレイヤーコントローラーに持って行かれてしまい、2つ目のプレイヤーコントローラーは実質機能していない状態になってしまいます。
右図のような仕組みにするにはどのような対処が必要なのでしょうか?
あるいは左図で実装するのが正攻法とみていいのでしょうか?
よろしくお願いします。
LunaNelis
(ネリスさんMain)
2
似たような質問がありました。
この質問に対する答えは、2P用のプレイヤーコントローラーは作成せず、一つのプレイヤーコントローラーが2つのキャラクターを操作する。となっています。
Possessノードでは1体分しかキャラクターを登録できないため、Spawnしたキャラクターを変数として所持してそれを使って入力時の処理を実行する形になりそうですね。
PlayerControllerのあり方として正しいかやや疑問ではありますが、これで動作するので多分大丈夫なんでしょうね。