Tài liệu
Tối ưu và build
Làm NanoGeo nhanh hơn với thiết lập bóng đổ, occlusion culling, software rasterizer và bộ nhớ video, rồi build game Unity của bạn.
Làm cho nhanh hơn
Bóng đổ
Bóng đổ thường là chi phí lớn nhất, vì một đèn directional vẽ nhiều cascade. Hãy tăng Shadow Error Multiplier, dùng Shadow Min Lod Level trên các đối tượng không cần bóng chi tiết, hoặc với HDRP hãy để đèn tĩnh cập nhật bóng theo yêu cầu (cached shadows).
Occlusion culling
Camera bỏ qua các phần NanoGeo bị che sau các đối tượng NanoGeo khác. Nó kiểm tra hai lần mỗi khung hình, nên không có gì bị hiện đột ngột khi camera xoay nhanh. Chỉ đối tượng NanoGeo che được đối tượng khác; MeshRenderer thông thường thì không. Trong script: NanoGeoOcclusion.enabled, hoặc NanoGeoOcclusion.SetEnabled(camera, false) cho một camera.
Software rasterizer
Trên thiết bị Đầy đủ, các phần rất nhỏ được vẽ bằng compute shader, nhanh hơn với tam giác nhỏ xíu. Kết quả trông giống nhau. Trong script: NanoGeoSoftwareRaster.enabled và NanoGeoSoftwareRaster.SetEnabled(camera, value). Tools > NanoGeo > Benchmarks > Raster Modes (Main Camera) cho thấy nó mang lại gì trong scene của bạn.
Bộ nhớ video
Thiết lập toàn cục nằm ở Runtime/Resources/RoamMoon.NanoGeo/NanoGeoRuntimeResources.asset. Kích thước buffer ở đó khá rộng rãi và dùng vài trăm megabyte. Bạn có thể hạ xuống; nếu quá nhỏ, cửa sổ NanoGeo hiện cảnh báo.
Với thế giới rất lớn, hãy đặt Streaming Budget MB, ví dụ 256. Khi đó chỉ các mức đơn giản luôn nằm trong bộ nhớ video và chi tiết mịn hơn được tải khi camera đến gần. Streaming chỉ tiết kiệm bộ nhớ video, không tiết kiệm bộ nhớ thường. Thay đổi các thiết lập này có hiệu lực vào lần NanoGeo khởi động tiếp theo, ví dụ khi bấm Play.
Build game
Các bước
- Đảm bảo BatchRendererGroup Variants được đặt là Keep All (xem Cài đặt).
- Build như bình thường.
Dữ liệu bake, material và shader được đưa vào tự động vì scene của bạn tham chiếu đến chúng. Thư viện bake chỉ dùng trong Editor và không nằm trong bản build.
Bake dùng thư viện meshoptimizer của Arseny Kapoulkine, theo giấy phép MIT. Thư viện chỉ chạy trong Editor và không nằm trong bản build game của bạn.