Hướng dẫn dành cho nhà phát triển tính năng Ước tính ánh sáng cho Unity

Tìm hiểu cách sử dụng tính năng Ước tính ánh sáng trong các ứng dụng của riêng bạn.

Điều kiện tiên quyết

Đảm bảo bạn nắm được các khái niệm cơ bản về thực tế tăng cường và cách định cấu hình phiên ARCore trước khi tiếp tục.

Ngoài ra, bạn phải cài đặt và định cấu hình Unity bằng SDK ARCore cho Unity 1.10.0 trở lên. Nếu không, hãy xem Unity Quickstart dành cho Android của Unity.

Xây dựng và chạy ứng dụng mẫu

Kể từ SDK ARCore cho Unity 1.10, mẫu HelloAR cho Unity sẽ bật Môi trường HDR có Chế độ phản chiếu (EnvironmentalHDRWithReflections) theo mặc định.

  1. Tạo một dự án mới trong Unity dựa trên quickstart.

  2. Trong Build Settings > Scenes in Build (Cài đặt bản dựng > Cảnh trong bản dựng) chỉ định cảnh từ Assets/GoogleARCore/Examples/HelloAR/Scenes/HelloAR.unity.

  3. Đảm bảo thiết bị đã kết nối với máy của bạn, sau đó nhấp vào Build and Run (Tạo và chạy). Unity xây dựng dự án của bạn thành một APK Android, cài đặt dự án đó trên thiết bị và khởi chạy dự án đó.

    1. Tìm một địa điểm có nhiều lớp chiếu sáng và bóng trong một cảnh.

    2. Di chuyển thiết bị để xác định mặt phẳng cho vị trí. Khi bạn di chuyển thiết bị, ứng dụng sẽ tự động phát hiện các bề mặt phẳng và vẽ một lưới kim cương.

    3. Nhấn vào lưới để đặt rô-bốt Android lên bề mặt.

      Hãy lưu ý đến các điểm đánh dấu cụ thể, bóng và ánh sáng xung quanh kết xuất trên mô hình.

    4. Hãy thử thêm các rô-bốt Android mới ở nhiều phần của cảnh. Hãy lưu ý cách mỗi mô hình tuân thủ ánh sáng theo một cách khác nhau.

Định cấu hình ước tính ánh sáng trong cảnh của bạn

Bạn có thể định cấu hình Unity để chọn trong hai chế độ HDR trong môi trường hoặc chế độ Cường độ môi trường xung quanh. Sau khi bạn đặt chế độ ước tính ánh sáng, hãy thêm môi trường Ánh sáng môi trường vào cảnh của bạn. Prefab này sẽ tự động áp dụng ước tính ánh sáng ARCore trong cảnh của bạn.

  • Khi bạn đặt Chế độ ước tính ánh sáng thành Môi trường HDR (có hoặc không phản chiếu), thành phần Môi trường ánh sáng sẽ cập nhật chế độ xoay và màu của ánh sáng định hướng, đầu dò môi trường xung quanh (thông qua RenderSettings.ambientProbe) và đầu dò phản chiếu (thông qua RenderSettings.customReflection).

  • Khi bạn đặt Chế độ ước tính ánh sáng thành Cường độ môi trường xung quanh, thành phần Ánh sáng môi trường sẽ đặt thuộc tính _GlobalLightEstimation được sử dụng trong ARCore/DiffuseWithLightEstimationARCore/SpecularWithLightEstimation và các chương trình đổ bóng tuỳ chỉnh khác để điều chỉnh đầu ra màu cuối cùng cho phù hợp với màu của hình ảnh máy ảnh.

Bạn cũng có thể tắt ước tính ánh sáng.

Để định cấu hình Ước tính ánh sáng cho các dự án mới hoặc hiện có:

  1. Mở một dự án Unity hiện có.

    Nếu không, hãy tạo dự án Unity mới, sau đó thực hiện một trong các bước sau:

    • Nhập ARCore cho Unity SDK: Chọn Assets > Import Package > Custom Package (Thành phần > Nhập gói > Gói tuỳ chỉnh), sau đó nhập arcore-unity-sdk*.unitypackage với tất cả tuỳ chọn đang bật.

    • Tạo cấu hình phiên mới: Chọn Assets > Create > Google ARCore > SessionConfig.

  2. Nếu bạn đang làm việc trong một dự án Unity mới, hãy định cấu hình các thành phần tích hợp ARCore:

    1. Từ thư mục Project (Dự án), hãy kéo các thành phần ARCore DeviceEnvironment Light vào các phân cấp để thêm các thành phần đó dưới dạng GameObjects.

    2. Các mẫu bánh xe bạn vừa nhập đã có máy ảnh và ánh sáng định hướng. Xoá máy ảnh mặc định và GameObjects ánh sáng định hướng mặc định khỏi gốc của cùng một hệ phân cấp.

      Lúc này, hệ thống phân cấp của bạn sẽ có dạng như sau:

  3. Chọn chế độ Ước tính ánh sáng trong cấu hình phiên:

    1. Trong hệ thống phân cấp dự án, hãy nhấp vào GameObject ARCore Device, sau đó nhấp đúp vào cấu hình phiên.

    2. Trong Cấu hình kiểm tra cấu hình phiên, hãy nhấp vào trình đơn thả xuống Chế độ ước tính ánh sáng và chọn chế độ bạn muốn (hoặc tắt hoàn toàn tính năng ước tính ánh sáng).

      (Tuỳ chọn mặc định cho các dự án mới là Môi trường HDR có tính năng phản chiếu.)

  4. Chọn chương trình đổ bóng phù hợp với chế độ Ước tính ánh sáng:

    • Nếu muốn sử dụng chế độ Môi trường HDR, bạn chỉ cần sử dụng chương trình đổ bóng Thiết bị di động tích hợp Unity hoặc Chương trình đổ bóng chuẩn.

    • Nếu muốn sử dụng chế độ Cường độ môi trường xung quanh, bạn sẽ cần sử dụng chương trình đổ bóng tuỳ chỉnh áp dụng thuật ngữ _GlobalLightEstimation trong đầu ra màu cuối cùng để hiển thị đối tượng ảo. Hãy xem các chương trình đổ bóng ARCore/DiffuseWithLightEstimationARCore/SpecularWithLightEstimation để tham khảo.

Điều chỉnh chất lượng bóng

Khi sử dụng chương trình đổ bóng ARCore/TransparentShadow có trong SDK ARCore cho Unity, bạn nên bắt đầu với các chế độ Cài đặt chất lượng sau:

Thuộc tính Chế độ cài đặt
Bóng Bóng và bóng mềm
Độ phân giải bóng Độ phân giải cao
Chiếu bóng Đóng Fit
Khoảng cách với bóng 20
Chế độ che mặt nạ Mặt nạ bóng khoảng cách
Bóng gần độ lệch máy bay 0
Thác nước đổ bóng Không có thác nước