【VRChat】Udonって何?
大雑把に言うと
VRChatのSDK3で追加された、ギミック作成のための仕組みです。
SDK3でのワールドギミックの殆どはUdonで作られていると思って問題ないでしょう。
もう少し詳しく
Udonはプログラミング言語で、作った処理をGameObjectに付けて動作させることが出来ます。
有名な作成方法は幾つかあり、
Udon Graph
SDK3に備え付けの方法です。
任天堂の「はじめてゲームプログラミング」みたいな感じで、処理・データ同士を線で繋いで作ります。
こちらで作ってみたい方は、私の入門記事が参考になるかもしれません。サンプルはBoothにも無料で配布しています。
【VRChat】Udon Graph 入門【SDK3】Udon Sharp
有志によって作成・配布されているアセットを導入することで使える方法です。
テキストベースでUdonの処理が書けます。
最近作者の方がVRChat社に入社したらしく、最新版の配布URLが変わるかもしれません。
旧リンク: https://github.com/MerlinVR/UdonSharp/
新リンク: https://github.com/vrchat-community/UdonSharp/
などがあります。
更に詳しく
「Udon」と一口に言っても、文脈によって意味合いが少し異なります。
そのため、ここまでに出した単語についても改めて記述したいと思います。
"Udon"とUdon VMについて
一般に"Udon"というと"SDK3でのワールドギミック作成手段"のことを指しますが、厳密には、UdonはUdon Assembly(後述)から生成されたバイトコードを実行するVMであり、文脈によってはこちらを指す場合があります。
Udon GraphもUdon Sharpも、実際には全てUdon Assemblyに変換(コンパイル)され、実行されています。
そのため、Udon AssemblyやVM用のバイトコードに変換する機構(Unityエディタ拡張)を作成することで、自由に言語を作ることが出来ます。
実際に、Udon Sharp以外にもUdonを扱う方法を有志が作成しており、例えばCyanTriggerなどがあります。
なお、私が知っているUdon VMの重要な仕様として、変数512個分しかヒープ領域が用意されていない、というものがあります。
他にも色々あるかもしれません。
Udon Assemblyについて
Udon Assemblyはアセンブリ言語のようなプログラミング言語です。
Udon VMで実行するためのバイトコードに対応しているため、自作コンパイラはバイトコードを直接生成せずにUdon Assemblyを中継することが出来ます。
Udon Graphについて
Udon Graphは公式が提供するノード型のビジュアルプログラミング言語です。
VRChatが用意したAPIやUnity/C#のメソッド等をノードで扱います。
複雑なものを作ると、ノードを置くたびに数秒待たされることになったりするため、本格的なものを作るにはあまり向いていない面もあります。
Udon Sharpについて
Udon SharpはMerlin氏が作成した、C#風に記述できるプログラミング言語です。
Udonの仕様上、本来のC#ほど自由には記述出来ませんが、それでも非常に有用です。
複雑なものを作るための方法として選ぶ人は多いです。
Author And Source
この問題について(【VRChat】Udonって何?), 我々は、より多くの情報をここで見つけました https://qiita.com/Sayamame/items/69ba9e25390f8068d5a6著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .