paint-brush
Phát triển VisionOS: Mẹo và thủ thuật để xây dựng ứng dụng Apple Vision Protừ tác giả@dvaluev
2,877 lượt đọc
2,877 lượt đọc

Phát triển VisionOS: Mẹo và thủ thuật để xây dựng ứng dụng Apple Vision Pro

từ tác giả Dmitrii Valuev4m2024/04/15
Read on Terminal Reader

dài quá đọc không nổi

Vision Pro là phiên bản mới của hệ điều hành thực tế ảo của Apple. Nó cho phép người dùng tương tác với thế giới ảo của họ một cách sống động hơn. Dưới đây là một số mẹo và thủ thuật để giúp bạn tạo ứng dụng của riêng mình. Sử dụng những mẹo này để làm cho ứng dụng của bạn khác biệt đáng kể so với phần còn lại của VisionOS.
featured image - Phát triển VisionOS: Mẹo và thủ thuật để xây dựng ứng dụng Apple Vision Pro
Dmitrii Valuev HackerNoon profile picture
0-item
1-item
2-item
3-item


Gần đây, Apple đã phát hành Vision Pro và tôi thật may mắn khi trở thành chủ sở hữu đầy tự hào của nó. Kể từ đó, tôi đã tham gia sâu vào việc phát triển ứng dụng của mình và khám phá nhiều ứng dụng cũng như xu hướng khác nhau trong Vision Pro App Store.


Một điều thu hút sự chú ý của tôi là các ứng dụng mới ra mắt hàng ngày nhưng chỉ một số ứng dụng phù hợp với trải nghiệm thực tế ảo sống động. Tôi đoán nhiều nhà phát triển gặp khó khăn trong việc tìm tài liệu và ví dụ về các tính năng của Vision Pro. Tuy nhiên, việc sử dụng các khả năng của Vision Pro có thể làm nổi bật ứng dụng của bạn và cung cấp cho người dùng trải nghiệm nâng cao.


Trong bài viết này, tôi sẽ chia sẻ một số mẹo và thủ thuật mà tôi đã khám phá được khi tạo ứng dụng của mình. Những mẹo này không chỉ giúp ứng dụng của bạn nổi bật mà còn đảm bảo khả năng tích hợp liền mạch và cảm giác nguyên bản trong VisionOS.


Hiệu ứng xung quanh tối

Tôi chắc rằng bạn đã nhận thấy rằng khi xem video hoặc ảnh, nền phía sau cửa sổ bị tối đi, trong cài đặt nó được gọi là "tự động làm mờ". Để có được hiệu ứng tương tự, bạn cần sử dụng .preferredSurroundingsEffect(.systemDark) trên chế độ xem của mình, sau đó không gian xung quanh người dùng sẽ tối đi và cửa sổ của bạn vẫn sáng, điều này sẽ giúp tập trung vào nội dung.


Hệ thốngHiệu ứng tối


Dòng điều khiển cửa sổ ẩn

Khi xem video hoặc nội dung, bạn muốn người dùng không bị phân tâm và tạo hiệu ứng cửa sổ lơ lửng trong không trung, vì điều này Apple đã cung cấp cho chúng ta khả năng ẩn thanh dưới cùng của cửa sổ dùng để di chuyển hoặc đóng cửa sổ hiện tại. Với .persistentSystemOverlays(.hidden) bạn có thể ẩn thanh điều khiển này trên cửa sổ của mình, nó sẽ biến mất cùng với hoạt ảnh mặc định và chỉ xuất hiện khi người dùng tương tác với cửa sổ.


Thanh cửa sổ ẩn

Hiệu ứng phản chiếu video

Nếu mở ứng dụng Apple TV tiêu chuẩn và bật phim, bạn sẽ nhận thấy cửa sổ phim có hình ảnh phản chiếu thay đổi theo từng khung hình, mang lại hiệu ứng sống động hơn. Để có được hiệu ứng phát sáng xung quanh video của mình, bạn cần sử dụng VideoPlayerComponent và bật isPassthroughTintingEnabled , khi đó hiệu ứng sẽ giống như trong Apple TV hoặc HBO Max. Đây là những gì tài liệu nói:


Điều này nhằm cho phép pha màu chuyển tiếp trong khi phát lại video hiển thị xung quanh video, lấy màu trung bình của khung hình và pha màu chuyển tiếp bằng màu đó để nhấn mạnh video.


Hiệu ứng phản chiếu

Thay đổi kích thước cửa sổ

Bạn có thể muốn ngăn người dùng thay đổi kích thước cửa sổ, có một cách để làm điều đó:

 onAppear { guard let windowScene = UIApplication.shared.connectedScenes.first as?UIWindowScene else { return } windowScene.requestGeometryUpdate(.Vision(resizingRestrictions: UIWindowScene.ResizingRestrictions.none)) }


Bạn cũng có thể chỉ định cài đặt kích thước bổ sung trong phương thức này. Chữ ký đầy đủ của phương thức trông như thế này:

 windowScene.requestGeometryUpdate(.Vision(size:, minimumSize:, maximumSize:, resizingRestrictions:))


Tầm nhìn bàn tay

Nếu ứng dụng của bạn sử dụng không gian sống động và bạn không muốn người dùng nhìn thấy bàn tay của họ hoặc bạn muốn thay thế chúng bằng bàn tay ảo, như được thực hiện trong AmazeVR, thì bạn cần sử dụng .upperLimbVisibility(.hidden)


.upperLimbVisibility(.hidden)


.upperLimbVisibility(.visible)


Vật trang trí

Tôi chắc rằng bạn đã từng thấy các thanh bên trong ứng dụng VisionOS trông giống như TabBars . Apple đã giới thiệu phương pháp View mới cho VisionOS cho phép bạn "mở rộng" cửa sổ và thêm đồ trang trí ở hai bên của nó.


 .ornament( visibility: .visible, attachmentAnchor: .scene(.bottom), contentAlignment: .center ) { HStack { Button("Play", systemImage: "play.fill") { } Button("Stop", systemImage: "stop.fill") { } } .labelStyle(.iconOnly) .padding(.all) .glassBackgroundEffect() } 


Trang trí phía dưới

Vị trí cốt lõi

Một sự thật thú vị mà tôi có thể xác minh bằng thực nghiệm là các phương pháp của CMMotionManager chỉ hoạt động trong không gian chìm đắm chứ không hoạt động ở chế độ xem cửa sổ thông thường.


Phần kết luận

VisionOS cung cấp nhiều công cụ để tạo ra các ứng dụng phong phú đưa người dùng vào thế giới ảo và khiến họ cảm thấy mình là một phần của thế giới đó. Mặc dù ngày càng có nhiều ứng dụng được phát hành cho Vision Pro nhưng chỉ một số ít sử dụng đầy đủ các tính năng của nó. Đó là lúc cơ hội để bạn phân biệt xuất hiện - hãy sử dụng chúng và tận dụng lợi thế. Thật không may, các nhà phát triển gặp khó khăn trong việc tìm kiếm tài liệu và ví dụ dễ tiếp cận. Đó là lý do tại sao tôi viết bài viết này. Tôi hy vọng lời khuyên của tôi sẽ giúp bạn làm cho ứng dụng của bạn tốt hơn.