OpenVAT in VRChat: Unterschied zwischen den Versionen
Gargi (Diskussion | Beiträge) Die Seite wurde neu angelegt: „<div style="text-align=right; float: right; clear: none; background: none; padding-left:20px"> __TOC__ </div><noinclude> = OpenVAT in VRChat (Unity Built-in) = == Einleitung == OpenVAT (Vertex Animation Textures) ist eine Technik, bei der Animationen nicht über Bones, sondern über Texturen abgespielt werden. Dabei werden Vertex-Positionen in einer EXR-Datei gespeichert und im Shader wieder ausgelesen. Das ist besonders interessant für VR, da: Anima…“ |
Gargi (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
| Zeile 15: | Zeile 15: | ||
== 1. OpenVAT in Blender verwenden == | == 1. OpenVAT in Blender verwenden == | ||
[[VAT00.png|600px]] | [[Bild:VAT00.png|600px]] | ||
OpenVAT installieren (ab Blender 4.2) | OpenVAT installieren (ab Blender 4.2) | ||
| Zeile 21: | Zeile 21: | ||
== 2. OpenVAT auf das Objekt anwenden == | == 2. OpenVAT auf das Objekt anwenden == | ||
[[VAT01.png|600px]] | [[Bild:VAT01.png|600px]] | ||
Wichtige Einstellungen: | Wichtige Einstellungen: | ||
| Zeile 34: | Zeile 34: | ||
== 3. Shader Graph VRC installieren == | == 3. Shader Graph VRC installieren == | ||
[[VAT02.png|600px]] | [[Bild:VAT02.png|600px]] | ||
| Zeile 48: | Zeile 48: | ||
im Projekt aktivieren | im Projekt aktivieren | ||
[[VAT03.png|600px]] | [[Bild:VAT03.png|600px]] | ||
Warum: | Warum: | ||
| Zeile 55: | Zeile 55: | ||
== 4. Shader Graph in Unity installieren == | == 4. Shader Graph in Unity installieren == | ||
[[VAT04.png|600px]] | [[Bild:VAT04.png|600px]] | ||
Im Unity Package Manager: | Im Unity Package Manager: | ||
| Zeile 62: | Zeile 62: | ||
== 5. OpenVAT Plugin installieren == | == 5. OpenVAT Plugin installieren == | ||
[[VAT05.png|600px]] | [[Bild:VAT05.png|600px]] | ||
Im Package Manager: | Im Package Manager: | ||
| Zeile 71: | Zeile 71: | ||
== 6. Export aus Blender importieren == | == 6. Export aus Blender importieren == | ||
[[VAT06.png|600px]] | [[Bild:VAT06.png|600px]] | ||
Alle Dateien in Unity kopieren: | Alle Dateien in Unity kopieren: | ||
| Zeile 100: | Zeile 100: | ||
Windows | Windows | ||
[[VAT07.png|600px]] | |||
[[Bild:VAT07.png|600px]] | |||
Android (Quest!) | Android (Quest!) | ||
[[VAT08.png|600px]] | [[Bild:VAT08.png|600px]] | ||
iOS | iOS | ||
[[VAT09.png|600px]] | [[Bild:VAT09.png|600px]] | ||
→ Unity nutzt Plattform-Overrides | → Unity nutzt Plattform-Overrides | ||
| Zeile 114: | Zeile 115: | ||
== 8. Shader auf VRChat Built-in umstellen == | == 8. Shader auf VRChat Built-in umstellen == | ||
[[VAT10.png|600px]] | [[Bild:VAT10.png|600px]] | ||
Im ShaderGraph: | Im ShaderGraph: | ||
| Zeile 127: | Zeile 128: | ||
== 9. OpenVAT Tool ausführen == | == 9. OpenVAT Tool ausführen == | ||
[[VAT11.png|600px]] | [[Bild:VAT11.png|600px]] | ||
[[VAT12.png|600px]] | [[Bild:VAT12.png|600px]] | ||
Im Menü: | Im Menü: | ||
| Zeile 140: | Zeile 141: | ||
== 10. Ergebnis == | == 10. Ergebnis == | ||
[[VAT13.png|600px]] | [[Bild:VAT13.png|600px]] | ||
Unity erzeugt automatisch: | Unity erzeugt automatisch: | ||
| Zeile 149: | Zeile 150: | ||
== 11. Albedo und Emission hinzufügen == | == 11. Albedo und Emission hinzufügen == | ||
[[VAT14.png|600px]] | [[Bild:VAT14.png|600px]] | ||
Im ShaderGraph ergänzen: | Im ShaderGraph ergänzen: | ||
| Zeile 164: | Zeile 165: | ||
== 12. Textur im Material setzen == | == 12. Textur im Material setzen == | ||
[[VAT15.png|600px]] | [[Bild:VAT15.png|600px]] | ||
Im Material: | Im Material: | ||
| Zeile 171: | Zeile 172: | ||
== 13. Prefab testen == | == 13. Prefab testen == | ||
[[VAT16.png|600px]] | [[Bild:VAT16.png|600px]] | ||
Prefab in die Szene ziehen: | Prefab in die Szene ziehen: | ||
Version vom 27. Juni 2026, 14:28 Uhr
OpenVAT in VRChat (Unity Built-in)
Einleitung
OpenVAT (Vertex Animation Textures) ist eine Technik, bei der Animationen nicht über Bones, sondern über Texturen abgespielt werden. Dabei werden Vertex-Positionen in einer EXR-Datei gespeichert und im Shader wieder ausgelesen.
Das ist besonders interessant für VR, da:
Animationen komplett auf der GPU laufen keine komplexen Rigs benötigt werden Simulationen wie Stoff oder Flaggen sehr performant dargestellt werden können
1. OpenVAT in Blender verwenden
OpenVAT installieren (ab Blender 4.2) Eine Animation erstellen (z. B. Cloth Simulation)
2. OpenVAT auf das Objekt anwenden
Wichtige Einstellungen:
Frame Range – Animationsbereich Vertex Data: Standard (Position/Normal) Deformation Basis: Start Frame → wichtig für Offset-Animation Transform: Object Use Single Row → optimiert Texture Layout
Dann auf Encode Vertex Animation Texture klicken.
3. Shader Graph VRC installieren
Im VRChat Creator Companion:
Repository hinzufügen:
https://z3y.github.io/vpm-package-listing/index.json
Danach:
Paket Shader Graph VRC installieren im Projekt aktivieren
Warum: → Standard ShaderGraph ist nicht VRChat-kompatibel → Dieses Paket macht Built-in Shader nutzbar
4. Shader Graph in Unity installieren
Im Unity Package Manager:
Shader Graph installieren
5. OpenVAT Plugin installieren
Im Package Manager:
Add package from Git URL
https://github.com/sharpen3d/openvat-unity.git
6. Export aus Blender importieren
Alle Dateien in Unity kopieren:
FBX (Mesh) EXR (Animation) JSON (optional)
Empfohlen: → eigenes Verzeichnis erstellen
7. EXR Texture korrekt einstellen
Die EXR ist keine normale Textur, sondern enthält Vertex-Daten!
Wichtige Einstellungen:
Non Power of 2 = None Compression = None MipMaps = Off Wrap Mode = Clamp Filter Mode = Point (oder Bilinear für smoothing)
Sehr wichtig:
Für jede Plattform separat einstellen:
Windows
Android (Quest!)
iOS
→ Unity nutzt Plattform-Overrides → falsche Settings zerstören die Animation oder Qualität
8. Shader auf VRChat Built-in umstellen
Im ShaderGraph:
Graph Inspector öffnen Active Targets → Built-In VRC
Warum:
VRChat nutzt die Built-in Pipeline → URP funktioniert nicht
9. OpenVAT Tool ausführen
Im Menü:
Tools → OpenVAT Editor
Dann:
Export-Ordner auswählen Process OpenVAT Content klicken
10. Ergebnis
Unity erzeugt automatisch:
Material Prefab aufbereitetes Mesh
11. Albedo und Emission hinzufügen
Im ShaderGraph ergänzen:
Texture2D Property erstellen (Albedo) Sample Texture 2D Node UV0 anschließen Output → Base Color
Optional Emission:
Texture → Multiply (z. B. Stärke 1–3) Output → Emission
12. Textur im Material setzen
Im Material:
Albedo Textur zuweisen
13. Prefab testen
Prefab in die Szene ziehen:
Animation sollte direkt laufen Funktion testen
Fazit
OpenVAT ermöglicht:
GPU-basierte Animationen komplexe Simulationen ohne Bones sehr gute Performance in VR
Wichtige Learnings:
EXR darf nicht verändert werden Plattform-Overrides sind entscheidend (Quest!) Shader muss VRChat-kompatibel sein
Damit lassen sich hochwertige Animationen direkt in VRChat einsetzen.




