최근 Apple 에서 Vision Pro를 출시했는데, 저는 운 좋게도 자랑스러운 소유자가 되었습니다. 그 이후로 저는 Vision Pro App Store 내에서 애플리케이션을 개발하고 다양한 앱과 트렌드를 탐색하는 데 깊이 참여해 왔습니다.
내 관심을 끌었던 것 중 하나는 매일 새로운 앱이 나오고 있지만 몰입형 가상 현실 경험에 잘 맞는 앱은 소수에 불과하다는 것입니다. 많은 개발자들이 Vision Pro 기능에 대한 문서와 예제를 찾는 데 어려움을 겪고 있는 것 같습니다. 그러나 Vision Pro의 기능을 활용하면 애플리케이션을 차별화하고 사용자에게 향상된 경험을 제공할 수 있습니다.
이 글에서는 제가 지원서를 작성하면서 발견한 몇 가지 팁과 요령을 공유하겠습니다. 이러한 팁은 애플리케이션을 돋보이게 할 뿐만 아니라 VisionOS 내에서 원활한 통합과 기본 느낌을 보장하는 데 도움이 됩니다.
비디오나 사진을 볼 때 창 뒤의 배경이 어두워지는 것을 눈치채셨을 것입니다. 설정에서는 이를 "자동 밝기 조절"이라고 합니다. 동일한 효과를 얻으려면 뷰에서 .preferredSurroundingsEffect(.systemDark)
사용해야 합니다. 그러면 사용자 주변 공간이 어두워지고 창은 밝게 유지됩니다. 이렇게 하면 콘텐츠에 집중하는 데 도움이 됩니다.
비디오나 콘텐츠를 볼 때 사용자가 주의를 산만하게 하지 않고 창이 공중에 떠 있는 효과를 만들기를 원할 것입니다. 이에 대해 Apple에서는 이동하거나 닫는 데 사용되는 창의 하단 표시줄을 숨길 수 있는 기능을 제공했습니다. 현재 창. .persistentSystemOverlays(.hidden)
사용하면 창에서 이 컨트롤 막대를 숨길 수 있습니다. 이는 기본 애니메이션과 함께 사라지고 사용자가 창과 상호 작용할 때만 나타납니다.
표준 Apple TV 응용 프로그램을 열고 영화를 켜면 영화 창에 각 프레임마다 변경되는 반사가 있어 더욱 몰입감 있는 효과를 제공하는 것을 볼 수 있습니다. 비디오 주위에 글로우 효과를 얻으려면 VideoPlayerComponent
사용하고 isPassthroughTintingEnabled
활성화해야 합니다. 그러면 효과는 Apple TV 또는 HBO Max에서와 동일합니다. 문서에 나와 있는 내용은 다음과 같습니다.
이는 비디오 재생 중 프레임의 평균 색상을 사용하여 비디오 주변에 나타나는 패스스루 색조를 활성화하고 해당 색상으로 패스스루에 색조를 주어 비디오를 강조하는 것입니다.
사용자가 창 크기를 조정하지 못하도록 방지할 수 있는 방법이 있습니다.
onAppear { guard let windowScene = UIApplication.shared.connectedScenes.first as?UIWindowScene else { return } windowScene.requestGeometryUpdate(.Vision(resizingRestrictions: UIWindowScene.ResizingRestrictions.none)) }
이 메소드에서 추가 크기 설정을 지정할 수도 있습니다. 메소드의 전체 서명은 다음과 같습니다.
windowScene.requestGeometryUpdate(.Vision(size:, minimumSize:, maximumSize:, resizingRestrictions:))
애플리케이션이 몰입형 공간을 사용하고 사용자에게 손을 표시하지 않기를 원하거나 AmazeVR에서 수행되는 것처럼 손을 가상 손으로 대체하려는 경우 .upperLimbVisibility(.hidden)
사용해야 합니다.
VisionOS 애플리케이션에서 TabBars
처럼 보이는 사이드바를 본 적이 있을 것입니다. Apple은 창을 "확장"하고 창 양쪽에 장식을 추가할 수 있는 VisionOS용 새로운 View
방법을 도입했습니다.
.ornament( visibility: .visible, attachmentAnchor: .scene(.bottom), contentAlignment: .center ) { HStack { Button("Play", systemImage: "play.fill") { } Button("Stop", systemImage: "stop.fill") { } } .labelStyle(.iconOnly) .padding(.all) .glassBackgroundEffect() }
실험적으로 확인할 수 있었던 흥미로운 사실은 CMMotionManager의 메서드가 몰입형 공간에서만 작동하고 일반 창 보기에서는 작동하지 않는다는 것입니다.
VisionOS는 사용자를 가상 세계로 안내하고 그 세계에 속해 있다는 느낌을 주는 몰입형 애플리케이션을 만드는 데 필요한 다양한 도구를 제공합니다. Vision Pro를 위해 점점 더 많은 애플리케이션이 출시되고 있지만 전체 기능을 활용하는 애플리케이션은 소수에 불과합니다. 이것이 바로 구별할 수 있는 기회가 들어오는 곳입니다. 이를 사용하고 활용하십시오. 불행하게도 개발자들은 쉽게 접근할 수 있는 문서와 예제를 찾는데 어려움을 겪고 있습니다. 이것이 내가 이 글을 쓰는 이유다. 내 팁이 귀하의 지원서를 더 좋게 만드는 데 도움이 되기를 바랍니다.