見出し画像

【cluster用アイテム】プレイヤーごとにジャンプ力・移動速度を変更するギミック配布しています

みなさん初めまして。バーチャルワールドクリエイターミッコちゃんです。

この記事はメタバースプラットフォーム「cluster」のワールド制作で使える「ジャンプ力・移動速度の変更ギミック」の解説記事です。

配布ファイル

サンプルのUnityパッケージをBOOTHで配布しています。
クラスタークリエイターキット(CCK)を導入済みのUnityプロジェクトにインポートしてください。
個人法人問わずクレジット表記不要で自由にお使いいただけます。

ゲームワールド以外にも展示会などのイベントでも移動速度を変更したい場合があるのではないかと思い、簡易的なギミックを作成しました。

clusterでの動作確認はコチラ↓

画像9

パッケージ内容

画像_2021-08-11_132905

・Prefab:
 ・JumpSpeedButton.prefab:ワールドに設置されたボタンをタップ(クリック)することでジャンプ力・移動速度を変更するギミック
 ・JumpSpeedCollider.prefab:ワールドに設置されたエリアを通る(コライダーに触れる)ことでジャンプ力・移動速度を変更するギミック
 ・Object:3Dモデルとマテリアルです

・SampleScene:
 ・JumpSpeedSample:
上記Prefabを設置したSceneです
 ・PlayerLocalUI.prefab:デバッグ用のUIです。プレイヤーのジャンプ力・移動速度が表示されます。適宜追加してください

JumpSpeedButton.prefab」「JumpSpeedCollider.prefab」にはそれぞれ「Player」というオブジェクトが含まれていますが、同じ内容なので2つのギミックを同時に使用する場合は片方の「Player」は削除してください。
SampleScene」の「Player」は1つにしています。


JumpSpeedButton.prefab↓

画像5

JumpSpeedCollider.prefab↓

スクリーンショット 2021-08-11 134632

走る速さやジャンプ力を変更するギミックの基本的な内容ついては
下記、公式ガイドで詳しく記載されています。不明点はそちらも確認してください。
https://creator.cluster.mu/2021/12/24/change_run_jump/
https://creator.cluster.mu/2022/03/11/jump-per-player/

画像9

ギミック解説

ボタンを押すことでステータス変化する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倍のスピードで動けるようになります。

スクリーンショット 2021-08-11 133514

2,ボタンを押してキーに倍率を送る

ボタンのオブジェクトに「Interact Item Trigger」を入れ、ボタンを押すことで、押した人(Owner)に対してSetJumpのキーに「2」の値を送ります。
(※移動速度変更の場合はSetSpeedのキーに値を送ります。)
同様に他のボタンにも4倍、8倍のように値が送られるよう設定しています。

スクリーンショット 2021-08-11 133943

これでジャンプ力・移動速度の変更が可能になりました。

画像10

注意点:イベントで使用する場合

2021年8月現在の仕様ではイベントにおいて、参加者の状態がゴーストの場合に「Interact Item Trigger」が作動しません。
(※ゴーストとはイベント参加者が一定数以上の場合、負荷軽減のため自動的にアバターが非表示になる機能です。詳細は公式ヘルプ参照)

ゴーストの場合はOnCollideItemTriggerであれば作動します。
大人数が予想されるイベントでは「JumpSpeedCollider.prefab(指定のエリアを通ることで倍率変更)」を使用するのが良いと思います。

ギミックの内容は上記の「Interact Item Trigger」を「On Collide Item Trigger」に読み替えてください。

サンプル:JumpSpeedCollider.prefab

画像_2021-08-11_142923
画像11

(おまけ)倍率の変更時に効果音を鳴らす

上記の解説で倍率を送ると同時にOwnerへ「Se」というシグナルを送っています。
サンプルファイルではシグナルの受取先を用意していませんが、以下のように空オブジェクト(ここではPlayer)に対して「Play Audio Source Gimmick」で「Target:LocalPlayer」として設定することでボタンを押した人にだけ効果音が鳴るようにできます。

効果音の再配布ができないので、下記のURLからお好きなSEをダウンロードし、適用してください。
https://soundeffect-lab.info/sound/button/

スクリーンショット 2021-08-11 134353


それではみなさん良きバーチャルライフを
2021/8/11 Mikko Hietalahti

追記

アイテムを利用していただいたワールドをピックアップ!


この記事が気に入ったらサポートをしてみませんか?