見出し画像

VRChat VRC stationにUdonSharpでsit機能をつける

なんでこれだけのことがでてこないのかすっごい疑問。
exampleはVRCChair3とかで椅子を実現し、そこからオブジェクトを消して作れってばっか出てくるけれど、どれもUdon Graphのものばかり。
じゃあUdonSharpで実装するのはどうやるの、と。
自分でやったからメモ。

  1. 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精度悪すぎ。


いいなと思ったら応援しよう!