P2.玉転がし.16「親でクルクル(Blender 2.80 親子関係)」
Rotate Object はオブジェクト自身の持つ軸で回転させるものだった。グローバル軸で回したい場合は、オブジェクトに親を付けて、この親を回すことで解決できる。あーなるほどね。(Get Parent)
Empty(エンプティー)
Empty とは、トランスフォーム情報(位置・回転・拡大縮小)だけ持ってるオブジェクト。これを親にする。別に色を付けるわけでもないしね。Empty で十分。
Add > Empty > Plain Axes で追加。Empty にいっぱい種類があるのは、3D Viewport 上での表示をどうするかだけの違い。好きなのでいいぞ。
追加したら、位置をクルクルの真上に持ってこよう。クルクルが X:0 Y:20 Z:2 なので、Empty は X:0 Y:20 Z:10 くらいでいいだろう。
親子関係
出来たら、クルクルとの親子関係を結ぶ。
❶ クルクルを選択
❷ Empty を追加選択([Shift]+クリック)
❸ [Ctrl]+[P]を押してリストから Object を選択。(Object と Object (Keep Transform) の違いってなんだろーなー。)
で親子関係を形成。もっと簡単に言うと、「子 > 親 > [Ctrl]+[P]」だ。以後 3D Viewport 上では、点線で結ばれて表示される。(❶と❷)
/※ 複数の子を持たせたい時は、一番最後に追加選択したものが親になる。「子 > 子 > 子 > ・・・ > 親 > [Ctrl]+[P]」ってことね。また、親子関係を解除したい時は [Alt]+[P]。間違えちゃったら [Alt]+[P] で解除だ。 ※/
親を回すスクリプト(ノード)
オブジェクトを回転させるノード(Rotate Object)には、対象となるオブジェクトを入れる項目(真ん中のことろ)がある。今までは、ここは空っぽで使ってきた。なぜなら、ここを空っぽにしておくと回転の対象が、このスクリプト(ノードトゥリー)が付いているオブジェクトとなるからだ。いちいち入れる必要が無かった。
今回は、オブジェクト自身ではなく、自身の親が回転の対象であるので、自分の親を指すノードを持ってくる必要がある。それが出来るのが、Get Parent ノード。(Get Parent ノードは Add > Value > Get Parent で持ってくるか、Search で。) 便利なノードがあるもんだ。
スクリプトはクルクルに付いているが、これで回転対象がクルクルの親(つまり、Empty)になった。あと、 Z軸で回すので、Xじゃなくて Z: 0.1 に修正。
親を回せば、子も回る。では [▶ Play]。
はいOK。
12個
あとはこいつ(のペア)を [Shift]+[D] で複製してやればイイよね。場所は適当で。(キッチリやりたい人は、サイドドバーで数値入力だな。)
動かすのが面倒な場合は、おそらく、
- 3D Viewport は真上から見るモード。(テンキーの [7])
- 動かす対象は 3D Viewport で選択すんじゃなくて、Outliner で親(KuruA にリネームしたけど)のみ選択して動かす。
で楽になると思う。親を動かせば、子もついて動くからね。
いやー、Kurukuru コレクション見てよ、複製しまくるとこんなになるぜ。
では、クルクル12個。
本日の確認
- 親子関係: 「子 > 親 > [Ctrl]+[P]」
- Get Parent: 親のオブジェクトを指定
Blender のショートカットキー
キー | 内容 |
---|---|
[Ctrl]+[P] | 親子関係形成(Parent の P) |
[Alt]+[P] | 親子関係解除 |
■ 次回、玉たまがクルクルに接触したら、クルクルが消えるようにしよう。