プラグインの導入-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に設定
プレイヤーコントローラーも任意のものになってるか確認
以上で歩き回れます。
この記事が気に入ったらサポートをしてみませんか?