-
Descubre USDKit y las novedades de OpenUSD
Descubre los últimos avances en la compatibilidad con Universal Scene Description (USD) en las plataformas de Apple, incluido USDKit basado en Swift, la nueva API de vista previa espacial y las capacidades web espaciales mejoradas. Descubre cómo las últimas actualizaciones del estándar OpenUSD incorporan compatibilidad con la accesibilidad, los splats gaussianos y la geometría comprimida. También revisaremos detalladamente las herramientas mejoradas de edición y renderización de USD en Vista Previa para Mac, y te mostraremos cómo aprovechar estas capacidades en tus propias apps.
Capítulos
- 0:07 - Introducción
- 0:53 - OpenUSD: aspectos básicos de la industria y nuevos estándares
- 2:51 - Splats gaussianos y campos de partículas
- 3:47 - Presentación de USDKit
- 4:06 - Edición 3D en Vista Previa y nuevos motores de renderizado
- 5:42 - Spatial Preview: colaboración en tiempo real entre la Mac y el Vision Pro
- 6:25 - USD en la web: la etiqueta Model de Safari
- 6:57 - USDKit: conceptos clave y un recorrido por la API de Swift
- 10:05 - Metadatos de accesibilidad en USD
- 11:19 - Compresión de recursos: malla y textura
- 12:36 - Vías de integración: USDKit, SwiftUSD y OpenUSD
- 13:24 - Próximos pasos
Recursos
Videos relacionados
WWDC26
-
Buscar este video…
-
-
8:12 - Opening a USD Stage
import USDKit // Create a new empty in-memory stage let stage = USDStage() // Open a stage from a file on disk let url = URL(fileURLWithPath: "/ALab/entry.usda") let stage = try USDStage.open(url) -
8:44 - Traversing the Stage Hierarchy
// Traverse all prims looking for the oscilloscope for prim in stage.descendants { if prim.name == "scope" { // There it is! 🔬 } } // It wasn't there — define a new Xform prim for it let scope = stage.definePrim(at: "/World/scope", type: “Xform")) // Add a file reference to the prim try scope.references.add(“/ALab/assets/scope.usda”) -
9:36 - Moving a Prim with a Transform Operation
// Creates xformOp:translate and updates xformOpOrder automatically scope.addTransformOperation(type: .translate) scope["xformOp:translate", as: USDValue.Vec3d.self] = [2.5, 0.0, -1.0] -
10:42 - Applying Accessibility Metadata
// Apply the multi-apply AccessibilityAPI schema with instance name "default" try scope.applyAPISchema("AccessibilityAPI", instanceName:"default") // Create the label and description attributes scope.makeAttribute(named: "accessibility:default:label", as: .string) scope.makeAttribute(named: "accessibility:default:description", as: .string) // Set their values scope["accessibility:default:label", as: String.self] = "Oscilloscope" scope["accessibility:default:description", as: String.self] = "Vintage signal analyzer with a 3D wireframe display, topped by a color bar test monitor" -
12:05 - Exporting with Mesh and Texture Compression
let output = URL(fileURLWithPath: "/ALab/alab_compressed.usdz") // Export the stage as a USDZ package try stage.exportPackage( to: output, options: [ .preferSmallTextureFiles(quality: .standard), // compress textures .preferSmallMeshFiles // compress mesh geometry ] )
-