ローカルのマルチプレイヤーについて

以前ローカルのマルチプレイヤーについて質問したものです。画像の通りブループリントを設定したのですが、最初にクリエイトしたキャラがリスポーンしても微動だにしません。何が原因なのでしょうか?教えてください。

微動だにしないというのはキャラをスポーンしてから、入力がとれないということでしょうか?

この場合、スポーンはしているが、入力は処理していないようにみえます。入力イベントはどうなっているでしょうか?一度見直してもらえればと思います。

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さん
やっぱり出来ないですね。レベルブループリントも見せて頂けませんか?

レベルブループリントに関しては本当にこれのみです。

28085-levelbp.jpg

やっぱり出来ないです。Default PawnはNoneでいいんですよね?

いえ、Game ModeのDefault Pawnは当然今回使っているMyCharacterを指定します。

alweiさんのこちらの記事で解決できるのでは?紛らわしいので僕の書いたのは消しておこう、(^_^)

http://unrealengine.hatenablog.com/entry/2015/01/27/223857

下田さん…お忙しいところ、すいません(^_^;