VRC SDK3とUdonSharpの環境でIntaractを使ってオブジェクトのON OFFを切り替える
前提知識が以下のレベルでなんとなくVRC SDK3とUdonSharpを試してみた。
プログラミング : 少しできる。
Unity : VRChatの買ってきたアバターアップロードとかギミックがほとんどないワールド作るぐらい
C# : さわったことない
VRC SDK3 : さわったことない
できたもの
環境
Unity : 2019.4.29f1
VRChat SDK : VRCSDK3-WORLD-2021.08.11.15.16_Public
UdonSharp : v0.20.2
環境作成
- Unityのインストール
- VRCSDK3-WORLDのインポート
- UdonSharp最新版のインポート
今回の例
CubeにIntaractしてミラーのONとOFFを切り替えられるようにする
Unityエディタ上の操作
- Assets > VRCHat Examples > Prefabs にある VRCMirror をScene上に設置する。
- ミラーのスイッチとするキューブを作る
- 作ったキューブにAdd Component で Udon Behaviour を選択
- Program Source が Udon C# Program Assetになっていることを確認し、 New Programをクリック
- Create Scriptをクリック
- スクリプトのファイルを保存
- 作成したスクリプトに以下の内容を書き込む
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にはゲームプレイ時にキューブにカーソルを合わせたときに表示するメッセージを記述する。
これで完成。
感想
UnityやVRCSDKで使えるオブジェクト等についての理解がないと何が使えるのかわからないのでつらい。
オブジェクト間のやり取りはpublicを用いてエディタ上でやるというのが前提知識がないと全然わからんかった。
Author And Source
この問題について(VRC SDK3とUdonSharpの環境でIntaractを使ってオブジェクトのON OFFを切り替える), 我々は、より多くの情報をここで見つけました https://qiita.com/wata5f68/items/4934a7e5b68eb3139c1b著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .