UdonSharpを始めよう
UdonSharpってナニモノ?
UdonSharpはC#をVRChat向けに改良したものです。
C#経験者、プログラミング経験者であればコツはつかみやすいと思います。
筆者はPythonがメインで、C#はからっきしでしたが
少々癖はあるものの古き良きって感じで嫌いではないという印象です。
前置き
「UdonSharp」で検索すると「VCC+UDON SDKが必要です」など記述のある記事が上位にヒットしますが、これは古い情報です。
VCCでワールドのプロジェクトを立ち上げる際のスクリーンショットを見ると「UdonSharp」を選択する項目があるものもあり、混乱してしまいます。
しかし、現在はワールドのプロジェクトを立ち上げると初めからUdon関連が導入されており、すぐに始めることができます。本記事ではワールドプロジェクトの立ち上げから「Hello World」までを解説します。
1. ワールドプロジェクトの立ち上げ
- VCCでプロジェクトを作成、「World2022」を選択。
- ワールド名は「My First Udon Sharp」に命名。
- パッケージを選ぶ画面から「VRWorld Toolkit」の横の+ボタンを押して導入してからプロジェクトを立ち上げ
2. UdonSharpを適用するゲームオブジェクトの作成
- ヒエラルキーの左上の「+」ボタンから
3D > Cube
を選択。
- 今回は「UdonCube」に命名します。
3. CubeにUdonSharpを適用
-
Add Component
からUdon Behaviour
を追加。
-
New Program
を選択。
-
Create Script
を選択し、スクリプトに名前を付ける。
- ゲームオブジェクトと同じ名前にしてもよいし、オリジナルの名前を付けてもよいです。
- ただし、同時に生成される緑の
Program Asset
の名前は変更しないこと。
この時、コンソールログでエラーが出なければ問題ありません。
4. プログラムを編集(Hello World)
- 白いアイコンのスクリプトファイルをダブルクリックすると、Visual Studio が立ち上がります。
- 初めて起動する場合は、インストール等が入る場合があります。
初期状態のコード
スクリプトには、以下のようなコードが記述されています。
using UdonSharp;
using UnityEngine;
using VRC.SDKBase;
using VRC.Udon;
public class UdonCube : UdonSharpBehaviour
{
void Start()
{
}
}
ここにコンソールログに文字列を出力ためのプログラムを追記します
using UdonSharp;
using UnityEngine;
using VRC.SDKBase;
using VRC.Udon;
public class UdonCube : UdonSharpBehaviour
{
void Start()
{
Debug.Log("Hello World!");
}
}
解説
-
Start()
はプログラムが実行されて最初の1回だけ動作します。
実行手順
- Unityに戻ると、コンパイル(プログラムの検証)が走ります。
- 問題がなければ、画面上部の再生ボタン▶からゲームモードに切り替えます。
- コンソールログに
Hello World
が出力されれば成功!
もしエラーがでたとき
- 例えば、画像は(11,34)の部分から、11行目に;がないことを指摘しています。
- ググってもいいし、ChatGPTにエラー文をコピーしてそのまま投げても大丈夫です。この赤字を解決しきらないとプログラムはが動きません。
5. まとめ
これdHello Worldを表示する手順が完了です。お疲れ様でした!