Transform/Drivers/AxisAligner

Last-modified: 2025-01-05 (日) 11:50:19


AxisAligner(アクシス アライナー)

軸に沿って物を整列させるコンポーネント


項目

Enabled:
このコンポーネントを有効にするかどうか。
(ただし、AutoAddChildrenは効果なし。)

AutoAddChildren:
Trueにすると、子スロットとそのPositionが自動的に_targets(list)に追加される。

AutoAddIgnoreTags(list):
Add押すと増やせる。
初期設定は「AUTO_INJECTED」。(nullの場合は機能しない。)
スロットのタグが同一の場合は、AutoAddChildrenしても除外される。

Direction:
整列させる軸と向き。
0XposX軸+方向
1XnegX軸-方向
2YposY軸+方向
3YnegY軸-方向
4ZposZ軸+方向
5ZnegZ軸-方向

GlobalAxisXAlign:
X軸での全体位置。
0Neg-側
1Mid中心
2Pos+側

GlobalAxisYAlign:
Y軸での全体位置。

GlobalAxisZAlign:
Z軸での全体位置。

ElementAxisXAlign:
X軸での揃え位置。
0Neg-端
1Mid中央
2Pos+端

ElementAxisYAlign:
Y軸での揃え位置。

ElementAxisZAlign:
Z軸での揃え位置。

Separation:
間隔。
(マイナスにするとめり込む。)

ExcludeList(list):
Add押すと増える。
???(MeshRendererが指定できるけど謎です。)


_targets(list):
Add押すと増える。
駆動先のリスト。

TargetSlot:
駆動先のスロット。

PositionDrive:
駆動するPosition。

ちなみに、ここをnullにしても動作します。(TargetSlotだけあればPositionが書き込まれる。)


使用例

  • 並べたいスロット(物)らの親スロットにアタッチ。
    AutoAddChildrenをTrueにすると、_targets(list)に自動追加されます。
    Direction等各種設定を行い、整列させます。


その他

  • 激重なので使わない方が良いかもしれません。
    これは、バウンディングボックス(選択時に表示される箱状の範囲)を使用して、間隔や揃える位置等を計算しています。(数が多くなると、このバウンディングボックスの計算処理負荷がヤバイです。)
    また、並べる物の大きさや角度が異なる場合、バウンディングボックスのサイズもバラバラになるので綺麗に整列させるのは大変です。
    かわりに、ObjectGridAlignerやFlux等の使用を強くお勧め致します。
    もし作業中に一時的に整列させるだけならば、作業後は速やかにコンポーネントを削除するのが最善です。
  • 基本的に、使用しないコンポーネントは削除しましょう。(軽量第一)