凛(kagring)のUE4とUnityとQt勉強中ブログ

2016 年から UE4 を触り始めました。勉強したもののメモ用のブログです。C++ での Qt、Unity も少しあります。

PREV | PAGE-SELECT | NEXT

≫ EDIT

UE4 指定した範囲の中のランダム位置を取得(Random Point in Bounding Box)

指定した範囲内のランダムな位置を取得する方法です。
ここらへんを参考にさせてもらいました。

・「Unreal Engine」エンドレスランナー作成
http://shivat.hatenablog.com/entry/2015/07/14/004423

・UE4:Random Point in Bounding Box メモ
http://unrealbussan.hatenablog.com/entry/2015/02/27/143723

指定した範囲内のランダム位置を取得するには
「Random Point in Bounding Box」ノードを使います。
RandomPointInBoundingBox000.jpg
「Origin」を中心とした位置に
「Box Extent」を±した位置をランダムで返します。

公式ドキュメントはこちら。

・Random Point in Bounding Box
https://docs.unrealengine.com/latest/INT/BlueprintAPI/Math/Random/RandomPointinBoundingBox/index.html

両方ともVector型なので、こんな感じで組み込みます。
RandomPointInBoundingBox001.jpg
サードパーソンのテンプレートにある「?」マークのついた得体のしれないものを
上記の処理で適当に配置してみました。
RandomPointInBoundingBox002.jpg
こんな感じでいい感じに配置できました。

この処理は別途でランダムノードを使って計算すれば同じようなことができたりするのですが
おそらく使い方の想定としては、他のアクターなどからパラメータをとってくるのだと思います。

というわけで「Box Trigger」を配置してやってみます。
RandomPointInBoundingBox004.jpg
上記の「Box Trigger」から範囲を受け取って
「Random Point in Bounding Box」ノードを実行します。
RandomPointInBoundingBox003.jpg
こんな感じですね。
そうすると、配置した「Box Trigger」のコリジョンの範囲に配置されます。
RandomPointInBoundingBox005.jpg
というわけで、直接数値を指定するより、
エディタ上で配置したものの範囲にこれで位置を取得できるので便利なのかなと思います。

ゲームを作るとこういった処理は、
敵のポップ位置だったりで結構使いそうな気がするのでよさそうですね。
スポンサーサイト

| UE4 | 14:37 | comments:0 | trackbacks:0 | TOP↑

COMMENT















非公開コメント

TRACKBACK URL

http://kagring.blog.fc2.com/tb.php/228-eb04d567

TRACKBACK

PREV | PAGE-SELECT | NEXT