- Nhóm visionOS của Apple đã gửi PR đầu tiên nhằm bổ sung hỗ trợ Vision Pro cho engine Godot
- Mục tiêu ban đầu là cho phép chạy native các game Godot hiện có trên visionOS và hỗ trợ tạo nội dung nhập vai
- Triển khai nền tảng visionOS dựa trên iOS và nhấn mạnh khả năng tái sử dụng mã cùng chiến lược PR có cấu trúc
- Đã hoàn tất kiểm thử các tính năng liên quan đến iOS/visionOS, nhưng một số tính năng vẫn cần sự hỗ trợ từ cộng đồng
- Trong các PR tiếp theo sẽ bổ sung SwiftUI và VR Plugin, đặt nền móng để mở rộng trải nghiệm nhập vai
Tổng quan về PR đóng góp đầu tiên cho hỗ trợ Vision Pro
- Nhóm kỹ sư visionOS của Apple muốn hợp tác với cộng đồng Godot để hỗ trợ Vision Pro
- Duy trì tiêu chuẩn chất lượng cao và tuân theo phong cách mã hóa của Godot
- Họ đang chia thành các PR nhỏ, độc lập theo từng chức năng để gửi lên, và đây là PR đầu tiên
- Trong các PR sau, các tính năng Swift và VR nhập vai cũng sẽ lần lượt được cung cấp
Mục tiêu đóng góp
- Hỗ trợ để các game Godot hiện tại có thể chạy native trong cửa sổ phẳng của visionOS
- Cung cấp tính năng tạo nội dung nhập vai thông qua visionOS VR Plugin mới
- Kế hoạch đóng góp được chia thành tổng cộng ba giai đoạn
- Bổ sung nền tảng visionOS (PR hiện tại)
- Bổ sung vòng đời ứng dụng SwiftUI cùng tính năng biên dịch/liên kết Swift (sắp tới)
- Bổ sung plugin VR cho Vision Pro (sắp tới)
Các điểm triển khai kỹ thuật
- Nền tảng visionOS được triển khai dựa trên iOS để giảm thiểu trùng lặp mã
- Tạo mới thư mục
drivers/apple_embedded để lưu mã dùng chung giữa iOS và visionOS
- Mỗi nền tảng được phân biệt bằng subclass chỉ cung cấp các chi tiết chức năng riêng
- Không hỗ trợ OpenGL (bản thân visionOS không hỗ trợ OpenGL)
- PR được chia thành nhiều commit để dễ review
Các cân nhắc liên quan đến tài liệu hóa
- Phần lớn plugin xuất bản và thiết lập của iOS và visionOS là dùng chung
- Đổi tên file
EditorExportPlatformIOS.xml thành EditorExportPlatformAppleEmbedded.xml và di chuyển vị trí
- Nhóm phát triển đang xin phản hồi từ cộng đồng về việc liệu điều này có phù hợp dưới góc độ công cụ tài liệu hóa hay không, cũng như cách tách tài liệu theo từng nền tảng
Tình hình kiểm thử
- Đã tiến hành kiểm thử bằng dự án demo Platformer
- Đã hoàn tất kiểm thử renderer Mobile/Forward+ dựa trên driver render Metal trên cả iOS và visionOS
- Hỗ trợ iOS vẫn được giữ nguyên, đồng thời đã chạy thành công trên visionOS
Những điểm mong cộng đồng hỗ trợ
- Cần kiểm thử xem tính năng nhúng và liên kết plugin trong template iOS/visionOS có hoạt động tốt hay không
- Tính năng tạo IPA và One-Click-Deploy hiện không hoạt động — mong cộng đồng phân tích nguyên nhân và xác nhận tình trạng hoạt động
- Cũng cần kiểm thử tính năng triển khai trực tiếp qua ios_deploy — nếu người dùng không còn nhiều thì có thể loại bỏ phần mã này
Các tính năng chưa được triển khai
- Thông tin DPI hiện đang bị hardcode — khi tích hợp SwiftUI, dự kiến sẽ phản ánh thông tin thay đổi lúc chạy thông qua API
- Chưa triển khai tính năng tự động tạo icon asset catalog cho visionOS
- Có thể thay thế bằng cách tạo thủ công trong dự án Xcode
- Nếu cộng đồng có thể đóng góp thì sẽ rất được hoan nghênh
- Logo SVG của nền tảng visionOS hiện là dạng văn bản — mong có đóng góp về icon đẹp mắt hơn
4 bình luận
Godot là gì vậy?
Godot sắp bay cao luôn à haha
Tự nhiên Godot luôn à...?!
Ý kiến trên Hacker News
Dòng sản phẩm Apple Vision và visionOS chưa bị hủy nội bộ, và Apple vẫn còn cam kết với tương lai
Godot đã hỗ trợ VR thông qua OpenXR
Hai người dùng visionOS vui mừng về thông báo này
Thật tốt khi thấy phần bổ sung này. Chưa rõ liệu sẽ tốt hơn nếu Godot nối OpenXR vào bộ tổng hợp AR của Apple, hay làm theo cách các PR này đã triển khai
Việc Apple gửi PR này mà hoàn toàn không đóng góp gì cho quỹ phát triển là điều đáng ngạc nhiên
Từ mọi thứ nghe được trên truyền thông, có cảm giác Apple gần như đã từ bỏ sản phẩm XR và sẽ giữ nó trên máy thở cho đến khi công nghệ sẵn sàng cho tiêu dùng đại chúng
Sau khi đọc nhiều bình luận, điều Apple nên làm là:
Apple nên trả tiền để Godot có thể khởi đầu bài bản
Điều thú vị ở đây là Apple cuối cùng cũng đã học được rằng game là quan trọng. Tất nhiên, họ sẽ không thừa nhận điều đó với thái độ kiểu "chúng tôi không bao giờ sai". Giống như việc làm ra một con chuột không có hai nút vật lý để giữ triết lý ban đầu của Mac rằng "chuột nên có một nút". Họ đang học hỏi, và lần này là tự nguyện, không như USB-C trên điện thoại/máy tính bảng của họ
Có vẻ Apple có thể sẽ ưu tiên game cho thiết bị Vision thế hệ tiếp theo. Hy vọng là vậy, vì nhiều người, trong đó có tôi, đã bỏ qua Vision do không có hỗ trợ game. Giá cả không phải vấn đề