FC2ブログ

凛(kagring)のUE4/UE5とUnityとQt勉強中のゲーム制作ブログ

2016 年から UE4 / 2021年から UE5 を触り始めました。勉強したもののメモ用のブログです。C++ での Qt、Unity も少しあります。ゲーム制作の話題もはじめました。

PREV | PAGE-SELECT | NEXT

≫ EDIT

UE4 地面の傾きに合わせてキャラクターを傾ける

設置している地面の傾きに合わせてキャラクターを傾ける方法です。
こちらを参考にさせていただきました!

・【UE4】なるべく手軽に壁走りを実装してみる
http://tamfoi.hatenablog.com/entry/advent-calendar-2017-ue4

上記のサイトで書かれている方法以外にやり方はなさそうですね。
手順としては

①自分の真下に向かってレイ判定を行う
②レイが地面に当たっていれば、その地面の法線を取得する
③取得した法線を元にキャラクターを回転させる


といったものですね。

ノードで組むとこんな感じに(参考サイトに書かれているそのままです)
姿勢制御002
キャラクターの上ベクトルを取得して、マイナスを掛けて下方向の位置を算出。
キャラクターの位置から下方向の位置に向かってレイを飛ばす。
レイがヒットしていたら、ヒットしたポリゴンの法線から回転値を算出。
算出した回転値をキャラクターにセット。

という流れですね。簡単!
これは参考サイトをそのままなので、地面に設置しているかの判定は取っていないので
設置しているかどうかは「Distance」を見て判断するとよさそうです。

とりあえず動かしてみるとこんな感じに。
姿勢制御001
姿勢制御000
地面かどうかとして法線の向きとかで判定したほうがよいかもですね。
いまだと画像のように横向きのポリゴンでも判定されちゃうので。

しかし、こういうのが簡単にできるのはエンジンのいいところですね!

| UE4 | 15:13 | comments:0 | trackbacks:0 | TOP↑

COMMENT















非公開コメント

TRACKBACK URL

http://kagring.blog.fc2.com/tb.php/364-f0bdbb43

TRACKBACK

PREV | PAGE-SELECT | NEXT