DirGravity -導入-
※素人による記事の為、間違いがある可能性があります
※個人用備忘録ですが、何かご指摘ございましたらコメント頂けたらと思います
プラグイン概要
惑星の重力下での操作を可能にするプラグイン
単純に重力方向を変更するだけ、というのも出来る
NinjaCharacterとの違い
本プラグインは「惑星の重力で歩く事がメイン」で
NinjaCharacterは「どの地面でも立つ事が出来る」という事。
つまりNinjaCharacterだと惑星に立たせた時に壁とかも立ててしまうんですね(一応惑星重力ぽく出来ない事も無いが、結構難がある。詳しくは下記記事を参考)
準備
今回は導入だけ、下の記事を見つつやっていきます。
プラグインをダウンロード
Directional & Planet Gravity で検索
![](https://assets.st-note.com/img/1680755078505-XDFz7uJwS7.png?width=800)
任意のバージョンのエンジンにインストール
![](https://assets.st-note.com/img/1680755303283-eZhdn8qags.png?width=800)
プラグインをオン > UEを再起動
DirGravityで検索すると良い
![](https://assets.st-note.com/img/1680755496585-KTPb1NFzjY.png?width=800)
コンテンツブラウザでエンジンコンテンツとプラグインを可視化
![](https://assets.st-note.com/img/1680755760282-CrxtY09clG.png?width=800)
コンテンツブラウザ Engine > Plugin の中から対象のフォルダーを探す
今回は DirGravity Content フォルダ
Add To Favorites でお気に入り登録
Set color で色付けておく
![](https://assets.st-note.com/img/1680756158283-bmInBye7l9.png)
レベルとプレイヤーをコピー
レベルを探します
今回は下記を ThirdPerson の Maps にコピペ
DirGravityContent > Levels
PlanetsExample
SimpleGravityExample
![](https://assets.st-note.com/img/1680756391081-fTpghlYppO.png?width=800)
プレイヤーBPを探します
下記をThirdPerson の Blueprints の中にコピペ
DirGravityContent > Character
BP_GravityCharacter(親クラス)
BP_HumanGravityCharacter
適当に BP_DGC_base BP_DGC_A とかにリネーム
![](https://assets.st-note.com/img/1680757828628-HCFoMn6Dxq.png?width=800)
※エンジン内の元データ改ざんしたくない為
基本的に使うものは全てコピーを使用する
ThirdPersonのインプットをコピペ
BP_DGC_A の親クラスを BP_DGC_base にしておく
![](https://assets.st-note.com/img/1680758037704-tHHRgd7gQg.png?width=800)
BP_ThirdPersonのインプット周りを「コピーしたBP_DGC_A」に全てコピペ
![](https://assets.st-note.com/img/1680758119742-9jdyw0gJ7z.png?width=800)
Event Begin Play 周りを確認
コピペした Begin play が CustomEvent になっているので削除
![](https://assets.st-note.com/img/1680760636917-eBmwqTMACP.png?width=800)
BeginPlay を Enhanced Input 周りに繋ぐ
![](https://assets.st-note.com/img/1680828069948-349l0Xm57Z.png?width=800)
UFOを使いたい場合
UFOを使いたい場合
古いKeyMappingシステムをそのまま使うか
Enhanced Input システムに置き換える必要がある(こっちは少し面倒)
![](https://assets.st-note.com/img/1680761057767-HwBLOqZes5.png?width=800)
古いKeyMappingシステムを流用する場合
EventBeginplayをEnhancedInput周りのノードに繋ぐ
そこからKeyMappingに繋がるようにする
![](https://assets.st-note.com/img/1680762448842-tpnBOTmSSb.png?width=800)
Enhanced Input に置き換えたい場合
※下のやり方では正常に動きませんでした・・・
考え方としてはこんな感じという程度で見てくだち
この方法は試してないのですが、やるとしたら
BP_UFO_Physics を開く
① エラー吐いてるノードに飛ぶ
② Enhanced Inputに置き換える
無ければ、Enhanced Input で Input Action を足す
例えば下記画像の MoveUP などは無いので上昇用の IA_UP を作る
![](https://assets.st-note.com/img/1680762929728-YWMZ2hnEoJ.png?width=800)
インプットを置き換える
カメラ周り
![](https://assets.st-note.com/img/1680828677493-C4QevtLgJ6.png?width=800)
移動周り
![](https://assets.st-note.com/img/1680828825921-zaQr4Sq3yU.png?width=800)
JUMP周り
![](https://assets.st-note.com/img/1680828869005-JuXn0rG9yJ.png?width=800)
ゲームモード設定
PlanetExampleなどのMapを開き
画像赤枠で、ゲームモードを外します
![](https://assets.st-note.com/img/1680830236744-4eLmaEMdUu.png?width=800)
ポーンを設定
![](https://assets.st-note.com/img/1680830403306-LK94xktOUo.png?width=800)
コントローラーを設定
![](https://assets.st-note.com/img/1680830470455-GEH2b0VmGJ.png?width=800)
終わり、これでプレイできるはずです。
この記事が気に入ったらサポートをしてみませんか?