プラグインの導入-NinjaCharacter-

※素人による記事の為、間違いがある可能性があります
※個人用備忘録ですが、何かご指摘ございましたらコメント頂けたらと思います

古いエンジンバージョンで作られたプラグインを導入すると、大体インプット周りがエラー吐いて動きません。今回は NinjaCharacterPlugin を使って動かせるようにする所までやります。

バージョン 5.1.1

下記のプラグインを使いました。


参考元


準備

プラグインを購入(今回は無料)


マーケットプレイスから、プラグインを欲しいバージョンに導入


もしくはライブラリから検索しても良い



ThirdPersonテンプレを新規作成


Plugin setting から NinjaCharacterPlugin を オン

再起動


コンテンツブラウザでエンジンコンテンツとプラグインを可視化


コンテンツブラウザ Engine > Plugin の中から対象のフォルダーを探す
今回は NinjaCharacterContent フォルダ
Add To Favorites でお気に入り登録
Set color で色付けておく


レベルとプレイヤーをコピー

レベルを探します

今回は下記を ThirdPerson の Maps にコピペ
 NinjaCharacterContent > NinjaCharacter > Maps
 NinjaCharacterExampleMap


プレイヤーBPを探します

下記をThirdPerson の Blueprints の中にコピペ
 NinjaCharacterContent > NinjaCharacter > Blueprints
 NinjaPlayerCharacter_BP
適当に BP_Ninja とかにリネーム

※エンジン内の元データ改ざんしたくない為
 基本的に使うものは全てコピーを使用する


ThirdPersonのインプットをコピペ

BP_ThirdPersonのインプット周りを「コピーしたBP_Ninja」に全てコピペ


CustomEventノード無いか確認

既に使われているイベントノードがあった場合、CustomEventノードに置き換わっているので確認。
特にBeginPlayはインプットの設定を読み込んでるので要確認

これは正常の状態


プラグインのプレイヤーBPのインプットノードを置き換えていきます
ゲームパッドは使わないしパッドもマウスもインプットが統合されてるので、削除してOK


カメラ

マウスはカメラの動きなので、Camera Input から IA_Look を持ってきます


Movement(移動)

Movement はそのまま IA_Move を持ってきます
A outputXは右なので下のノード、Yは前方向なので上のノードへ繋ぐ

B 外積を使って前方を求めてるぽい
  外積は2つのベクトルで作られる平面に垂直に交わる法線を求められる
  何故 Get Forward Vector を使わないのかはわからない

C Branchで「インプットが0の時は実行しない」処理
  IA_Moveはアウトプットが1つなので 前方 右方 どっちかの
  インプットが無いと全て実行されなくなる ので外しました


ジャンプ

ジャンプは普通に繋ぎます


サンプルマップを歩く

プラグインからコピーした レベルを開きます


プレイヤーをさっき調整した BP_Ninja にしたいですよね
プレイヤーは下記の様に設定されているのですが
レベル > ゲームモード > ポーン(プレイヤー)

このゲームモードがどこに保存されてるのか見てみましょう

エンジン内でしたね


という事でゲームモードを外します


新たにポーンをBP_Ninjaに設定
プレイヤーコントローラーも任意のものになってるか確認

この場合使われるのはThirdPersonのゲームモードみたいですね。


以上で歩き回れます。



この記事が気に入ったらサポートをしてみませんか?