Voxel Destruction Pro
Atan
$15.99
Date |
Price |
---|---|
Date |
Price($) |
07/22(2024) |
15.99 |
07/22(2024) |
11.19 |
08/05(2024) |
15.99 |
11/23(2024) |
15.99 |
Jump AssetStore
This asset allows you to create high performance voxel destruction, you can directly import from MagicaVoxel or even procedurally generate the voxelsTry it yourself: https://atan-games.itch.io/voxel-destruction-pro🔷 Directly load from MagicaVoxels vox filesThis Package allows you to model anything in the free Voxel Modeling Software "MagicaVoxel" and then save it in the StreamingAssets folder and directly load them in Unity. Additionally you could also procedually generate the voxeldata, the package makes it easy to add your own functionalities.🔷 CompatibilityWindows: ✔️Linux: ✔️Android: ✔️WebGL: ✔️VR: ✔️ Tested on Oculus quest 3MacOS and IOS: ❔ Not tested, but should work fineThe package should also work with HDRP, but there is no default shader or HDRP demo scene included.🔷 Fully multithreadedThis Package takes heavy use of the Unity job system, in order to put the load onto the other cores instead of the main thread. There of the jobs are:Greedy Meshing: Generates the Mesh using a greedy meshing algorithm that minimizes the triangle countMesh creation: Creates the Meshdata directly from the NativeArrays returned by the Greedy Mesher. This saves performance since you don't have to copy the data to the main thread. The bounds of the mesh will also be calculated inside this jobCollider backing: Whenever you set the Mesh of a Meshcollider, it will bake this collider. This takes up a lot of performance especially for complex meshes. We allocate this onto another thread which ensures that the main thread performance is not effectedVoxel search: Whenever a destruction occurs this job searchs the voxels that are effected by it, using distance calculationsConnected component search: If a voxelobjects contains floating fragments that are not connected to the main mesh, we need to seperate those. This can be done using the Connnected component search algorithmFragmenter: This jobs creates the fragments from the removed voxelsMost of these jobs use simple interfaces, which allows you to add your own implementations. Future updates may also introduce new implementations for some of these jobs.🔷 Full package remakeThis package is a complete remake of the Voxel Destruction package, compared to the previous package it has a lot of improvements:Better performance: The new package is much faster, there are many performance improvements. You can now fluently destroy models that were barely able to load in the old version of the package. The fragments now also get created in real time, which allows you to further personalize the destruction.Higher usability: The functionallities are now split into multiple scripts, that allow you to only use the features you need. There also is the option to create personalized Voxel object that load data procedually. I also tried to improve the documentation and there are more comments in the code, it now contains more details on how to use the package.More features: You can now use new features like custom origin points, customized realtime fragments, different destruction types and moreLess loading time: There are now smarter caching functionalities that will ensure that the vox files are only read once and then cached🔷 CreditsOutline shader used in the screenshots: https://github.com/Robinseibold/Unity-URP-OutlinesThis package uses:- BetterStreamingAssets: https://github.com/gwiazdorrr/BetterStreamingAssets- VoxReader: https://github.com/sandrofigo/VoxReader- Voxel Meshes use Vertex Colors- Greedy mesh job generate triangles, vertices, normals and vertex colors- Collider baking can be done using a job- Isolated pieces get searched using the Connected component labeling algorithmI used gpt-4o to find some ways to further improve the package performance. He also was a great help at learning more on how to use the unity job system and helped find some bugs a few times.