質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
UE4

UE4はUnreal Engine(アンリアルエンジン)の第4世代です。 UEは、Epic Gamesより開発されたゲームエンジンです。

Q&A

解決済

2回答

1476閲覧

UE4:キャラクターが接触している床、壁、天井の座標の取得する方法

HijikiTarou

総合スコア20

UE4

UE4はUnreal Engine(アンリアルエンジン)の第4世代です。 UEは、Epic Gamesより開発されたゲームエンジンです。

0グッド

0クリップ

投稿2022/04/02 02:21

UE4でキャラクターが床、壁、天井にそれぞれヒットしているとき、その座標を取得したいです。
この場合、一般的にはどのようにするのがよいでしょうか?

▼キャラクターのカプセルコンポーネントのOnComponentHitを利用する

 ヒットした瞬間の座標は取得できるのですが、ヒットして以降の座標を追うことができません。

▼取得したいタイミングでカプセルと同じサイズでCapsuleTraceを呼び出す

 おおよそ取得できたのですが、一つ問題があります。
キャラが壁や床に接している状態で、キャラのカプセルと完全に同じサイズでCapsuleTraceを呼び出すと、ヒットしません。
キャラのカプセルサイズより少し大きめのCapsuleTraceを呼び出せばヒットしました。
しかし正確さにかけると思いました。

上記のようなことを試してみたのですが、しっくり来る方法を見つけられませんでした。
UE4でブループリント環境で、ヒットしている地形の情報を取得する一般的な方法はどのようなものでしょうか?

もしご存じの方らいらっしゃいましたら教えてください。

よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ありがとうございます!
まさに欲しかった情報です、とても助かりましたー!

壁や天井は自前でカプセルトレースして取得してみました。

以前、別の質問にもご回答いただいきました。
わかりやすくて、とても助かっております。

引き続きどうぞよろしくお願いします。

投稿2022/04/05 13:13

HijikiTarou

総合スコア20

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

CharacterMovementComponentクラスが内部で使用している、現在設置している床の情報である CurrentFloor変数にBPからでもアクセス可能です。
CharacterMovementからCurrentFloorを探してみてください
イメージ説明

壁や天井はそのゲームの要件によって変化する為自前で実装する必要があります。
壁であればプレイヤーの入力方向に向かってカプセルトレースすることでこのフレームでぶつかるであろう壁を検出することが可能です
天井は現在のプレイヤーのVelocityのZ成分を加味してカプセルトレースすることでこのフレームでぶつかるであろう天井を検出できそうです。
ここらへんの検出は様々な実装方法があるのでネットで調べるなど自分のあったものを使ってみてください。

投稿2022/04/04 17:43

MMashiro

総合スコア2378

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問