P2.玉転がし.21「Trait は "オブジェクト" と "シーン" に」
Armory 3D Game Engine、そろそろベータ取れてもいいんじゃないのって思うけど、まだかなー。で、前回画面が "ぴたっ" と固まってしまった訳だが、今回それを解決する。一応、色々試してみてやっとこ解決出来た。動くぞ安心すろ。
Trait を付けられる場所
Trait(トレイト、スクリプトをぶら下げるフックりたいなもんだな)は、実は Cube や Sphere などのオブジェクト(Object)以外に、シーン(Scene)にも取り付けることが出来る。
シーンとは、前も書いたが、マリオで言うステージ。まー、ローディング挟んで読み込む面だと考えればいいよ。もうちょっと頭の悪い言い方だと、"オブジェクトのコンテナ" と言えるだろうと思うケド。
そんで、Armory がアルファの時には、UI(Canvas) を扱う方の Trait はシーンにしか付けられなかった訳だったが(ココ参照)、ベータになってオブジェクトに付けられるようになったのをいいことに、こっちにしてしまったのがエラーを引き込んでしまったらしい。
(むしろ、シーンは UI 専用で、Node はシーンには付けられないのか?)
で、色々やってみて、これを戻せば動くんじゃねって気が付いたんだ。戻すぜ。
Scene に Trait を付ける
先ずは、Cube 君についてる UI 用の Trait を外す。
❶ Cube の UI 用 Trait を [-] ボタンで取り外す。
❷ OK。取り外せた。
次に、シーンに UI 用の Trait を付け、Canvas と関連づける。
❸ 場所は、プロパティエディタ > シーン(Scene)タブ。ここで、色々シーンに関する情報を設定できたりする。(メンドクサイから触ってないけどね。) で、真ん中ら辺、なんと Armory Traits って項目があるだろ。ここの [+] ボタンクリックだ。シーンにも Trait が付けられるって事だ。
❹ もちろん UI 用。
❺ Canvas のとこの空欄をクリックしてリストを出して、"MyCanvas" を選ぶ。さっき Cube 君から外した奴だ。もちろんリネームしてたら自分で付けた名前のやつね。
❻ ハイ、完成。
[▶ Play]
では、確認じゃ。[▶ Play]。
動いたー! しかも 12(左上) ってなってるうー。 やったね。
本日の確認
- Trait は Object と Scene。
■ 次回、クルクルが消えたら、数を減らすぞ。