Nhật Ký vss388 com vn đăng nhập Phát thiên hạ bet j77 Triển Epoch 9
Trước tiên, tầng mây cho thế giới Epoch cuối cùng cũng đã được thêm vào. Tuy nhiên, phần Ray Marching hiện tại vẫn chỉ hoạt động trên một khối Cube. Tôi cần phải cải thiện nó bằng cách chuyển sang một biểu thức Sphere trong tương lai. Tiếp theo, nhờ API Instancing, việc tái tạo hàng loạt cây cối sử dụng SpeedTree (không bị ảnh hưởng bởi vật lý hoặc tốc độ gió) nay đã trở nên khả thi hơn bao giờ hết.
Mục tiêu tiếp theo của tôi là nâng cấp Shader Noise cũ. Trước đây, Shader này hoạt động dựa trên Lookup Table mà tôi đã sử dụng C# để chèn dữ liệu thông qua hàm SetFloatArray. Trong phiên bản Unity cũ, Lookup Table bị giới hạn về độ dài, vì vậy lúc đó tôi phải giảm kích thước từ 1024 của LibNoise xuống còn 768 để tối ưu hóa hiệu suất. Tuy nhiên, với phương pháp mới, tôi sẽ hoàn toàn loại bỏ Lookup Table và tách biệt khỏi cách làm của LibNoise. Điều này sẽ giúp thời gian sinh HeightMap được rút ngắn đáng kể.
Ngoài ra, tôi cũng đang nghiên cứu về Runtime Culling dựa trên DepthMap. Đây là một kỹ thuật từng được nhắc đến trong một số bài báo khoa học và được áp dụng trong trò chơi Battlefield 4. Họ sử dụng một DepthMap có độ phân giải thấp để xử lý vấn đề này. Tuy nhiên, phiên bản tôi dự định phát triển chắc chắn sẽ đơn giản hơn nhiều. Cơ chế hoạt động cơ bản là tất cả các GameObject thuộc một Layer nhất định sẽ được kiểm tra xem Renderer của chúng có nằm ngoài phạm vi Z-axis của máy quay hay không. Nếu giá trị Z-axis lớn hơn giá trị DepthMap, Renderer sẽ bị vô hiệu hóa.
Tuy nhiên, có hai mối lo ngại tiềm ẩn:
- Nếu số lượng Mesh quá lớn, liệu việc kiểm tra Depth trong mỗi khung hình có tiêu tốn nhiều thời gian hơn so với lợi ích mà nó mang lại?
- Độ chính xác của kiểu dữ liệu Float đối với khoảng zMin = 0.1 và zMax = 99999 liệu có đủ đáp ứng yêu cầu của trò chơi hay không?
Sửa đổi lần cuối vào 2025-04-22