Yakın zamanda Apple Vision Pro'yu piyasaya sürdü ve ben de bu ürünün gururlu bir sahibi olacak kadar şanslıydım. O zamandan beri, uygulamamı geliştirmeye ve Vision Pro App Store'daki çeşitli uygulamaları ve trendleri keşfetmeye yoğun bir şekilde odaklandım.
Dikkatimi çeken şeylerden biri de her gün yeni uygulamaların çıkmasıydı, ancak yalnızca birkaçı sürükleyici sanal gerçeklik deneyimine iyi uyuyordu. Sanırım birçok geliştirici Vision Pro özelliklerine ilişkin belge ve örnekler bulmakta zorlanıyor. Ancak Vision Pro'nun yeteneklerini kullanmak uygulamanızı farklı kılabilir ve kullanıcılara gelişmiş bir deneyim sunabilir.
Bu makalede, uygulamamı hazırlarken keşfettiğim bazı ipuçlarını ve püf noktalarını paylaşacağım. Bu ipuçları yalnızca uygulamanızın öne çıkmasına yardımcı olmakla kalmayacak, aynı zamanda VisionOS içinde kusursuz entegrasyonunu ve yerel hissini de sağlayacaktır.
Eminim bir video veya fotoğraf görüntülerken pencerenin arkasındaki arka planın karartıldığını fark etmişsinizdir, ayarlarda buna "otomatik karartma" adı verilmektedir. Aynı efekti elde etmek için görünümünüzde .preferredSurroundingsEffect(.systemDark)
kullanmanız gerekir; ardından kullanıcının etrafındaki alan kararır ve pencereniz parlak kalır, bu, içeriğe odaklanmaya yardımcı olacaktır.
Bir videoyu veya içeriği görüntülerken kullanıcının dikkatinin dağılmamasını ve havada yüzen bir pencere efekti yaratmasını istiyorsunuz, çünkü Apple bize bu özelliği taşımak veya kapatmak için kullanılan pencerenin alt çubuğunu gizleme yeteneği verdi. geçerli pencere. .persistentSystemOverlays(.hidden)
ile bu kontrol çubuğunu pencerenizde gizleyebilirsiniz, varsayılan animasyonla birlikte kaybolur ve yalnızca kullanıcı pencereyle etkileşimde bulunduğunda görünür.
Standart Apple TV uygulamasını açıp bir filmi açarsanız, film penceresinin her karede değişen ve daha sürükleyici bir etki veren bir yansımaya sahip olduğunu fark edeceksiniz. Videonuzun etrafında bir parıltı efekti elde etmek için VideoPlayerComponent
kullanmanız ve isPassthroughTintingEnabled
etkinleştirmeniz gerekir, ardından efekt Apple TV veya HBO Max'teki ile aynı olacaktır. İşte belgelerin söylediği:
Bu, video oynatımı sırasında videonun etrafında beliren, çerçevenin ortalama rengini alan ve videoyu vurgulamak için geçişi bu renkle renklendiren geçiş renklendirmeyi etkinleştirmek içindir.
Kullanıcının pencereyi yeniden boyutlandırmasını engellemek isteyebilirsiniz; bunu yapmanın bir yolu vardır:
onAppear { guard let windowScene = UIApplication.shared.connectedScenes.first as?UIWindowScene else { return } windowScene.requestGeometryUpdate(.Vision(resizingRestrictions: UIWindowScene.ResizingRestrictions.none)) }
Bu yöntemde ek boyut ayarlarını da belirtebilirsiniz. Yöntemin tam imzası şu şekilde görünür:
windowScene.requestGeometryUpdate(.Vision(size:, minimumSize:, maximumSize:, resizingRestrictions:))
Uygulamanız sürükleyici alan kullanıyorsa ve kullanıcının ellerini görmesini istemiyorsanız veya AmazeVR'de yapıldığı gibi sanal ellerle değiştirmek istiyorsanız .upperLimbVisibility(.hidden)
kullanmanız gerekir.
Eminim VisionOS uygulamalarında TabBars
benzeyen kenar çubukları görmüşsünüzdür. Apple, VisionOS için pencereyi "genişletmenize" ve her iki tarafına da süsler eklemenize olanak tanıyan yeni bir View
yöntemi sundu.
.ornament( visibility: .visible, attachmentAnchor: .scene(.bottom), contentAlignment: .center ) { HStack { Button("Play", systemImage: "play.fill") { } Button("Stop", systemImage: "stop.fill") { } } .labelStyle(.iconOnly) .padding(.all) .glassBackgroundEffect() }
Deneysel olarak doğrulayabildiğim ilginç bir gerçek, CMMotionManager'ın yöntemlerinin normal pencere görünümünde değil, yalnızca sürükleyici alanda çalıştığıdır.
VisionOS, kullanıcıları sanal dünyaya getiren ve kendilerini bu dünyanın bir parçası gibi hissetmelerini sağlayan sürükleyici uygulamalar oluşturmak için birçok araç sağlar. Vision Pro için giderek daha fazla uygulama yayınlanırken, yalnızca birkaçı tüm özelliklerinden yararlanıyor. İşte burada ayırt etme şansınız devreye giriyor; bunları kullanın ve avantajlardan yararlanın. Ne yazık ki geliştiriciler kolayca erişilebilen belgeler ve örnekler bulmakta zorlanıyor. Bu yüzden bu makaleyi yazıyorum. Umarım ipuçlarım başvurunuzu daha iyi hale getirmenize yardımcı olur.