以前ローカルのマルチプレイヤーについて質問したものです。画像の通りブループリントを設定したのですが、最初にクリエイトしたキャラがリスポーンしても微動だにしません。何が原因なのでしょうか?教えてください。
微動だにしないというのはキャラをスポーンしてから、入力がとれないということでしょうか?
この場合、スポーンはしているが、入力は処理していないようにみえます。入力イベントはどうなっているでしょうか?一度見直してもらえればと思います。
alweiさん
返信ありがとうございます。入力イベントとはキャラクターブループリントのことでしょうか?それならデフォルトであるMyCharacterをそのまま使っています。二つのキャラクターはスポーンされるのですが何故か一人しか操作できません。これだけで2か月くらい詰まってます。
はい、その通りです。デフォルトのMyCharacterのままでは動作しないはずです。
なぜならば動かしたいキャラクターが指定されていないからです。Get Player Characterノードでプレイヤーのインデックスを指定して動かしたいキャラクターを指定します。このブループリントではプレイヤーを作る際のインデックスも皆同じものとなっているので、そもそも1つ以上のプレイヤーを動かすことができないと思います。
そして必要であればキャラクターごとに別々の入力をとってあげる必要があります。同じアクションでも同じキーで動くようになっていると実質ひとりでしか遊べないからです。入力口を複数作って、Get Player Characterノードで別々のプレイヤーに値を渡してあげましょう。
alweiさん
ありがとうございます。幾つか伺いたいのですが、インデックスの設定とはどうやって行うのでしょうか?あと入力口を複数作るとはどういう事ですか?スポーンするキャラクターブループリントを別々に作れということですか?
例えばCreate Playerノードでは作成するときにController IDを指定しますが、これがプレイヤーインデックスとなります。デフォルトでは-1になっており、これを指定すると順番に0からの連番インデックスがつけられます。
入力口を複数作るということはキャラクターごとに複数同じ処理が必要ということです。そしてそのキャラクターに作成したインデックスを指定してあげます。Get Player CharacterノードにはPlayer Indexという引数がありますので、そこで指定をします。
具体的にどういう実装方法を行なっているのか、ブループリントの画像などを添えてもらえれば、質問にも回答できると思います。
やっぱりどうしてもできません。Mycharacterに追加してみたのですが駄目でした。
私の場合は以下のやりかたで複数入力がとれています。
プレイヤーの作成はレベルブループリント内でCreate Playerを一度呼んでいるのみです。Create PlayerのControll IDは-1で自動設定にしています。これで一度やってみてください。
alweiさん
やっぱり出来ないですね。レベルブループリントも見せて頂けませんか?
レベルブループリントに関しては本当にこれのみです。
やっぱり出来ないです。Default PawnはNoneでいいんですよね?
いえ、Game ModeのDefault Pawnは当然今回使っているMyCharacterを指定します。
alweiさんのこちらの記事で解決できるのでは?紛らわしいので僕の書いたのは消しておこう、(^_^)
下田さん…お忙しいところ、すいません(^_^;