[2.8]屋根の上に並べよう
この発想の元になっているのは昔 Max さん が 2.6x くらいの頃にチュートリアルとして上げてた動画から、です(動画自体はちょっと見つからなかったです)。上方向および、前方向の回転を合わせるという意味ではほんの少し拡張している感じではありますけれども。
今回記事として行なっているケースはちょっと意地悪なケースです。
まず一本、右側にある角柱を屋根の上、端に合わせて置く感じ。
ちなみに角柱の中心にオブジェクト原点があります。
平面スナップ+回転:NG
スナップモードでスナップできるんじゃね?甘いです。大甘です。Blenderのスナップモードは他とは違うんです。
「な… 何を言っているのか わからねーと思うが」みたいな展開になります。
オプション変えても根本的にダメな気がします。でもここでわかったことがあります。
・平面スナップ時の法線方向=オブジェクトZ軸
これは適当に座標変換的なことができればなんとかなりそうな感じです。
ここで、Emptyを使います。角柱の一つの頂点にスナップするように追加して、(あらかじめEmptyを回転させておき)Emptyを親、角柱を子として関連づけます。これで面スナップ、回転ありで屋根の上をなぞると
屋根の上には吸い付くようになりました。でも方向が違います。これを補正するために2つEmptyを追加します。
一つ目のEmpty(棟側)は屋根の棟の端に合わせて、頂点スナップ、回転なし、で移動します。
2つ目のEmpty(軒側)は平面スナップ、回転あり、で一旦平面上に移動します。次に頂点スナップ、回転なしで角に合わせます。
ここで Locked Track コンストレイントを追加し、1つ目のEmpty をターゲットとします。(To: Y , Lock: Z)
ここでピタっとあっている軸がY軸ということを確認しておきます。
と、ここで Copy Attribute Menu Add-on を有効にします。
まあここでわかりましたよね? [Ctrl]+[C] から位置と回転を適当にコピーすることで良いですね?。
位置と方向合わせに使った角柱の親になっているEmptyはいらないです。なので、親子関係を解消します。[Alt]+[P] > Clear and Keep Transformで。
Emptyも消すとこういう感じ。
(基準点として作った2つのEmptyについては今後の修正があることも考えて残しておいても構いません)
ここで角柱を屋根の斜面に沿って並べてみます。トランスフォーム座標系はLocalで行うと作りやすいと思います。
はいおしまい。
比較的うまくいくケース
こういう位置関係だったらうまくいくかもしれません。
これを面スナップのみで正確に合わせようとマウスを動かすと…いつまでたっても正確には合わないのでした。
まとめ
・ スナップメニュー1つだけで揃えるようなスナップは難しい
・ Empty を使って平面の上をうまく沿うように
・基準点は2つのEmptyと1つのLocked Track コンストレイント
See Also:
お読みいただきありがとうございます。サポートいただいた分はおやつのグレードアップに使おうかと思います。スキ、SNSにシェアもよろしくお願いします!