メッシュをサークル状に設置する方法!

今回は、

 

メッシュをサークル状に設置する方法!

 

をやっていきます!

 

「BP_RadialArray」という名の、アクタークラスのBPを作成し、コンストラクションスクリプトに以下の処理を組みます。

※これから出てくる変数は全部編集可能にしてください。

f:id:Free_Gamer:20180613175828p:plain

メッシュの数を決める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 です。

f:id:Free_Gamer:20180613175903p:plain

 

ForLoopの値、「Index」と先ほどの「45」を掛けます。この場合だと、

Indexの値は、順番に言うと0~7のはずなので、

 

0×45=

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度」ずつメッシュを配置していく。

 

ということになります。

f:id:Free_Gamer:20180613194232p:plain

Makerotatorの下にあるSelectRotatorは、

AにMakerotatorのピンをつなぎ、

Bはすべて「0」にします。

そして、「Pick A」にBool型の変数をつなぎます。とりま名前は「Orient To Center」で。

つまり、Orient To CenterがTrueになった時は、メッシュが円の中央を向くようになります。

Falseは、メッシュが中央を向かず、すべて同じ方向を向きます。

Float型の変数「YawOffset」はすべてのメッシュの向きを変更するためにあります。

f:id:Free_Gamer:20180613175932p:plain

スケール値は、Vector型の変数で好きに変えれるようにします。名前は「MeshScale」で。

RotatorVectorのピンをMakeTransFormのLocationに、

MakerotatorのピンをMakeTransFormのRotationにつなぎます。

最後に、設置したいメッシュを設定します。(スタティックメッシュの追加)

SetMeshで好きにメッシュを変更可能にします。

f:id:Free_Gamer:20180613180005p:plain

 

それではやってみましょう!

youtu.be

Number Of Meshs・・・メッシュの数

Gap Size・・・メッシュ同士の隙間

Radial・・・直径

Orient To Center・・・メッシュがみんな中央を向くかどうか

YawOffset・・・全メッシュのYawの向き調整

MeshScale・・・メッシュの拡大・縮小

SetMesh・・・メッシュの選択

 

です!

 

なかなか面白い機能だと思います!僕自身昨日知ったばかりの処理なので、間違いがあるかもしれません。その時は教えてください!

 

それではまた!^^ノシ