P2.玉転がし.17「親を消せ! それだけだ!」
玉がクルクルに重なったらクルクルを消したい。そのために知っておく必要があるノードは、On Volume Trigger と Remove Object と Get Parent だ。
オブジェクトの重なりを検知
「2つのオブジェクトが重なった時」に呼び出し出来るとても便利なノードがある。On Volume Trigger だ。「~する時」みたいな、特定の決まったタイミングで呼び出されるものは、Event カテゴリに入ってるのは前にも書いた通り。こいつも、例に漏れずこのカテ内だ。
Out ピン(どうも Blender ではピンではなくて、ソケットと言うらしいが)はいいとして、その他の項目の解説をしておくと、
❶ ここで、Out ピンから実行信号が出る時の、2つのオブジェクトの関係を指定できる。
- Overlap: 重なっている間(ずっと)
- Leave: 重なりから抜けた瞬間(出た瞬間1回)
- Enter: 重なった瞬間(入った瞬間1回)
玉たまがクルクルに入った瞬間に消えてもらいたいので、Enter を選択する。
❷ ❷と❸にオブジェクトを入れるが、前にも書いた通り、空欄にしておけば自分自身(スクリプトが付いているオブジェクト)になる。クルクルを指定するので、空欄のままでOK。
❸ こっちに玉たまを指定する。クリックしてリストから、Player を選択だ。
オブジェクトを消す
便利な事に、指定したオブジェクトを削除するノードもある。それが、Remove Object ノード。(Action カテにあるので、辿っていってもいいし、サーチしてもいいので出してくれ。)
特に説明する必要もないと思うが、今回ちょっと注意してほしいのは、自分自身を消すには、親オブジェクト(Empty)を消せば一緒に消えるという事。親子関係とはそういう事。
で、これも便利な事に、自身の親オブジェクトを指定するノードも用意されてたよね。Get Parent だった。だから、ノードのつなぎはこうなるぞ。
❶ クルクルと玉たまが重なった瞬間
❷ クルクルの親を消してしまえばクルクル自身も消える。親を指定するノードは Get Parent だったね。これのオブジェクトを入れる項目が空欄なので、それはクルクルのことになって、つまり、このノード全体でクルクルの親を指定して消すという意味となる。
❸ クルクル自身を消すノードはいらない。(一番最初にある完成画像見てね)
となる。
フレームの入れ方を忘れたら、ココ見て復習してくれ。
[▶ Play]
動くかな?
問題ないねー。ここまでくると、もー、ほぼ完成だな。
本日の確認
- On Volume Trigger: 2つのオブジェクトが~な時~。
- Remove Object: 消えろ!
- Get Parent: 親オブジェクトを指定する。
- オブジェクトの項目が空欄だと、それは自分自身のことを指す。(あれ? 前書いたっけ?)
■ 次回、得点処理と言うか、UI でカウント処理かな。