![見出し画像](https://assets.st-note.com/production/uploads/images/117708367/rectangle_large_type_2_a5609bab293386877f550bba598abd46.png?width=1200)
VRChat VRC stationにUdonSharpでsit機能をつける
なんでこれだけのことがでてこないのかすっごい疑問。
exampleはVRCChair3とかで椅子を実現し、そこからオブジェクトを消して作れってばっか出てくるけれど、どれもUdon Graphのものばかり。
じゃあUdonSharpで実装するのはどうやるの、と。
自分でやったからメモ。
CubeとかのGameObjectにVRC StationとU# Scriptをつける
![](https://assets.st-note.com/img/1695132707198-FWYb3MJDft.png)
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精度悪すぎ。