Japankeijiro/Voxelman
Unity DOTS/ECS example
🧱 Voxelman — ECS cực đoan: hàng ngàn voxel, mỗi voxel là một entity
Mỗi khối voxel đều là một thực thể riêng lẻ, được quản lý bởi Entity Component System trong Unity DOTS.
Voxelman là một ví dụ thực tế (không phải framework chung) do Keijiro tạo ra, nhằm trình bày cách sử dụng Entity Component System (ECS) trong Unity một cách cực đoan — ở đây, mỗi voxel trong cảnh đều được tạo ra như một thực thể (entity) và điều khiển bởi các hệ thống thành phần (component systems). Dự án này không chỉ dừng lại ở ECS mà còn tích hợp sâu C# Job System, Burst Compiler, và asynchronous raycast, nhằm khai thác tối đa hiệu năng bộ xử lý đa lõi.
✨ Điểm nổi bật
- Entity-based voxel: Mỗi voxel là một entity riêng lẻ, cho phép quản lý và xử lý rất linh hoạt và hiệu quả.
- Sử dụng Unity DOTS/ECS: Xây dựng toàn bộ hệ thống theo kiến trúc ECS, tối ưu cho hiệu năng cao.
- C# Job System: Phân phối công việc xử lý across các luồng (thread), tránh blocking trên main thread.
- Burst Compiler: Biên dịch mã IL xuống mã máy tốc độ cao, tăng tốc đáng kể so với truyền thống.
- Asynchronous raycast: Thực hiện raycast bất đồng bộ để phát hi hiệu quả khi tương tác với hàng ngàn voxel.
- Tối ưu đa lõi: Kết hợp toàn bộ công nghệ DOTS để khai thác tối đa sức mạnh CPU đa lõi.
💡 Vì sao đáng chú ý
Voxelman không chỉ là một demo đẹp — nó là một trường hợp thử nghiệm cực đoan để chứng minh sức mạnh của DOTS/ECS khi áp dụng vào những bài toán có số lượng thực thể lớn. Thay vì dùng mesh truyền thống để biểu diễn cảnh voxel, dự án biến mỗi khối đều thành một entity, sau đó dùng Job System và Burst để cập nhật vị trí, va chạm và render một cách đồng thời và song song. Điều này giúp phép tính phứ tạp được phân phối đều trên nhiều thread, tránh tắc nghẽn trên main thread.
Đây là nguồn tham khảo lý tưởng cho bất kỳ ai đang học hoặc triển khai Unity DOTS, đặc biệt là những người muốn hiểu cách ECS vận hành trong thực tế, chứ không chỉ là lý thuyết.
#Unity #DOTS #ECS #Voxel #CSharp #TiniX
Similar Projects
Discover other similar projects and AI models.
The Unity Machine Learning Agents Toolkit (ML-Agents) is an open-source project that enables games and simulations to serve as environments for training intelligent agents using deep reinforcement learning and imitation learning.
AssetStudio is a tool for exploring, extracting and exporting assets and assetbundles.
UIEffect is an open-source package that allows you to intuitively apply rich UI effects directly from the Inspector or via code. Combine various filters, such as grayscale, blur, and dissolve, to decorate your UI with a unique visual style!
Entitas is a super fast Entity Component System (ECS) Framework specifically made for C# and Unity
This is literally a game framework, based on Unity game engine. It encapsulates commonly used game modules during development, and, to a large degree, standardises the process, enhances the development speed and ensures the product quality.