Alle Varianten werden für die Bedienung auf denselben Runtime- und UI-Flow abgebildet. App-spezifische Hierarchie-Varianten werden über *_SWITCH erkannt; native Formatvarianten werden beim Import entsprechend angebunden.
*_SWITCH → Variant A / Variant B / Variant C
GLB / glTF – nativer Materialvarianten-Weg
GLB bzw. glTF unterstützt Materialvarianten nativ über die ratifizierte Khronos-Erweiterung KHR_materials_variants. Die Variantennamen werden im glTF-Asset definiert; an den Mesh-Primitives wird hinterlegt, welches Material zu welcher Variante gehört. Die Geometrie kann dabei gemeinsam genutzt werden und muss für reine Materialvarianten nicht dupliziert werden.
presentAR liest diese Varianten beim Import aus und überführt sie für die Bedienung in den gemeinsamen Varianten- und UI-Flow. Für echte Geometrievarianten bleibt zusätzlich die presentAR-spezifische SWITCH-Hierarchie möglich.
Beispiel: Chair → KHR_materials_variants → Red | Blue | Leather
USDZ – nativer Weg
USDZ ist das Paketformat; das Variantensystem selbst stammt aus OpenUSD. VariantSets sind der native USD-Mechanismus für umschaltbare Alternativen eines Prims. Sie sind nicht auf Materialien beschränkt: Eine Variante kann beispielsweise Materialbindungen, Geometrie, Properties oder komplette Unterhierarchien verändern.
Beispiel: Chair → VariantSet "Material" → Red | Blue | Leather
Für native USDZ-Varianten ist daher keine presentAR-spezifische Textur-Namenskonvention erforderlich. Die bisherige Erkennung über Textur-Suffixe kann optional als Legacy-/Fallback-Weg erhalten bleiben.