はじめに
今回は初心者の方に向けたワールドギミックの作り方を解説します!
コーディング無しでワールドギミックを作れるCyanTriggerを使って、ミラー・オブジェクトのON/Offやテレポートギミックを作っていきます!
今回のゴールはミラーを出し入れするスイッチとテレポートができるスイッチを作っていきます!
CyanTriggerとは?
CyanTriggerはcyanlaser様提供のSDK3用のSDK2エミュレータです!
わかりやすく説明するとコーディングやノードを使わずに、ボタンや項目を選ぶ事でワールドギミックが作れるようになるツールがCyanTriggerです!
文字を使ったプログラミングが不要なので初心者でもワールドギミックが作りやすく、Udonにできる事の殆どができるので慣れれば複雑なギミックも作成可能なんです!!
詳しくは公式のwikiを覗いてみてください!(公式wiki)
CyanTriggerをダウンロードしよう!
まずはCyanTriggerをダウンロードしましょう!
今回はVCCを使ってインストールします!VCCの入れ方は下の記事で解説しています!
CyanTriggerのBoothページが開けたらページ下部VCC Listingの下のリンクをクリックしてください!
(Boothページ)

そのままAdd to VCCを押しましょう!
問題なければそのままVCCの画面が表示されるはずです!

このままI Understand, Add Repositoryを押してダウンロードを初めてください!

ここまで進めたら実際にプロジェクトを作ってCyanTriggerを入れてみましょう!
この記事ではプロジェクト名を初めてのワールドギミックにして進めます!

プロジェクトを作ったらManage Packages画面でCyanTriggerがしっかり入っているかを確認してください!

これでCyanTriggerのインストールができました!

次のプロジェクトからはVCCのプロジェクト毎のManage PackagesからCyanTriggerの有無を設定してくださいね!
CyanTriggerの使い方
まずはCyanTriggerの使い方と画面の見方を説明します!
適当なオブジェクトを選択したら右側inspector欄にあるAdd Componentを押してCyanTriggerを追加します。

無事CyanTriggerが追加されました!
このままAdd Eventを押してInteractを選びましょう!

画面が下の様になったら成功です!
これがこれから操作するCyanTriggerの主な画面になります!
ひとまず簡単に枠で区切って、上から説明していきます!

Program Name:このCyanTriggerのプログラム名
Other Settings
Interaction Text:このオブジェクトをインタラクトした時に表示されるテキスト
Proximity:このオブジェクトをインタラクトできる範囲
そして一番下の枠がギミックの内容になっています!
もう少し細かく解説していきますね!

イベント名:現在適応されているイベントが表示されています。今はInteract(Useする事でOnになる)イベントを設定しているのでInteractと表示されています。
ギミックの開始条件をイベントと言います!
ここを変更する事で様々な条件にすることができます!
(例:コライダーに接触する。指定された範囲に入る。等)

このイベントを実行できるプレイヤー:このイベントを実行できるプレイヤーを設定できる欄です
Anyone:だれでも
Owner:インスタンスオーナー
Master:インスタンスマスター
User Allow List:Userリストに書いてあるUserのみ実行可能
User Deny List:Userリストに書いてあるUser以外実行可能
Instance Owner:インスタンスオーナー

イベントを反映するプレイヤー:このイベントが実行されたときにアクションを反映するプレイヤーを設定できる欄です
Local:イベントを実行したプレイヤーにアクションを返す
Send To Owner:インスタンスオーナーにのみアクションを返す
Send To All:すべてのプレイヤーにアクションを返す

アクション:イベントが実行された時に起きるアクションをここで設定します

オブジェクトの出し入れや効果音の再生などを設定するのがアクション欄です!
右下のアイコンからアクションを追加する事ができます!
アイコンも少し解説しますね!

SDK2由来のアクションが入っています

よく使われる人気のアクションが入っています

すべてのアクションが入っています

オブジェクトの出し入れ等ではなく、変数系が入っています
これで一通りCyanTrigger画面の見方は解説できました!
このまま実際にCyanTriggerを動かしてみましょう!
CyanTriggerを使ってみよう! ~ミラースイッチ編~
まずはミラーを出し入れするスイッチを作っていきます!
hierarchyにVRC WorldとFloor、VRC MirrorとCubeオブジェクトを出して好きなサイズに変更しましょう!

この時かならずCubeオブジェクトのColliderにあるIs Triggerにチェックを入れてください!

次にCubeオブジェクトにAdd ComponentからCyanTriggerを追加しましょう!
そのままActionにGameObject.ToggleActiveを追加します!
GameObjectsの欄にはVRCMirrorをいれましょう!

GameObject.ToggleActiveはGameObjectをスイッチの入力で表示非表示を切り替える事をさします!
この場合はGameObjectであるVRC Mirrorに適応されます!

このまま再生してみましょう!
なんとこれだけでミラーの出し入れボタンが完成です!

今作ったのはローカルギミックのミラースイッチです!
こんどはグローバルギミックのミラースイッチを作ってみましょう!
もう一度hierarchyにVRC MirrorとCubeオブジェクトを入れます!
わかりやすいようにCubeは赤いマテリアルにしましょう!

今度はOther SettingsのInteraction Textをわかりやすく変えてみましょう!
グローバルギミックなのでアクションを返す対象をSend To Allに変えるのも忘れずに!

問題なく文字も変わっていますね!
これでグローバルギミックのミラースイッチも完成です!

次はテレポートするスイッチと床を作っていきましょう!
CyanTriggerを使ってみよう! ~テレポート編~
ミラースイッチはCubeだったので、わかりやすいようにSphereオブジェクトを使いましょう!
hierarchyにSphereを追加して、今回は青色にしましょう!

今回もきちんとIs Triggerにチェックをいれてくださいね!

今回はテレポートギミックなのでもうひとつ赤いSphereを追加します!
この赤青2つのSphereがテレポートのスイッチを担います!

次に、テレポートする座標に空のオブジェクトを置かないといけません!
hierarchyの上にある+を押して、Create Emptyを押しましょう!

まずは1つを青いSphereの下あたりに置きましょう!
その時、青い矢印が赤いSphereの方を向くように調整してあげてください!

次に2つめを赤いSphereの下あたりに置きましょう!
今度は青い矢印が青いSphereを向くようにしてください!

わかりやすくそれぞれ名前を変えてもいいかもしれません!

まずは青いSphereにCyanTriggerを追加しましょう!

Interactイベントを追加して、アクションはSDK2からVRCPlayerApi.TeleportToを選択します!
Targetには赤いSphere下の空オブジェクトを入れます!


これで青いSphereをInteractすると、赤いSphere下の空オブジェクトの座標にテレポートするギミックが完成です!
今度は赤いSphereのギミックも作っていきましょう!
赤いSphereにCyanTriggerを追加してください!

Interactイベントを追加して、アクションはSDK2からVRCPlayerApi.TeleportToを選択します!
Targetには青いSphere下の空オブジェクトを入れます!

これでテレポートスイッチは完成です!
無事に2つとも動くか試してみましょう!
青いSphereを押すと…

赤いSphere側に移動しました!

今度は赤いSphereを押すと…

青いSphere側にテレポートしました!

赤青2つとも無事に動いていますね!
ちなみに、VRCPlayerApi.TeleportToのTargetを他のオブジェクトに変えれば、そのオブジェクトにテレポートします!
もし気力があったら試してみてもいいかもしれません!
おわり!
お疲れ様でした!
VRChatにアップロードして無事にギミックの確認ができました!
これでCyanTrigger画面の見方やセットアップを含めて簡単なギミックの作り方は解説できたと思います!

コーディングがないだけでかなり作りやすくなっている気がします!
お部屋ワールドでも使える簡単なギミックですのでぜひ作ってみてくださいね!

コメント