6
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Unreal Engine (UE)Advent Calendar 2023

Day 24

Ninja Character Pluginを触ってみる

Last updated at Posted at 2023-12-23

この記事はAdvent calendar 2023シリーズ3の24日目の投稿記事です。

Ninja Character Pluginを触ってみたのでそちらの紹介をしてみたいと思います。
UE5.1.1で触っています。

触ってみた結果

Videotogif (5).gif

Ninja Character Pluginとは

Ninja Character Pluginのダウンロードページ
文字通り、忍者のように壁に張り付いたり走ることができるプラグインです。

基本的な使い方はこちらを参考にすればできました。

使ってみる

最初に使用するエンジンにインストールをします。
image.png

編集→プラグイン→Ninja Characterを有効にして再起動します。
image.png

親クラスNinja Player Character BPを継承したBPを作成します(ここではBP_TestPlayerを追加)。
image.png
追加したBPのSkeletaleMeshをSKM_Quinn_Simpleに、AnimClassをABP_Quinn_Cに変更します。
image.png

NinjaPlayerCharacter_BPで操作できるように画像のように入力アクションを設定します。
image.png

Default Pawn ClassをBP_TestPlayerに変更してプレイインすることで下記のようなものができるかと思います。
NinjaCharacterPlugin用のテストレベル:/Script/Engine.World'/NinjaCharacter/NinjaCharacter/Maps/NinjaCharacterExampleMap.NinjaCharacterExampleMap'
Videotogif (4).gif

縦の移動のときに走ってほしい場合は下記ABPの画像の部分をVectorLengthに置き換えてください。
/Script/Engine.AnimBlueprint'/Game/Characters/Mannequins/Animations/ABP_Manny.ABP_Manny'
image.png

Ninja Character Movement Componentに関して

image.png

パラメータの説明

調べた範囲になりますがパラメータの説明を記載します(間違っていたらすいません)。
壁走り等をさせるだけであれば、Align Component to Floor, Align Component to Gravityにチェックを入れることで壁に立つことや壁走りはできました。
image.png

パラメータ名 説明
Force Simulate Movement ネットワーク用の設定のようですが、この辺り詳しくなく...
Revert to Default Gravity DefaultPhysicsVolumeに触れたときに重力を下に戻す設定
Land on Any Surface 着陸時にサーフェスが歩行可能かどうかを知るための重力方向のチェック
Trigger Unwalkable Hits 歩けない地形に当たった時にイベントを通知するか(ネイティブのみ)
DisableGravity Replication こちらもネットワーク用の設定...
Ignore Other Gravity Scales trueの場合、ANinjaPhysicsVolumeの重力倍率を無視する
AlignGravityToBase trueの場合、重力の方向を変更(GravityDirectionModeによって重力の方向が変わります)。
Align Component to Floor 床が見つかった場合、地面の法線にキャラクターを回転させる
Align Component to Gravity trueの場合、キャラクターを回転させて重力方向に合わせる
Always Rotate Around Center trueの場合、キャラクターが何かに位置合わせされている場合、常にキャラクターをその中心を中心に回転させる
Rotate Velocity on Ground trueの場合、キャラクターが歩行中に何かに位置合わせされている場合、速度方向も回転する
ThresholdParallelAngle 計算結果のベクトルの垂直か平行かの閾値を設定する

ジャンプ時の重力を立っているときの方向に変更したい

AlignGravityToBaseで変更できます。

・OFFの場合
 UEの重力方向に補正されるようにジャンプします。
Videotogif (7).gif

・ONの場合
 今立っている方向を基準にジャンプできますが、ジャンプしたアクターを基準にしているわけではないので少し扱いに注意が必要です。
Videotogif (6).gif

壁走り許容角度を増やしたい

CharacterMovementWalkable Floor Angleで壁走りの許容角度を変更できます。
ただし、垂直な壁は90を設定しても登ることはできませんでした。
壁を89度くらいにするか、壁との設置面にスロープを設置するなどをした方がよさそうでした。

使ってみた所感

球体の上を走らせる場合や、回るような坂を登らせたいとき等に使用する場合であれば手軽に実現できました。
また、重力の方向も変えることができるのでステージギミック等で使ってみるのも有用そうでした。

6
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?