はじめに
今回はCyanTriggerで作る、プレイヤーをテレポートするワールドギミックを解説します!
コーディング無しでワールドギミックを作れるCyanTriggerを使って、インタラクトする事でテレポートできるギミックと、一定範囲の中にプレイヤーが入るとテレポートするギミックの作り方を書いていきます!
今回のゴールは、インタラクトでテレポートするスイッチと、乗るとテレポートする床を作ることです!
CyanTriggerとは?
CyanTriggerはcyanlaser様提供のSDK3用のSDK2エミュレータです!
わかりやすく説明するとコーディングやノードを使わずに、ボタンや項目を選ぶ事でワールドギミックが作れるようになるツールがCyanTriggerです!
文字を使ったプログラミングが不要なので初心者でもワールドギミックが作りやすく、Udonにできる事の殆どができるので慣れれば複雑なギミックも作成可能なんです!!
詳しくは公式のwikiを覗いてみてください!(公式wiki)
CyanTriggerのダウンロード方法や使い方は下の記事で解説しています!
テレポートギミックを作ろう! ~スイッチ編~
まずはテレポートするスイッチのギミックを作っていきます!
hierarchyにCubeオブジェクトとsphereオブジェクトを設置しましょう!
どちらもインタラクトする事でテレポートしますが、Cubeはテレポート先をオブジェクトで設定し、Sphereはテレポート先を座標で設定します!

インタラクトギミックを作る時はオブジェクトのColliderを必ず設定した上で、Is Triggerにチェックを入れてください!

CubeオブジェクトにCyanTriggerを追加したらInteractイベントを追加しましょう!
そのままSDK2ファイルの中にある、VRCPlayerApi TeleportToをアクションに追加してください!
Targetの欄にはテレポート先となるオブジェクトを入れてください!
基本的には空のオブジェクトを新しく作る事をおすすめします!
今回はスイッチの奥に空のオブジェクトを追加しています!

オブジェクトの青い矢印の向きにプレイヤーはテレポートするので、もし回転も指定したい場合はオブジェクト自体を回転させてください!

次にSphereにもCyanTriggerを追加しましょう!
こっちもInteractイベントを追加したらこんどは星のファイルからVRCPlayerApi.TeleportToを追加してください!
このアクションは、テレポート先のオブジェクトを指定する代わりにテレポート先の座標を指定します!
teleport Posには座標を、teleport Rotには角度をいれましょう!
それぞれpositionとrotationを指しています!

今回は、0.0.30の場所に0.90.0の角度でテレポートするギミックを作ります!

ここまで設定できたら一度再生してみましょう!
問題なければ両方のギミックが動くはずです!

テレポートギミックを作ろう! ~床編~
一定範囲の中にプレイヤーが入るとテレポートする。だと少しわかりずらいですが、簡単に言えばプレイヤーがColliderに入る事でテレポートする事ができるギミックを指しています
今回は視覚的にわかりやすい、乗るとテレポートする床を作ります!
Cubeオブジェクトを追加したら平べったくなるようにサイズと位置を調整してください!

今回はPlayerCollisionファイルにあるOnPlayerTriggerEnter.Local Playerイベントを追加しましょう!
今回はローカルギミックを作るので、.Local Playerがついているイベントを選んでいます!
ついていない方はグローバルギミックなので気を付けてください!

無事に追加できたら下の画面になるはずです!

イベントの名前が長くてわかりずらいので、名前が何を表しているかを覚えてしまう方が楽だったりします!

このまま、actionも追加しちゃいましょう!

最後にコライダーの設定です!
inspector欄にあるColliderのYの位置とサイズを調整して画像の様にしてください!

ここまで作れたら実際に動かしてみましょう!
無事に乗るとテレポートする床ができているはずです!

番外編 ~ランダムテレポート~
CyanTriggerにはTeleportToRandomWithinAreaというactionがあります!

このactionはTargetに指定されたオブジェクトを中心に設定したWidth(幅)とDepth(奥行き)の範囲内へランダムにテレポートするギミックです!

Width:横幅.z座標
Depth:奥行き.x座標
一度に大人数が同じ座標に移動すると、アバターのメッシュが重なって視界がチカチカする可能性があります..
そういう時にはランダムテレポートで解決です!
おわり!
お疲れ様でした!
VRChatにアップロードして無事にギミックの確認ができました!
これでCyanTriggerを使ったテレポートするスイッチと床を作ることができました!

テレポートギミックは活用範囲が広く、お部屋ワールドへのテレポートや謎解きワールドの次のフロアへのテレポートや他にも、とにかく沢山活用方法があるので作れるとワールド制作が楽しくなります!
コメント