俺に解るように説明する "Armory Engine" 入門+

ゲームエンジン Armory Engine (Armory3D) の使い方を手探りで学んで入門しようって感じかな。

P2.玉転がし.17「親を消せ! それだけだ!」

f:id:ore2wakaru:20190201225320p:plain

玉がクルクルに重なったらクルクルを消したい。そのために知っておく必要があるノードは、On Volume TriggerRemove ObjectGet Parent だ。

オブジェクトの重なりを検知

「2つのオブジェクトが重なった時」に呼び出し出来るとても便利なノードがある。On Volume Trigger だ。「~する時」みたいな、特定の決まったタイミングで呼び出されるものは、Event カテゴリに入ってるのは前にも書いた通り。こいつも、例に漏れずこのカテ内だ。

f:id:ore2wakaru:20190130213810p:plain

Out ピン(どうも Blender ではピンではなくて、ソケットと言うらしいが)はいいとして、その他の項目の解説をしておくと、

f:id:ore2wakaru:20190130220819p:plain

 ここで、Out ピンから実行信号が出る時の、2つのオブジェクトの関係を指定できる。

  1. Overlap: 重なっている間(ずっと
  2. Leave: 重なりから抜けた瞬間(出た瞬間1回
  3. Enter: 重なった瞬間(入った瞬間1回

玉たまがクルクルに入った瞬間に消えてもらいたいので、Enter を選択する。

 にオブジェクトを入れるが、前にも書いた通り、空欄にしておけば自分自身スクリプトが付いているオブジェクト)になる。クルクルを指定するので、空欄のままでOK。

 こっちに玉たまを指定する。クリックしてリストから、Player を選択だ。

オブジェクトを消す

便利な事に、指定したオブジェクトを削除するノードもある。それが、Remove Object ノード。(Action カテにあるので、辿っていってもいいし、サーチしてもいいので出してくれ。)

特に説明する必要もないと思うが、今回ちょっと注意してほしいのは、自分自身を消すには、親オブジェクト(Empty)を消せば一緒に消えるという事。親子関係とはそういう事。

で、これも便利な事に、自身の親オブジェクトを指定するノードも用意されてたよね。Get Parent だった。だから、ノードのつなぎはこうなるぞ。

f:id:ore2wakaru:20190201224909p:plain

 クルクルと玉たまが重なった瞬間

 クルクルの親を消してしまえばクルクル自身も消える。親を指定するノードは Get Parent だったね。これのオブジェクトを入れる項目が空欄なので、それはクルクルのことになって、つまり、このノード全体でクルクルの親を指定して消すという意味となる。

 クルクル自身を消すノードはいらない。(一番最初にある完成画像見てね)

となる。

フレームの入れ方を忘れたら、ココ見て復習してくれ。

[▶ Play]

動くかな?

f:id:ore2wakaru:20190130230314g:plain

問題ないねー。ここまでくると、もー、ほぼ完成だな。

本日の確認
  • On Volume Trigger: 2つのオブジェクトが~な時~。
  • Remove Object: 消えろ!
  • Get Parent: 親オブジェクトを指定する。
  • オブジェクトの項目が空欄だと、それは自分自身のことを指す。(あれ? 前書いたっけ?)

 次回、得点処理と言うか、UI でカウント処理かな。