メッシュをサークル状に設置する方法!
今回は、
メッシュをサークル状に設置する方法!
をやっていきます!
「BP_RadialArray」という名の、アクタークラスのBPを作成し、コンストラクションスクリプトに以下の処理を組みます。
※これから出てくる変数は全部編集可能にしてください。
メッシュの数を決めるInt型変数「Number Of Meshs」という名の変数を作成。
Number Of Meshsのデフォルト値はとりあえず「8」で。
メッシュの数の上限を、「Clamp(Int)」で決めている。
ForLoopで、Number Of Meshsの数値分処理を繰り返す。この場合だと、8個メッシュが生成される。
「Gap Size」というInt型の変数は、メッシュ同士の隙間の大きさを決めている。
今は、Gap Sizeのデフォルト値を「0」にしておきます。
Number Of Meshsの値をForLoopのLastIndexに与え、
Number Of Meshs+Gap Sizeをします。
この場合だと、
8+0=8 です。
そして、「360」を足し算の結果「8」で割ります。
360÷8=45 です。
ForLoopの値、「Index」と先ほどの「45」を掛けます。この場合だと、
Indexの値は、順番に言うと0~7のはずなので、
0×45=0
1×45=45
2×45=90
3×45=135
4×45=180
5×45=225
6×45=270
7×45=315
となります。
そして、「Radial」という名のFloat型変数を用意し、デフォルト値を「150」にします。
Radial変数をMakeVectorのXにつなぎます。
そして、RotatorVectorのAにRadialの値が入っているVectorピンをつなぎ、
BにMakerotatorのピンをつなぎます。
つまりこれは・・・
~RotatorVector~
A「X:150」の位置に、B「45度」ずつメッシュを配置していく。
ということになります。
Makerotatorの下にあるSelectRotatorは、
AにMakerotatorのピンをつなぎ、
Bはすべて「0」にします。
そして、「Pick A」にBool型の変数をつなぎます。とりま名前は「Orient To Center」で。
つまり、Orient To CenterがTrueになった時は、メッシュが円の中央を向くようになります。
Falseは、メッシュが中央を向かず、すべて同じ方向を向きます。
Float型の変数「YawOffset」はすべてのメッシュの向きを変更するためにあります。
スケール値は、Vector型の変数で好きに変えれるようにします。名前は「MeshScale」で。
RotatorVectorのピンをMakeTransFormのLocationに、
MakerotatorのピンをMakeTransFormのRotationにつなぎます。
最後に、設置したいメッシュを設定します。(スタティックメッシュの追加)
SetMeshで好きにメッシュを変更可能にします。
それではやってみましょう!
Number Of Meshs・・・メッシュの数
Gap Size・・・メッシュ同士の隙間
Radial・・・直径
Orient To Center・・・メッシュがみんな中央を向くかどうか
YawOffset・・・全メッシュのYawの向き調整
MeshScale・・・メッシュの拡大・縮小
SetMesh・・・メッシュの選択
です!
なかなか面白い機能だと思います!僕自身昨日知ったばかりの処理なので、間違いがあるかもしれません。その時は教えてください!
それではまた!^^ノシ