First pass at Voxel Generation in Unity
- All configuration options, including chunk size, view distance, and such are located in the VoxelData class as constants.
Instead of creating a new Monobehavior for every chunk, and having to add components which is causing performance issues, we could instead move all the chunk data into its own object and then pool the game objects representing visible chunks. As new chunks are generated we would create a ChunkData
object instead and they would be loaded into a pool of visible chunk game objects. This pool should be sized based on view distance, and be able to load and unload ChunkData as needed.
This will probably require a significant rewrite of the chunk loading code as nearly all of it depends on an array of chunk objects that grows over time.
It appears that there is a limit on the number of vertices or triangles that
can exist within a given mesh. This seems to only appear when a large enough
cave is generated within a chunk, causing extra vertices that need to be
drawn. Once the maximum value is reached, the rest of the mesh is not drawn
leaving blank spots at the top of the chunk.
Research needs to be done on if there is a way to either not draw caves that
the player cannot see, or if there is a way to expand the number of vertices
that can be placed within a given mesh. another option would be to use smaller
chunks and perhaps stack them on the y axis, though this would require a huge
rewrite.
Currently loading chunks in the background causes notable lag, this work is quite parallelizable and should be threaded off.
Some Options:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.