【cluster用アイテム】プレイヤーごとにジャンプ力・移動速度を変更するギミック配布しています
みなさん初めまして。バーチャルワールドクリエイターミッコちゃんです。
この記事はメタバースプラットフォーム「cluster」のワールド制作で使える「ジャンプ力・移動速度の変更ギミック」の解説記事です。
配布ファイル
サンプルのUnityパッケージをBOOTHで配布しています。
クラスタークリエイターキット(CCK)を導入済みのUnityプロジェクトにインポートしてください。
個人法人問わずクレジット表記不要で自由にお使いいただけます。
ゲームワールド以外にも展示会などのイベントでも移動速度を変更したい場合があるのではないかと思い、簡易的なギミックを作成しました。
clusterでの動作確認はコチラ↓
パッケージ内容
「JumpSpeedButton.prefab」「JumpSpeedCollider.prefab」にはそれぞれ「Player」というオブジェクトが含まれていますが、同じ内容なので2つのギミックを同時に使用する場合は片方の「Player」は削除してください。
「SampleScene」の「Player」は1つにしています。
JumpSpeedButton.prefab↓
JumpSpeedCollider.prefab↓
ギミック解説
ボタンを押すことでステータス変化するJumpSpeedButtonを例に解説します
1,プレイヤーにギミックを仕込む
「Player」という空オブジェクトに以下のギミック・トリガーを仕込みます
・Set Jump Height Rate Player Gimmick
・Set Move Speed Rate Player Gimmick
・On Join Player Trigger
(※リンク先は公式ドキュメント)
「Set Jump Height~」「Set Move Speed~」でキーを定義づけします。
このギミックを入れることで、キーに送った数字をジャンプ力・移動速度の倍率に変化できます。
ジャンプ力の倍率を「SetJump」、移動速度の倍率を「SetSpeed」としました。
次に「On Join Player Trigger」(入室時に起動するトリガー)でそれぞれにfloat「1」を送ります。
通常の倍率は1なので、これは無くても良いですが入室時から移動速度を上げておきたいときには2をいれることで2倍のスピードで動けるようになります。
2,ボタンを押してキーに倍率を送る
ボタンのオブジェクトに「Interact Item Trigger」を入れ、ボタンを押すことで、押した人(Owner)に対してSetJumpのキーに「2」の値を送ります。
(※移動速度変更の場合はSetSpeedのキーに値を送ります。)
同様に他のボタンにも4倍、8倍のように値が送られるよう設定しています。
これでジャンプ力・移動速度の変更が可能になりました。
注意点:イベントで使用する場合
2021年8月現在の仕様ではイベントにおいて、参加者の状態がゴーストの場合に「Interact Item Trigger」が作動しません。
(※ゴーストとはイベント参加者が一定数以上の場合、負荷軽減のため自動的にアバターが非表示になる機能です。詳細は公式ヘルプ参照)
ゴーストの場合はOnCollideItemTriggerであれば作動します。
大人数が予想されるイベントでは「JumpSpeedCollider.prefab(指定のエリアを通ることで倍率変更)」を使用するのが良いと思います。
ギミックの内容は上記の「Interact Item Trigger」を「On Collide Item Trigger」に読み替えてください。
サンプル:JumpSpeedCollider.prefab
(おまけ)倍率の変更時に効果音を鳴らす
上記の解説で倍率を送ると同時にOwnerへ「Se」というシグナルを送っています。
サンプルファイルではシグナルの受取先を用意していませんが、以下のように空オブジェクト(ここではPlayer)に対して「Play Audio Source Gimmick」で「Target:LocalPlayer」として設定することでボタンを押した人にだけ効果音が鳴るようにできます。
それではみなさん良きバーチャルライフを
2021/8/11 Mikko Hietalahti
追記
アイテムを利用していただいたワールドをピックアップ!
この記事が気に入ったらサポートをしてみませんか?