7 điểm bởi GN⁺ 2025-04-24 | 4 bình luận | Chia sẻ qua WhatsApp
  • 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

 
bobross0 2025-04-29

Godot là gì vậy?

 
ethanhur 2025-04-24

Godot sắp bay cao luôn à haha

 
2ss2ss 2025-04-24

Tự nhiên Godot luôn à...?!

 
GN⁺ 2025-04-24
Ý 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

    • Bản thân Apple Vision Pro không phải là một sản phẩm thành công, nhưng những tiến bộ trong công nghệ hiển thị sẽ cho phép Apple tạo ra một sản phẩm tiêu dùng hấp dẫn hơn dưới dạng kính AR nhẹ, thoải mái và ít gây chú ý
    • Nếu nhìn vào dòng sản phẩm dài hạn thay vì chỉ tập trung vào thất bại của AVP, thì việc thêm HĐH này vào Godot là điều có ý nghĩa
    • Lo ngại về việc ai sẽ gánh vác gánh nặng bảo trì là hợp lý. Apple trước nay không phải công ty phản hồi nhanh nhất với các lỗi hay vấn đề API mơ hồ (ví dụ: liên quan đến Cocoa). Việc phụ thuộc vào sự hỗ trợ liên tục từ một tập đoàn công nghệ lớn có thể đổi mục tiêu bất cứ lúc nào là điều đáng thận trọng
    • Dù vậy, điều này vẫn thú vị
  • Godot đã hỗ trợ VR thông qua OpenXR

    • OpenXR là tiêu chuẩn ngành do Khronos duy trì cho các thiết bị VR/AR, được SteamVR, Oculus, Vive, Pico, Windows Mixed Reality và Quest hỗ trợ
    • visionOS/Vision Pro vắng mặt một cách đáng chú ý
    • Apple nên tuân theo tiêu chuẩn ngành. Cách đó mở rộng tốt hơn và cởi mở hơn
  • 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 nối từ trình kết xuất Metal sang bộ tổng hợp AR không phải là quá nhiều việc. Tài liệu về Compositor Services của visionOS còn thiếu, nhưng có một API C khá tốt. Có vẻ điều này sẽ không trở thành gánh nặng bảo trì lớn, nhưng cần được tài trợ vài chiếc headset vì trên simulator, lần khuếch đại đỉnh thứ hai không chạy. Số luồng tối đa trên mỗi threadgroup cũng khác nhau. Cần phần cứng thật để đo hiệu năng
  • 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

    • Họ thậm chí cũng không nêu vấn đề trước
  • 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à:

    1. Trả tiền cho Godot
    2. Triển khai hỗ trợ visionOS qua extension thay vì triển khai trực tiếp vào core, hoặc tuân theo tiêu chuẩn ngành OpenXR
  • 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 đề