View in English

  • Apple Developer
    • Get Started

    Explore Get Started

    • Overview
    • Learn
    • Apple Developer Program

    Stay Updated

    • Latest News
    • Hello Developer
    • Platforms

    Explore Platforms

    • Apple Platforms
    • iOS
    • iPadOS
    • macOS
    • tvOS
    • visionOS
    • watchOS
    • App Store

    Featured

    • Design
    • Distribution
    • Games
    • Accessories
    • Web
    • Home
    • CarPlay
    • Technologies

    Explore Technologies

    • Overview
    • Xcode
    • Swift
    • SwiftUI

    Featured

    • Accessibility
    • App Intents
    • Apple Intelligence
    • Games
    • Machine Learning & AI
    • Security
    • Xcode Cloud
    • Community

    Explore Community

    • Overview
    • Meet with Apple events
    • Community-driven events
    • Developer Forums
    • Open Source

    Featured

    • WWDC
    • Swift Student Challenge
    • Developer Stories
    • App Store Awards
    • Apple Design Awards
    • Apple Developer Centers
    • Documentation

    Explore Documentation

    • Documentation Library
    • Technology Overviews
    • Sample Code
    • Human Interface Guidelines
    • Videos

    Release Notes

    • Featured Updates
    • iOS
    • iPadOS
    • macOS
    • watchOS
    • visionOS
    • tvOS
    • Xcode
    • Downloads

    Explore Downloads

    • All Downloads
    • Operating Systems
    • Applications
    • Design Resources

    Featured

    • Xcode
    • TestFlight
    • Fonts
    • SF Symbols
    • Icon Composer
    • Support

    Explore Support

    • Overview
    • Help Guides
    • Developer Forums
    • Feedback Assistant
    • Contact Us

    Featured

    • Account Help
    • App Review Guidelines
    • App Store Connect Help
    • Upcoming Requirements
    • Agreements and Guidelines
    • System Status
  • Quick Links

    • Events
    • News
    • Forums
    • Sample Code
    • Videos
 

Videos

Abrir menú Cerrar menú
  • Colecciones
  • Todos los videos
  • Información

Más videos

  • Información
  • Resumen
  • Código
  • Descubre las novedades de RealityKit

    Descubre las últimas novedades de RealityKit, diseñadas para que tus apps y juegos sean más envolventes y realistas que nunca. Descubre nuevas y potentes capacidades, como simulaciones interactivas de telas, búsqueda de rutas con NavMesh, iluminación de realidad mixta y mallas de reverberación personalizables para un audio espacial mejorado. Mejora la calidad visual con sombras optimizadas, mejoras en el renderizado de personajes y compatibilidad con el splatting gaussiano.

    Capítulos

    • 0:00 - Introduction
    • 2:00 - Lighting and shadows
    • 7:44 - Navigation mesh
    • 11:01 - Cloth simulation
    • 13:42 - Performance
    • 17:09 - 3D Gaussian splats
    • 19:08 - Immersive audio
    • 22:42 - Next steps

    Recursos

    • Gaussian splats on visionOS
      • Video HD
      • Video SD

    Videos relacionados

    WWDC26

    • Amplía la funcionalidad de Reality Composer Pro 3 con Xcode
    • Diseña juegos sin código con Reality Composer Pro 3
    • Itera tus escenas espaciales más rápido con Reality Composer Pro 3
    • Potencia tus flujos de trabajo espaciales con Reality Composer Pro 3
  • Buscar este video…
    • 4:02 - Soft shadows

      // Enable soft shadows for the hearth spotlight
          
      guard var shadow = hearthSpotlight.components[SpotLightComponent.Shadow.self] else {
          // handle error
      }
      shadow.lightSize = 0.7 // meters
          
      shadow.quality = .medium // or .high
      // shadow.quality = .low // will result in hard shadows
          
      hearthSpotlight.components.set(shadow)
    • 6:13 - Projective textures

      // Create one of the planetarium spotlights
          
      let spotLightEntity = Entity()
      spotLightEntity.components.set(SpotLightComponent(
          color: .white,
          intensity: intensity,
          innerAngleInDegrees: innerAngle,
          outerAngleInDegrees: outerAngle,
          attenuationRadius: attenuationRadius,
      ))
          
      let projectiveTexture: TextureResource = generateStarsAndNebulaeTexture()
      spotLightEntity.components.set(SpotLightComponent.ProjectiveTexture(
          texture: projectiveTexture
      ))
    • 7:13 - Physical space lighting

      // Enable physical space lighting
          
      spotLightEntity.components.set(SpotLightComponent.SurroundingsLight())
    • 9:46 - Querying the navigation mesh

      // Querying the navigation mesh in Chaparral Village
      
      extension Entity {
          public func navigate(/* ... */) async {
              let navigator = try! NavigationController(entity: self)
              guard let result = await navigator.computePath(from: fromPosition, to: toPosition) 
              else {
                  return
              }
              if result.isEmpty {
                  return
              }
              for node in result {
                  switch node.category {
                      case .meshPoint:
                          finalPath.append(node.position)
                      case .offMeshConnection:
                          // handle ladders
                  }
              }
          }
      }
    • 12:51 - Pinning cloth to anchor points

      // Pin the curtains to the Alchemist's lab
      
      for (pin, pinComponent) in pins {
              let position = pin.position(relativeTo: event.entity)
              let selectionSphere = ClothSphereShape(radius: pinComponent.radius)
          
              let vertices = clothMesh.vertices(in: .sphere(selectionSphere),
                                          center: position)
              clothBody.motionTypes.set(vertexIndices: vertices, value: .kinematic)
      }
    • 14:42 - LOD by camera distance

      // Create entity with LODs
          
      let lod0 = [ModelEntity(mesh: lodMesh0)]
      let lod1 = [ModelEntity(mesh: lodMesh1)]
      let lod2 = [ModelEntity(mesh: lodMesh2)]
      
      let entity = Entity()
      
      LevelOfDetailComponent.addByCameraDistance(to: entity, levels: [
          (entities: lod0, maxDistance: 1.0 /* meters */), // highest detail
          (entities: lod1, maxDistance: 5.0),              // medium detail
          (entities: lod2, maxDistance: .infinity),        // lowest detail
      ])
    • 15:58 - LOD by screen area

      // Create entity with LODs
          
      let lod0 = [ModelEntity(mesh: lodMesh0)]
      let lod1 = [ModelEntity(mesh: lodMesh1)]
      let lod2 = [ModelEntity(mesh: lodMesh2)]
      
      let entity = Entity()
      
      LevelOfDetailComponent.addByScreenArea(to: entity, levels: [
          (entities: lod0, minArea: 0.2 /* fraction of screen area */),  // highest detail
          (entities: lod1, minArea: 0.1),                                // medium detail
          (entities: lod2, minArea: 0.01),                               // lowest detail
      ])
    • 16:26 - Responding to thermal state changes

      // Respond to changes in device thermal state
          
      NotificationCenter.default.addObserver(of: ProcessInfo.self,
                                             for: .thermalStateDidChange) {_ in
          switch ProcessInfo.processInfo.thermalState {
              case .nominal, .fair:
                  // Stay the course
              case .serious, .critical:
                  // Improve performance by:
                  // More aggressive LOD switching
                  // Lower shadow quality
          }
      }
    • 18:44 - Creating a Gaussian splat

      // Create Gaussian splat resource and component
      
      let resource = try GaussianSplatResource.BufferResource(count: splatCount,
                                                              position: positionBuffer,
                                                              scale: scaleBuffer,
                                                              rotation: rotationBuffer,
                                                              opacity: opacityBuffer,
                                                              sphericalHarmonics:
                                                                                                                          (sphericalHarmonicsBuffer, degree))
      
      let splatResource = GaussianSplatResource(resource)
      
      let splatComponent = GaussianSplatComponent(splatResource)
      
      splatEntity.components.set(splatComponent)
    • 20:49 - Creating a custom reverb mesh

      // Create and use custom reverb mesh
      
      let mesh: ReverbMeshResource = .shoebox(size: [5, 4, 6])
          
      let reverb: Reverb = .simulated(mesh: mesh, materials: [.dryWall])
          
      entity.components.set(ReverbComponent(reverb: reverb))
    • 21:33 - Creating custom reverb materials

      // Create custom materials for custom reverb mesh
          
      let thickCarpet: Audio.Material = .carpet.scalingAbsorption {freq in 0.1 }
          
      let bookshelf: Audio.Material
          
      // Absorption coefficients by center frequency:
      // 31.5Hz, 63Hz, 125Hz, 250Hz, 500Hz, 1kHz, 2kHz, 4kHz, 8kHz, 16kHz
      let bookshelfAbsorption = Audio.Absorption(
          [0.10, 0.15, 0.28, 0.20, 0.15, 0.10, 0.10, 0.07, 0.07, 0.05])
          
      // Scattering coefficients for: 500Hz, 1000Hz, 4000Hz
      let bookshelfScattering = Audio.Scattering([500: 0.5, 1000: 0.6, 4000: 0.7])
          
      bookshelf = .init(absorption: bookshelfAbsorption,
                    scattering: bookshelfScattering)
    • 0:00 - Introduction
    • Overview of the new RealityKit features introduced this year, including lighting and shadows, navigation mesh, cloth simulation, performance tools, 3D Gaussian splats, and immersive audio.

    • 2:00 - Lighting and shadows
    • Explore RealityKit's updated lighting and shadow capabilities, including lightmap support for indirect lighting and ambient occlusion, soft shadows for dynamic lights, projective textures, and physical space lighting that lets virtual lights interact with real-world environments.

    • 7:44 - Navigation mesh
    • Learn how to use RealityKit's navigation mesh to define traversable paths for characters and NPCs. Covers NavigationMeshResource, NavigationComponent, NavigationController, and how to query and iterate path nodes asynchronously.

    • 11:01 - Cloth simulation
    • Discover how to add realistic cloth simulation to your scenes using ClothBodyComponent, ClothColliderComponent, and cloth mesh resources. Includes how to pin cloth vertices to anchor points using kinematic motion types.

    • 13:42 - Performance
    • Cover performance optimization techniques, including mesh level of detail (LOD) using LevelOfDetailComponent with camera-distance and screen-area algorithms, and how to monitor and respond to device thermal state changes.

    • 17:09 - 3D Gaussian splats
    • Learn how to render high-fidelity real-world captures using RealityKit's 3D Gaussian splat support. Covers how to construct a GaussianSplatResource from position, scale, rotation, opacity, and spherical harmonics buffers, and attach it via GaussianSplatComponent.

    • 19:08 - Immersive audio
    • Explore RealityKit's immersive audio features for Apple Vision Pro, including custom reverb meshes that model the acoustic properties of virtual and real environments. Covers ReverbMeshResource, built-in preset materials, and creating custom materials with absorption and scattering coefficients.

    • 22:42 - Next steps
    • Recap of session topics and pointers to related sessions, sample code, and documentation to explore more of what RealityKit has to offer this year.

Developer Footer

  • Videos
  • WWDC26
  • Descubre las novedades de RealityKit
  • Open Menu Close Menu
    • iOS
    • iPadOS
    • macOS
    • tvOS
    • visionOS
    • watchOS
    • App Store
    Open Menu Close Menu
    • Swift
    • SwiftUI
    • Swift Playground
    • TestFlight
    • Xcode
    • Xcode Cloud
    • Icon Composer
    • SF Symbols
    Open Menu Close Menu
    • Accessibility
    • Accessories
    • Apple Intelligence
    • Audio & Video
    • Augmented Reality
    • Business
    • Design
    • Distribution
    • Education
    • Games
    • Health & Fitness
    • In-App Purchase
    • Localization
    • Maps & Location
    • Machine Learning & AI
    • Security
    • Safari & Web
    Open Menu Close Menu
    • Documentation
    • Downloads
    • Sample Code
    • Videos
    Open Menu Close Menu
    • Help Guides & Articles
    • Contact Us
    • Forums
    • Feedback & Bug Reporting
    • System Status
    Open Menu Close Menu
    • Apple Developer
    • App Store Connect
    • Certificates, IDs, & Profiles
    • Feedback Assistant
    Open Menu Close Menu
    • Apple Developer Program
    • Apple Developer Enterprise Program
    • App Store Small Business Program
    • MFi Program
    • Mini Apps Partner Program
    • News Partner Program
    • Video Partner Program
    • Security Bounty Program
    • Security Research Device Program
    Open Menu Close Menu
    • Meet with Apple
    • Apple Developer Centers
    • App Store Awards
    • Apple Design Awards
    • Apple Developer Academies
    • WWDC
    Read the latest news.
    Get the Apple Developer app.
    Copyright © 2026 Apple Inc. All rights reserved.
    Terms of Use Privacy Policy Agreements and Guidelines