【VR Chat ワールド作成メモ】SDK3のUdonSharpを使うボタン操作
いつもやり方がわからなくなるためのメモです。
VRChat のワールドを作るときのSDK3とUdonSharpを使うボタン操作です。
各ソフトのバージョンは以下のとおりです。
- Unity 2019.4.31f1
- VRCSDK3-WORLD-2021.11.24.16.19
- UdonSharp_v0.20.3
それぞれのパッケージをインポートします。今回は表示するカメラ映像を切り替えるためのボタンを作ります。
ディスプレイを2個設置していますが、1個にします。左に球体を置き、ボタンで映像を切り替えるようにします。

最終的には以下のようにします。上のボタンで1番目のカメラ映像を表示します。下のボタンで2番目のカメラ映像を表示します。


作り方です。
ボタンとする球体に「Udon Behaviour」を追加します。

プログラムソースは「New Program」で追加します。下のプルダウンからUdon C# Program Assetを選んでおきます。Udon Graph から変えておきます。
ボタンを押したときに、Cube_Display_1のActiveをTrueにしてCube_Display_2のActiveをFalseにします。
ソースコードを作成し、適当な場所に保存します。そのあとProgram ScriptをダブルクリックしてVisual Studioを起動します。

以下のように入力します。
using UdonSharp;
using UnityEngine;
using VRC.SDKBase;
using VRC.Udon;
public class Sphere_display_1 : UdonSharpBehaviour
{
public GameObject Cube_Display_1;
public GameObject Cube_Display_2;
void Start()
{
}
private void Interact()
{
if (!Networking.IsOwner(Networking.LocalPlayer, this.gameObject)) Networking.SetOwner(Networking.LocalPlayer, this.gameObject);
SendCustomNetworkEvent(VRC.Udon.Common.Interfaces.NetworkEventTarget.All, "ChangeStreamDisplay");
}
public void ChangeStreamDisplay()
{
Cube_Display_1.SetActive(true);
Cube_Display_2.SetActive(false);
}
}
ボタンをもう1つ下に追加しコードを同じように追加します。
表示するものをトグルするため、Cube_Display_1.SetActive(false);とCube_Display_2.SetActive(true);を記載します。

Udon BehaviourにVisual Studioでコードを書いて保存した後に追加されている項目があります。Cube_Display_1、Cube_Display_2にUnityのHierachyから同名のオブジェクトをドラッグ・ドロップしてセットします。


ディスカッション
コメント一覧
まだ、コメントがありません