僕の私のUnrealな日々

UE4のBluePrintを使って小さなギミックを作ったりしてます。ブログを通じて情報共有ができたらなと思います。

UE4:キャラクターを変えた簡単なローカルマルチの実装について

 

f:id:Bussan_dayo:20150629193536p:plain

 

数カ月前にキャラクターを変えたローカルマルチを作成したのでだいたいの作り方をまとめます。

多分他に正当法がありそうな気がするので自分の色々と弄った結果これじゃないかという小ネタ発表的な・・・

 

ローカルマルチの実装

 

 

仕様:[P]を押すとゴブリンが2Pで出現。もう一度押すとよくわかんない女のキャラが3Pとして出現。

 

使用したもの:

ThirdPersonテンプレート

MixamoAnimPack(無料)

 

ローカルマルチ自体は非常に簡単に出来る仕組みになっています。

まずBluePrintを作成しPlayerControllerに設定します。

f:id:Bussan_dayo:20150629193913p:plain

 

 

そして設定します。

f:id:Bussan_dayo:20150629193946p:plain

 

PlayerControllerのエディター部分に、ThirdPersonCharacterのブループリントにある操作部分をコピペして貼ります。

f:id:Bussan_dayo:20150629194123p:plain

 

Inputを2Pに変える必要があるのでプロジェクトの設定のインプットから2Pのインプットを作成します。

f:id:Bussan_dayo:20150629194247p:plain

 

多分コンパイルエラーが起こると思いますが置いておきます。

 

次に「P」が押されるとローカルマルチが作動するようにします。

f:id:Bussan_dayo:20150629194455p:plain

 

Controller idが1のPlayerを作成していることになります。なので、先ほどコピペしたノードらに[PlayerCharacter]ノードを出し繋げる必要があります。

f:id:Bussan_dayo:20150629194629p:plain

PlayerIndexに1を入れます。

 

この状態でローカルマルチを作動させると以下のようになります。

f:id:Bussan_dayo:20150629194716p:plain

 

ローカルマルチについてはalweiさんのブログがわかりやすいです。

unrealengine.hatenablog.com

 

 

キャラクターが同じになっているのでどうにかしてキャラクターを変えたいと思います。

 

で、キャラクターのBPをそのまま出す方法など色々と試行錯誤したり調べたりしたんですけど思ったとおりにいかないので、もうアニメーションBPとSkeltalMeshをブチ込めばいいのではと考え実装していきました。

 

 

f:id:Bussan_dayo:20150629194912p:plain

 

GetPlayerCharacterノードを出し1を入れ、Get Meshを出します。

 

Get MeshからSet Anim Instance ClassとSet Skeltal Meshノードを出します。

f:id:Bussan_dayo:20150629195201p:plain

 

 

Set Anim Instance ClassのNewClassには出したいキャラクターのアニメーションBPを出します。今回はゴブリンを出したいので

f:id:Bussan_dayo:20150629195142p:plain

MixamoAnimBP_Goblinを入れます。Set SkeltalMeshにはゴブリンのスケルトンを入れます。

 

この状態でローカルマルチを作動させると

f:id:Bussan_dayo:20150629195306p:plain

 

ゴブリンが2Pとして出現します。

 

全体のノード構成としては動画では3体出現させているので以下のとおりになります。

f:id:Bussan_dayo:20150629195420p:plain

 

GetPlayerCharacterとCreatePlayerには2を入れています。

 

正直これであってるか非常に微妙なんですが、一応動いてるし・・・

 

他の方法があれば是非教えて下さい~。

 

 

以上。