読者です 読者をやめる 読者になる 読者になる

妹でもわかるUnrealEngine4

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

GetActorBoundsでアクターの大きさを調べる

妹「アクターの大きさって調べられないのかな? 一番でっぱってる部分で計算した場合に、長さがどれくらいかという」

「何に使うの?」

妹「ブロックをキッチリ等間隔で並べる仕組みを、色んなのに使えるようにしたいんだけど、大きさがけっこうまちまちで。かといって、1つずつ自分で大きさを数字で設定するのも面倒というか、もっと楽ができそうな気配がする」

「そういう用途だと、GetActorBoundsというのがあるね。いまいち資料が少ないんだけど、前にちょこっと調べたサイコロの仕組みにも使われてるやつ。対象がすっぽり収まる箱のことをバウンディングボックスっていって、お絵かきソフトでもたまに使うんだけど、それがどれぐらいの大きさなのか、アクタに対して調べることが出来る」

docs.unrealengine.com
imoue.hatenablog.com

f:id:una_unagi:20160611224336p:plain
f:id:una_unagi:20160611224345p:plain

FPSのテンプレートにこういう感じのレベルブループリントを仕込んでみたところ。出てきた数字をそのままデバッグ表示で画面上に出してる。見た感じちゃんとデータは取れてるようだから、この結果を元にXYZ各方向の長さを調べることが出来そう」

妹「あれ? なんか斜めになってるやつがあるね」

XYZの軸を基準に計算してるから、軸に対して傾いてる場合はバウンディングボックスの大きさも変わってくる。計算対象はアクタ内の全コンポーネントだけど、コリジョンが存在する部分だけ計算というのも出来るみたい」