VRChat VRC stationにUdonSharpでsit機能をつける
なんでこれだけのことがでてこないのかすっごい疑問。
exampleはVRCChair3とかで椅子を実現し、そこからオブジェクトを消して作れってばっか出てくるけれど、どれもUdon Graphのものばかり。
じゃあUdonSharpで実装するのはどうやるの、と。
自分でやったからメモ。
CubeとかのGameObjectにVRC StationとU# Scriptをつける
2.以下のスクリプト。
これは、VRCChair3のStationGraphをC#化したもの。
using UdonSharp;
using UnityEngine;
using VRC.SDKBase;
using VRC.Udon;
public class Cube : UdonSharpBehaviour
{
public override void Interact()
{
VRC.SDKBase.Networking.LocalPlayer.UseAttachedStation();
}
public override void OnStationEntered(VRC.SDKBase.VRCPlayerApi onStationEnteredPlayer)
{
UnityEngine.Debug.Log(string.Format("{0} Entered", onStationEnteredPlayer.displayName));
}
public override void OnStationExited(VRC.SDKBase.VRCPlayerApi onStationExitedPlayer)
{
UnityEngine.Debug.Log(string.Format("{0} Exited", onStationExitedPlayer.displayName));
}
}
Udon Node GraphからC#への変換は、以下を使用した。
お疲れさまでした。
ていうかコレと同じじゃん。なんで検索して出てこなかったんだ?最近google精度悪すぎ。