メタバース未分類

【Cluster】マルバツクイズができるワールドを作成してみた③ ボタンを押すと床が消えたり、現れたりする仕組み

メタバース

前回はボタンを押すと床が消えるギミック(落とし穴)を作成したのですが、それでは一回きりになるため、押すごとに消えたり現れたりできるようにします。

ボタン側の設定

ボタンとなるオブジェクトに「Global Logic」コンポーネントを追加します。これは特定のメッセージを受け取った時に、計算結果を別のメッセージに通知するものです。

ロジック | Cluster Creator Kit ドキュメント

Targetには「Global」、Keyには「objectToggle」としておき、さらに「+」ボタンを押し、項目を追加します。固定値である「Global」の横に「objectActive」、「Bool」とします。2行目は「=Not」、3行目は「RoomState」、「Bool」、「objectActive」と指定します。

また前回設定した「Interact Item Trigger」コンポーネントの再設定を行います。アイテムとして使われた、つまり触ったことを通知するトリガとなります。

Interact Item Trigger | Cluster Creator Kit ドキュメント

前回とは異なり、「Global Logic」コンポーネントに計算をさせたいので、Keyを「objectToggle」に、Valueを「Signal」に変更します。

動作確認

実際にアップロードして動かしてみます。ボタンをクリックすると消え、もう一度クリックすると現れるようになりました。

最初のクリックでも消えるようにする

交互に消えたり、現れたりするようになったのですが、実は最初のクリックの時に消えません。それを修正するため、初期値の設定が必要です。「On Create Item Trigger」コンポーネントを追加して、「+」ボタンで項目を追加し、Targetには「Global」、Keyには「objectActive」、Valueは「Bool」としておきます。右のチェックボックスはチェックを入れておきましょう。

ボタン側の設定

ボタン側のオブジェクトに”Interact Item Trigger”というコンポーネントを追加します。このコンポーネントは、”使う”(クリックされる)機能を追加し、使われたことを通知するトリガーです。

Interact Item Trigger | Cluster Creator Kit ドキュメント

つまり、触られたことをTagetに対して通知するものです。”+”ボタンを押して項目を追加し、Targetには「Global」、その横にはKeyとして「objectActive」、さらにValueは「Bool」とし、その右のチェックボックスはチェックを外しておきます。

再度、動作テスト

ワールドアップロードして動作確認です。最初のクリックで消えるようになりました。

消えました!ただ、床を再度、戻す方法がありません。

マルの方も作成

同様にマルの方もコピーして作成します。作り方はバツと一緒ですが、バツとマルではちがうKeyを使わないと同じ動きとなってしまうので、「objectActive」は「objectActive2」に、「objectToggle」は「objectToggle2」に変更しておきます。

またもや動作確認

マルバツで動作確認です。どちらもクリックで消え、再度クリックで現れるようになりました。基本的な動きはこれで問題ないかと。

次回は外観を整えてお城っぽくしてみたいです。

書いた人
hiratake

サーバやネットワークといったインフラエンジニアをやってます。本業意外にも印刷物デザインやキャラクターデザインなんかもカジってたり。メタバースの世界をクリエータ、技術者、ビジネスなど、いろんな目線で情報発信できたらと思ってます。

hiratakeをフォローする
タイトルとURLをコピーしました