myara CG blog

CG Design Blog. Thoughts, experiments and experiences.

SI | Align Equal Spacing : 等間隔に整列

mAlignerに入っている「Align Equidistant」という機能があります。

等距離で整列という機能です。


昨日は仕事でメカ系のモデリングをしていた時に、ボタンがいっぱいある所がありましたが形はそれぞれ違っていました。

AlignES0.gif


このボタンを綺麗に並べたくて mAligner を使ってみたけど残念な結果でした。


AlignES1.gif

全然綺麗じゃない。


オブジェクトの場合はオブジェクトのセンターとセンターの間しか計算しないため、形状が違うとオブジェクトとオブジェクトの間隔はバラバラになってしまいます。


BBoxで計算すれば綺麗に並べられるかもと思い、昨日の夜に書いてみました。

おしいところまでいったんですけど、多分眠かったせいか、計算が可笑しくなっていて全然うまくいきませんでした。

今日はもう一度コードを見たら、一番の原因は:

距離 / (オブジェクトの数 - 1)

という所に()が入っていなかった!・・・。恥ずかしいミスです。


AlignES2.gif

これはグローバル座標しか対応していません。
位置と回転はバラバラだったらローカルは無理でしょうね。


まぁ、結局スクリプトは上手く行ったので、公開しちゃいます。


mAlign Equal Spacing

DOWNLOAD


次の mAligner に入れておこうかな。


ではでは、上手くできたっぽいからスッキリして寝ます!


おやすみ! Read more