Clayxels is an interactive volumetric toolkit to sculpt models in editor and in game. It uses voxels to generate a lightweight point-cloud that can be changed in real-time and used in a whole bunch of different ways, all without any heavy pixel ray-marching. Works both in editor and in game, everything made with clayxels can be changed interactively at any time.
Works with all render pipelines, built-in, URP, HDRP. Initial Mac Os X support: it means this package is functional on all recent macs, but you might find quirks and we'll be there to support the platform.
Sculpt and animate your assets inside Unity and give your game a whole new set of interactive volumetric capabilities. - you can sculpt and then animate assets directly in Unity without the need for complex mesh operations - everything stays interactive, what you do in the editor works in game just as well - fast level design iterations, clayxels can help you achieve complex architectural shapes in a matter of seconds - export to FBX to move your clayxels models to any external package if you need so
Clayxels works with plain, simple points. - the point cloud that clayxels generates is shaded per vertex, rendering it is as cheap as a standard mesh - nothing stops you from interactively creating volumes during gameplay. Only at that point a compute-shader will update the point cloud (this is of course a GPU heavy operation that will impact on your FPS) - clayxels can be animated in editor or used with procedural motion at runtime - physics work with standard colliders, you can even use clayxels to generate its own mesh colliders
Open C# code, editable render shaders and signed-distance functions, but you can ignore all of that if you like. Clayxels works by simply moving around standard Unity GameObjects. - Extend or hack the provided APIs or simply move Unity's standard GameObjects to interact with the volumes - Write new shaders via code or use Amplify Shader to customize the existing shaders with nodes - All the mathematical functions are exposed and you can add your own to change how the signed distance field is generated
Current limitations (subject to change as development progresses): - performance will vary a lot depending on the available GPU, this is especially relevant if you plan on using clayxels at runtime in your game - it is preferable to use clayxels on machines with a dedicated GPU to get optimal performance - mobile targets are untested and will work using the included baking functionality only - webgl is not a supported target