LoginSignup
0
1

More than 1 year has passed since last update.

VRC SDK3とUdonSharpの環境でIntaractを使ってオブジェクトのON OFFを切り替える

Last updated at Posted at 2021-08-23

前提知識が以下のレベルでなんとなくVRC SDK3とUdonSharpを試してみた。
プログラミング : 少しできる。
Unity : VRChatの買ってきたアバターアップロードとかギミックがほとんどないワールド作るぐらい
C# : さわったことない
VRC SDK3 : さわったことない

できたもの

ありふれたミラーのスイッチ。SDK2とやり方が結構違う。
mirrorswitch.gif

環境

Unity : 2019.4.29f1
VRChat SDK : VRCSDK3-WORLD-2021.08.11.15.16_Public
UdonSharp : v0.20.2

環境作成

今回の例

CubeにIntaractしてミラーのONとOFFを切り替えられるようにする

Unityエディタ上の操作

  1. Assets > VRCHat Examples > Prefabs にある VRCMirror をScene上に設置する。
  2. ミラーのスイッチとするキューブを作る
  3. 作ったキューブにAdd Component で Udon Behaviour を選択 image.png
  4. Program Source が Udon C# Program Assetになっていることを確認し、 New Programをクリック image.png
  5. Create Scriptをクリック image.png
  6. スクリプトのファイルを保存
  7. 作成したスクリプトに以下の内容を書き込む
using UdonSharp;
using UnityEngine;
using VRC.SDKBase;
using VRC.Udon;

public class mirrorSwitch : UdonSharpBehaviour
{

    //publicの変数やオブジェクトはUnityエディタから直接アクセスできるように表示される
    public GameObject mirror;

    //public override void Interact() でオブジェクトにInteract時の処理を記述できる
    public override void Interact()
    {
       // SetActive(true)でオブジェクトを有効化
       // activeSelfには現在のオブジェクトの無効化か有効化の状態が格納されている
       mirror.SetActive(!(mirror.activeSelf));
    }

}

Unityエディタ上に戻ると自動でコンパイルされる。
Mirrorという項目が追加した Udon Behaviourコンポーネントにできているのでそこにシーン上に置いたVRCMirrorをドラッグアンドドロップする。
Interaction Textにはゲームプレイ時にキューブにカーソルを合わせたときに表示するメッセージを記述する。
image.png
これで完成。

感想

UnityやVRCSDKで使えるオブジェクト等についての理解がないと何が使えるのかわからないのでつらい。
オブジェクト間のやり取りはpublicを用いてエディタ上でやるというのが前提知識がないと全然わからんかった。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1