【UnrealEngine超初心者道場#3】物体の衝突を判定する方法

CG/AI雑学

はじめに

本記事の目的

  • Unreal Engineで物体の衝突を判定する方法を身に着ける
  • 初心者でも理解しやすいBlueprintを活用する

本記事で得られるスキル

  • Blueprintを使って物体の衝突を判定するテクニック

UEの基本を押さえていきましょう!

Blueprintを使って物体の衝突を判定する基本テクニック

プロジェクト・ブループリントクラスの作成

プロジェクトとブループリントクラスは最初の記事で作成したものをそのまま使用します。

物体の衝突判定を作る方法

まずはシーンに物体を2ついていきます。

上にある+マークのついているマークを押します。
形状>球を選択します。

以下のように地面に埋まっているかもしれません。

地面から出してあげるために位置を調整しましょう。
以下の赤枠の(X,Y,Z)を(0,0,50)にしてみます。

地面から球が浮き出てきましたね!

次に第2回で作成したブループリントをシーンに配置してみます。
以下のようにドラッグアンドドロップキューブのブループリントを配置しましょう。

以下のようにキューブの(X,Y,Z)を(500,0,50)に調整します。

続いてキューブのブループリントが球に衝突するように動かしていきます。
物体を動かす方法の詳細は第1回の内容をチェックしてください。

キューブのブループリントを開き、イベントグラフでXがイベント毎に-2移動するように設計します。

先ほど設定したキューブのX座標が500、球のX座標が0なのでキューブが-2ずつ移動したらに近づいていきますよね。

続いて物体の衝突判定を作っていきます。

キューブのブループリントを開きます。
左にあるCubeをクリックします。
右側の詳細タブでSimulation Generates Hit Eventsを検索し、チェックを入れます。

日本語の説明文にもある通り、Simulation Generates Hit Eventsにチェックが入っているとCubeが他の物体に衝突したときにHitイベントが発生するようになります。

では一度コンパイルと保存をして実行してみましょう。

結果

Cubeが球をすり抜けてしまいました。
これは球の物理挙動を計算をするように設定をしていないからです

物理的な計算がされない物体は質量をもたずにそこに置かれているだけなので、幽霊みたいなものですね。

そのため球に物理的な計算がされるように設定する必要があります。

では設定していきます。

右側の詳細からSphereをクリックします。
物理のSimulate Physicsにチェックを入れます。

これで再度実行してみましょう。

結果

Cubeと球がぶつかって球が転がっていきましたね。
これで物体と物体を衝突させることができました。

最後に物体が衝突したら衝突したという判定(表示)をするようにしましょう。

Cubeのブループリントを開き、イベントグラフ上で右クリックします。
Event Hitと検索してEvent Hitを選択します。

Event HitノードにPrint Stringノードをくっつけます。
(今回は衝突したら衝突しましたというメッセージが表示されるようにします。)

ではコンパイルと保存をして実行してみましょう。

結果

衝突したタイミングで衝突しましたというメッセージが表示されていますね。

物体の衝突判定を作る方法については以上です。

まとめ

本記事では、Blueprintを使っ物体の衝突判定を作る方法について学びました。
今後もUnrealEngine超初心者向けに役立つ記事を書いていきたいと思います。

コメント

タイトルとURLをコピーしました