스트리밍은 대부분의 브라우저와
Developer 앱에서 사용할 수 있습니다.
-
visionOS용 엔터프라이즈 API
새로운 visionOS용 엔터프라이즈 API를 활용하여 Apple Vision Pro에서 직원 및 고객의 생산성을 향상하는 공간 경험을 만들어 보세요.
챕터
- 0:00 - Introduction
- 2:36 - Enhanced sensor access
- 11:38 - Platform control
- 18:39 - Best practices
리소스
관련 비디오
WWDC24
-
다운로드Array
-
-
3:36 - Main Camera Feed Access Example
// Main Camera Feed Access Example let formats = CameraVideoFormat.supportedVideoFormats(for: .main, cameraPositions:[.left]) let cameraFrameProvider = CameraFrameProvider() var arKitSession = ARKitSession() var pixelBuffer: CVPixelBuffer? await arKitSession.queryAuthorization(for: [.cameraAccess]) do { try await arKitSession.run([cameraFrameProvider]) } catch { return } guard let cameraFrameUpdates = cameraFrameProvider.cameraFrameUpdates(for: formats[0]) else { return } for await cameraFrame in cameraFrameUpdates { guard let mainCameraSample = cameraFrame.sample(for: .left) else { continue } self.pixelBuffer = mainCameraSample.pixelBuffer }
-
7:47 - Spatial barcode & QR code scanning example
// Spatial barcode & QR code scanning example await arkitSession.queryAuthorization(for: [.worldSensing]) let barcodeDetection = BarcodeDetectionProvider(symbologies: [.code39, .qr, .upce]) do { try await arkitSession.run([barcodeDetection]) } catch { return } for await anchorUpdate in barcodeDetection.anchorUpdates { switch anchorUpdate.event { case .added: // Call our app method to add a box around a new barcode addEntity(for: anchorUpdate.anchor) case .updated: // Call our app method to move a barcode's box updateEntity(for: anchorUpdate.anchor) case .removed: // Call our app method to remove a barcode's box removeEntity(for: anchorUpdate.anchor) } }
-
13:17 - Apple Neural Engine access example
// Apple Neural Engine access example let availableComputeDevices = MLModel.availableComputeDevices for computeDevice in availableComputeDevices { switch computeDevice { case .cpu: setCpuEnabledForML(true) // Example method name case .gpu: setGpuEnabledForML(true) // Example method name case .neuralEngine: runMyMLModelWithNeuralEngineAvailable() // Example method name default: continue } }
-
15:39 - Object tracking enhancements example
// Object tracking enhancements example var trackingParameters = ObjectTrackingProvider.TrackingConfiguration() // Increasing our maximum items tracked from 10 to 15 trackingParameters.maximumTrackableInstances = 15 // Leaving all our other parameters at their defaults trackingParameters.maximumInstancesPerReferenceObject = 1 trackingParameters.detectionRate = 2.0 trackingParameters.stationaryObjectTrackingRate = 5.0 trackingParameters.movingObjectTrackingRate = 5.0 let objectTracking = ObjectTrackingProvider( referenceObjects: Array(referenceObjectDictionary.values), trackingConfiguration: trackingParameters) var arkitSession = ARKitSession() arkitSession.run([objectTracking])
-
-
찾고 계신 콘텐츠가 있나요? 위에 주제를 입력하고 원하는 내용을 바로 검색해 보세요.
쿼리를 제출하는 중에 오류가 발생했습니다. 인터넷 연결을 확인하고 다시 시도해 주세요.