UnityのスクリプトをVRchatに反映したい
結論:最新のVRCSDKを使っていれば、UDONsharpスクリプトをコネコネするだけでOK
先日、VRchatで二輪免許コースを作って練習していると言いました。
この頃はそのコースの改修を行っておりまして、ミラーや停止標識といったオブジェクトを追加していました。もちろん信号機も。
…そしてその信号機が厄介ものでした。
まず第一に信号機を切り替えるにはプログラミングをしないといけません。
UnityのスクリプトはC#…でしたっけ?
書き方も何も知らないど素人なので、なかなか大変でした。(蓋を開けてみれば、ただ単に時間経過でオブジェクトのアクティブ/非アクティブを切り替えるだけですけど)
試行錯誤を繰り返し、ようやくプレビュー画面で動くことを確認。
その後VRchatにビルドしたら…動いてない!!!
どうやらUnityのスクリプトでは動かないらしく、Udonsharpでスクリプトを書かないといけないそうということがわかりました。
ちなみに最新のVRCSDKならUdonsharp最初から入ってるはず(…だよね?)なので簡単にスクリプト作れます。
以下は備忘録もかねて手順を書いておきます。
- 空のオブジェクトを作成する。 (Create Empty)
- 作成した空のオブジェクトにコンポーネントを追加する。
- Udon Behaviorを選ぶ。
- new programを選ぶ。
- create scriptを選ぶ。
- 名前を付けてスクリプトを保存する。
- 少し時間を置くとオブジェクトにスクリプトが読み込まれるので、6で作ったスクリプトを編集し、プログラムを書いて保存
以上!
なお、UdonSharpは普通のUnityのスクリプトと同じ書き方で大丈夫そうです。
良きVRchatライフを~