DirGravity -導入-

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


プラグイン概要

惑星の重力下での操作を可能にするプラグイン
単純に重力方向を変更するだけ、というのも出来る

NinjaCharacterとの違い

本プラグインは「惑星の重力で歩く事がメイン」で
NinjaCharacterは「どの地面でも立つ事が出来る」という事。
つまりNinjaCharacterだと惑星に立たせた時に壁とかも立ててしまうんですね(一応惑星重力ぽく出来ない事も無いが、結構難がある。詳しくは下記記事を参考)


準備

今回は導入だけ、下の記事を見つつやっていきます。


プラグインをダウンロード
Directional & Planet Gravity で検索


任意のバージョンのエンジンにインストール


プラグインをオン > UEを再起動
  DirGravityで検索すると良い


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


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


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

レベルを探します

今回は下記を ThirdPerson の Maps にコピペ
 DirGravityContent > Levels
 PlanetsExample
 SimpleGravityExample


プレイヤーBPを探します

下記をThirdPerson の Blueprints の中にコピペ
 DirGravityContent > Character
  BP_GravityCharacter(親クラス)
  BP_HumanGravityCharacter
適当に BP_DGC_base BP_DGC_A とかにリネーム

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


ThirdPersonのインプットをコピペ

BP_DGC_A の親クラスを BP_DGC_base にしておく


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


Event Begin Play 周りを確認

コピペした Begin play が CustomEvent になっているので削除


BeginPlay を Enhanced Input 周りに繋ぐ


UFOを使いたい場合

UFOを使いたい場合
古いKeyMappingシステムをそのまま使うか
Enhanced Input システムに置き換える必要がある(こっちは少し面倒)

UFOはこいつ


古いKeyMappingシステムを流用する場合

EventBeginplayをEnhancedInput周りのノードに繋ぐ
そこからKeyMappingに繋がるようにする


Enhanced Input に置き換えたい場合

※下のやり方では正常に動きませんでした・・・
 考え方としてはこんな感じという程度で見てくだち

この方法は試してないのですが、やるとしたら
BP_UFO_Physics を開く
① エラー吐いてるノードに飛ぶ
② Enhanced Inputに置き換える
無ければ、Enhanced Input で Input Action を足す
例えば下記画像の MoveUP などは無いので上昇用の IA_UP を作る


インプットを置き換える

カメラ周り


移動周り


JUMP周り


ゲームモード設定

PlanetExampleなどのMapを開き
画像赤枠で、ゲームモードを外します


ポーンを設定


コントローラーを設定


終わり、これでプレイできるはずです。

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