paint-brush
VisionOS Development: Apple Vision Pro Uygulamaları Geliştirmeye İlişkin İpuçları ve Püf Noktalarıile@dvaluev
2,880 okumalar
2,880 okumalar

VisionOS Development: Apple Vision Pro Uygulamaları Geliştirmeye İlişkin İpuçları ve Püf Noktaları

ile Dmitrii Valuev4m2024/04/15
Read on Terminal Reader

Çok uzun; Okumak

Vision Pro, Apple'ın sanal gerçeklik işletim sisteminin yeni bir sürümüdür. Kullanıcıların sanal dünyalarıyla daha sürükleyici bir şekilde etkileşime girmelerine olanak tanır. İşte kendi başvurunuzu yapmanıza yardımcı olacak bazı ipuçları ve püf noktaları. Uygulamanızı VisionOS'un geri kalanından önemli ölçüde farklı kılmak için bu ipuçlarını kullanın.
featured image - VisionOS Development: Apple Vision Pro Uygulamaları Geliştirmeye İlişkin İpuçları ve Püf Noktaları
Dmitrii Valuev HackerNoon profile picture
0-item
1-item
2-item
3-item


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.


Karanlık Çevre Etkisi

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.


SystemDark efekti


Gizli Pencere Kontrolleri Satı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.


Gizli pencere çubuğu

Video Yansıma Efekti

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.


Yansıma efekti

Pencereyi Yeniden Boyutlandırma

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:))


Ellerin Görünürlüğü

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.


.upperLimbVisibility(.hidden)


.upperLimbVisibility(.visible)


Süs

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() } 


Alt süsleme

Çekirdek konumu

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.


Çözüm

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.