背景
動機
UdonSharpのことが何も分からないし、そもそもUnityも全然なので凄い勢いで触る。
動くものを作る(HelloWorldする)までは結果が目に見えなくてモチベーションが上がらない。しかし、一度HellowWorldができてしまえば、自分が変更したところが反映されていく様子を楽しむことができる。
ということで手始めにWorldを作って、UdonSharpで何らかの仕組みを記述する。
- 些末なTipsが多くなるかもしれない
- Unityからして全然わかってないので備忘録を兼ねる
- 環境依存な話が多くなるかもしれない
- OS,Unity,VRChat,UdonSharpという色々なモノを扱うので
VRChatの仕組み
VRCはUnity上で動く。
VRCのワールド(空間)等はUnityで製作する。
ただし、VRCにおいてUnityの全機能を使える訳ではないらしい。
SDKやUdonで記述できる範囲で開発する。
インストール
windows10で以下のものを入れた
- Unity Hub
- Editorは
2019.4.31
- 注:
.exeのパス
を控えとく
- 注:
- Editorは
- VRC Creator Companion
2.0.3
- (インストーラにしかバージョン書いてない)
- SDKとUdon類をプロジェクトに適用してくれるっぽい
- VRCそのもの
2023/03/27最新
- steam経由(関係ないはず)
-
C(かDドライブ):SteamLibrary\steamapps\common\VRChat\VRChat.exe
とかに存在する
下記手順でプロジェクト編集にこぎつける。
- Creator Companion にUnityEditorを指定する(控えておいた
.exeのパス
) - Creator Companion でプロジェクトを作る
- (多分おま環)Creator Companionでプロジェクトを開けなかったがUnityから開くといけた
Creator Companionによってデフォルトで下記が適用された。
- VRChat SDK - Worlds
3.1.11
- VRChat Package Resolver Tool
0.1.17
- VRChat SDK - Base
3.1.11
- UdonSharp
1.1.7
- VRChat Client Simulator
1.2.2
最低限のワールドを作る
最低限を揃える
-
vrcworld.prefabを用意する(左側のpaneにドラッグ&ドロップする)
- vrcworld.prefabが無いよ! -> 検索範囲をallにしたら見つかる
-
地面(plane)を配置する
- 重力があるので
一旦ローカルテスト
-
パネルを開く
上部タブ > VRChat SDK > Show Control Panel
-
VRChatアカウントでログイン
Auth...
-
VRCクライアント指定
Settings > VRChat Client > Edit > なんやかんや\VRChat.exe
-
ローカルテスト(Force Non-VRにチェック)
Builder > Local Testing > Build & Test
-
地面を歩けることを確認
Udonに触る
-
asset作る
Assetで右クリック > Create > VRChat > Udon > Udon C# Program Asset
-
紐付くC#ファイルを作る
Inspector > create script
using UdonSharp;
using UnityEngine;
using VRC.SDKBase;
using VRC.Udon;
public class UdontryAsset : UdonSharpBehaviour
{
public override void Interact() {
GetComponent<Transform>().Rotate(10f, 0, 10f);
}
}
-
Cubeを作って
Add Component
でさっき作ったふるまいを追加 -
ローカルテスト
- 豆腐をクリックすると回転することを確認
-
シーンとして保存する
-
(アップロードしたければする(ある程度VRChatを遊ばないとできない))
感想
ここまでで大体3時間くらいだった。思ったよりも簡単(深入りしなければ...)。
- UnityとVRChatは走る前から入っていた
- VRC Creator Companionとかをインストールしてプロジェクトを作るまでに約2時間
- この合間にUdonSharpのこととかを調べていた
- 「どんなことやろう」「何ができるんだ」に約30分
- 地面を作ってローカルテストに約30分
- 豆腐を回すのに約3分
色々なもののバージョンを合わせるのがしんどそうだった。ここら辺を解決しようとしているのが「VRC Creator Companion」らしい。うまく働かないケースもあるらしいが、開発も継続しているらしい。
参考にさせていただいた記事
ワールド作成部分
https://note.com/npaka/n/nfcfcdfdd2739
https://unitystudygo.com/2021/01/01/vrchat%E3%83%AF%E3%83%BC%E3%83%AB%E3%83%89%E3%82%92%E4%BD%9C%E3%82%8B1%E5%9F%BA%E7%A4%8E%E7%B7%A8/
Udon部分
https://qiita.com/vrc_sour/items/21c31533b4ddd3ba910f#udon-behavior%E3%81%AE%E3%83%86%E3%82%B9%E3%83%88
https://qiita.com/Milcia/items/242b240816a03fc9928e#uscript%E3%82%92%E4%BD%9C%E3%82%8B
オブジェクトを回す部分
https://qiita.com/uroshinse/items/87b84b5133ec7307e104
Renderer.materialのメモリリークについて(結果的には関係なかった)
https://light11.hatenadiary.com/entry/2019/11/03/223241
Renderer.material
https://kan-kikuchi.hatenablog.com/entry/Material