今回はclusterクリエイター・t_furuさんによるCluster Creator Kitを使う時のtips集です。覚えておけば制作が効率化できるので、ぜひ読んでみてください!
この記事を書くために作ったワールド
機能も色々追加されて ワールド制作コンテストもいくつか開催されて参加したので、わたし自身が気にしている ハマりどころとか、組み方パターン とかの Tipsです。

1. CreatorKitコンポーネントを付けるオブジェクトと見た目オブジェクトをわける

見た目が違うけど機能が同じオブジェクト作りたい場合に 複製で作っていると 機能追加や不具合あったとき複製したオブジェクト全部を修正することになってとても大変なので CreatorKitコンポーネント と 見た目は分けておいたほうが便利です。
Create Empty した GameObject の子オブジェクトに 購入したPrefabやCube等 を入れる。
見た目と Creator Kit コンポーネント をわける事で、差し替えやサイズ調整が簡単にできるようになります。
2. 複製を使わず Prefab Variants を使う

にわとり と ひよこ のように一部違う動きをさせたいオブジェクトの場合
複製してしまうと、それぞれのパラメータを変更しないといけなくなりますが、Prefab Variants
を使って増やすと 見た目やパラメータを変更する事ができるようになります。
3. Timerを少なくする GlobalTimer 1個にしてシグナルを受信して動かす

Timerが増えると意図しない動きが増える事がある ので、なるべく使わない実装で作れるか考えて作るようにしています。
Global Timer
1個設定して Target Global
の GlobalTimerFire
シグナルを繰り返すような設定にします。定期的に動かしたい アイテムがある場合 この GlobalTimerFire
を Item Logic
で受け取って処理をします。
GlobalTimerRun
シグナルで 起動される Global Timer- Triggers に
GlobalTimerFire
シグナルとGlobalTimerRun
シグナルを登録する GlobalTimerRun
シグナルが発行されるので、再びタイマーが動作する。- 定期的に動かしたい アイテム (今回は にわとり) 側では
GlobalTimerFire
シグナル をItem Logic
で動くようにする。

4. Signal と 数値のキーの名前を わける。と Editor拡張ツール

CreatorKit を使って 複雑なアイテムを作ると必ずハマる BOOL しか受け取れないのに Signalを投げてたとか、設定ミスして Signalのママになっていたとか…
Signal は 大文字 アンダーバー , 数値は 小文字 アンダーバー ときめて実装すると混乱が減るのでおすすです。
Boolは b_ , Float は f_ , Integer は i_ とかしてもいいかもしれません。
( 昔の言語のプログラミング規約とか思い出すのでちょっとアレですが…。
便利ツール
はとりん 作成の Editor拡張ツール もかなり便利です。 key 値一覧とても助かります。
( ギミック組んだ次の日とかにみてどのオブジェクトにキーつけたかわからなくなったときとか…。
- ワールドに使用しているトリガー・ギミックの key を一覧で表示する
- 特定の key を使用している component を選択する
https://github.com/noir-neo/CreatorKitTriggerEditor
5. 親子関係のItem は Constraint コンポーネントを使う

例えば 複数のオブジェクトを一緒に移動させたり、表示を消したりしたい場合 に
Itemコンポーネントを付けた親オブジェクトにItemコンポーネントをつけた子オブジェクトをいれてしまうと、Creator Kitの制限で利用できません。 cluster アップロード時にエラーになります。
Constraint コンポーネント を利用すると 同じ階層で制御できるので解決する場合があります。
- Aim: コンストレイントされたゲームオブジェクトを、紐づけられたゲームオブジェクトを向くように回転します。
- Look At: コンストレイントされたゲームオブジェクトを、紐づけられたゲームオブジェクトを向くように回転します (簡略化された Aim コンストレイント)。
- Parent: コンストレイントされたゲームオブジェクトを、紐づけられたゲームオブジェクトに連動させて移動、回転します。
- Position: コンストレイントされたゲームオブジェクトを、紐づけられたゲームオブジェクトと連動させて移動します。
- Rotation: コンストレイントされたゲームオブジェクトを、紐づけられたゲームオブジェクトと連動させて回転します。
- Scale: コンストレイントされたゲームオブジェクトを、紐づけられたゲームオブジェクトと連動させてスケールします。
制限メモ
Create Item Gimmick されるオブジェクトの場合 Constraint コンポーネント Sources が設定できないので動作しないので利用できない。
あとがき
Creator Kit は 他にもハマりどころや使うためのコツが沢山ありそうなので、気が向いたらまとめていこうと思ってます。