次の項目は別ページに分割しました。
関連ページ:
Udon
Udon は VRChat 上で動作するプログラムをノードにより作成するためのビジュアルプログラミング言語である。SDK2 で使用されていたトリガーやアクションと同様の機能が作成できる。また、変数を同期し、シーンとプレイヤーの相互作用を構築できる。Udon Sharp を使用することで、C# スクリプトを Udon アセンブリにコンパイルして利用することができる。
公式サイト:
What is Udon? | VRChat [Official]
概要
リンク:
Introducing VRChat Udon: Unlocking Coding for Creators (Tupper) | VRChat
参考:
Udon の歴史と現状 2022/10/29 | wata23
導入
ドキュメント:
Getting Started with Udon | VRChat [Official]
参考:
Udon ことはじめ (Open Alpha) – Qiita
Udon ではじめる VR 開発 (BOXP) | Eureka Engineering
Udon ワールドの作り方を公式動画で学ぶ | 神部まゆみのブログ
基本
- グループ: ノードをフレームで囲ってタイトルを表記する
- コメント: グラフ内に説明書きを追加する
- ヌードル/エッジ: ノードのポート間を相互に接続するライン
ドキュメント:
Graph Elements | VRChat [Official]
ノード
操作
Space
: Quick Search
Tab
: Full Search
ドキュメント:
Searching for Nodes | VRChat [Official]
ボタン
参考:
How do I make a mirror with buttons to toggle it on and off? – VRChat Ask
トリガー
フォーラム:
参考:
Trigger を Udon ノードで再現する | そるふぃ
コライダー
OnPlayerTriggerEnter
OnPlayerTriggerStay
OnPlayerTriggerExit
OnPlayerParticleCollision
ドキュメント:
Player Collisions | VRChat [Official]
同期
参考:
VRChat で Udon を使って同期をした話 #1 | ShoninVRC
VRChat で Udon を使って同期をした話 #2 | ShoninVRC
ミラー
参考:
スカイボックスマテリアルを変更する
参考:
Help Udon Skybox Change – VRChat Ask
Changing Skybox with a Trigger Event – VRCat
音源を再生する
動画:
Create a Play Audio Button (PlayerBush001)
How to Create a Music Toggle Button (PlayerBush001)
参考:
イベントノード
ドキュメント:
Event Nodes | VRChat [Official]
タイプノード
ドキュメント:
Type Nodes | VRChat [Official]
特殊ノード
- Block
- Branch
- Comment
- Const Null
- Const This
- Event Custom
- For
- Get Variable
- Set Variable
- While
- Advanced Nodes
ドキュメント:
Special Nodes | VRChat [Official]
ワールド設定
VRCWorldSettings
動画:
Change Players Stats – Jumping, Run Speed, etc (PlayerBush001)
Player API
カテゴリー
ドキュメント:
Player API | VRChat [Official]
Networking
ドキュメント:
Networking | VRChat [Official]
Network Components | VRChat [Official]
Network Specs and Tips | VRChat [Official]
マテリアル
動画:
参考:
マウスダウンの度にマテリアルの色を二つの間で順に切り替える (@naqtn) – Twitter
Material.set Color は動かないけど Material.SetColor は動くそうです。 (@naqtn) – Twitter
Material Change on Interact – VRChat Ask
Enabling HDR in Material Set Color node – VRChat Ask
インスタンス ID を取得する
参考:
Getting Instance ID – VRChat Ask
デバッグ
ドキュメント:
Debugging Udon Projects | VRChat [Official]
移行
参考:
デメリット
参考:
Udon 2
要旨
- 既存のプロジェクトがそのまま動く。
- Udon Graph 及び Udon Sharp が C# にコンパイルされるようになる。
- 高パフォーマンス
- List / Dictionary / Action など C# とほぼ同様のことができる。
- C# 7.3 準拠
- 以前同様に Udon VM サンドボックスで動作する。
動画:
Udon 2 and More! Updates and Plans (Vowgan VR)
参考:
Udon 2 – Developer Update 15 December 2022 – VRChat Ask
SDK ドキュメント
VRChat SDK3 Worlds をインポート後に、
Assets/Udon/ReferenceDocs/index.html
を参照する。
付属サンプル
Prefabs
- Avatar Pedestal
- VRC Chair 3
- Mirror System
Cubes
- Clickable Cube
- Timer Cube
- Interact Cube
- Pickup Cube
- Clickable Cube for Loop
Udon Variable Sync
- Button Sync Owner
- Button Sync Anyone
- Button Sync Become Owner
- Slider Sync
- Toggle
- Dropdown
- Input Field
- Pickup Cube
- Pickup Sphere
Player Detection
- Player Trigger
- Player Collision
- Player Particle Collision
Other
- Udon Sync Player
- Cube Array Sync
- Object Pool
- Simple Pen System
- Chooser Container
ドキュメント:
Example Scene – Udon | VRChat [Official]
参考:
VRC SDK Worlds 公式サンプルの解説一覧 | 果て無き Kawaii への探求心
サンプル
PhaxeNor’s Examples (Graph & U#) | VRChat Ask
チュートリアル
Spinning Cube Example Series | VRChat Ask
フォーラム
ドキュメント
Udon Node Graph | VRChat Creation [Official]
まとめ/Tips
vrcunity/UdonJPWiki Wiki – GitHub
便利なUdonシリーズ、唐突に初めます。 (@y_esnya) – Twitter
以下、Udon の使いこなしや不具合や更新点といった話題を。 (@naqtn) – Twitter
リンク
Udon Creator Community | Twitter
アップデート
Udon 2 and More! VRChat SDK Updates and Plans (Vowgan VR)
チュートリアル
Using Build & Test to Run Your World (Official)
Making Automatic Doors (Official)
プレイリスト
Learning Udon (Official) – YouTube
Udon Tutorials (Vowgan VR) – YouTube
Udon Sharp
ドキュメント:
Documentation – Udon Sharp | VRChat [Official]
リポジトリ:
MerlinVR/UdonSharp: An experimental compiler for compiling C# to Udon assembly – GitHub
Goto Udon
動画:
入手:
Goto Udon – ワールド制作支援スクリプト | GotoFinal
リポジトリ:
GotoFinal/GotoUdon: Helper Resource to Test Udon Script Logic from Unity Editor – GitHub