Geonodes: rotating voxels
You can recreate it yourself for free, here's the node tree: (open image in new tab to zoom)
And Vox Condition node:
This technique [glossary] is more of an example how not to do this.
❌ The noise texture is sampled for 4 additional frames backward and 4 more frames forward, rather than accessing already evaluated data in the previous frames (which would require a setup with Python)—this means the transition is capped to 4 frames and still is 9× slower than a smarter solution… Also if multiple elements in a column disappear at once, they will create a window blinds effect.:
Removing this effect is hard without resigning from a smooth transition from bottom, so if you only want the latter, this solution is not for you.
❌ At sizes like 100×100×100 and assuming 10% density, 100k voxels are generated (in the example it gets over 150k). They're all instances, so light-weight, but still their number slows Blender quite a lot and makes it near impossible to deal with even bigger landscapes… Ideally 3-sided instances would be used to half the geometry, and the node tree would check if the instance would be occluded before actually creating an instance. Also the node tree should be improved to not instance voxels outside of camera's frustum…
❌ Because voxels rotate in a single direction (counter-clockwise 🔄), they need to become awkwardly thin at the beginning and end of their live-cycle, as they need to disappear once the other set of voxels gets their vertical edges aligned. Perhaps a more interesting tessellation could be invented…
What the node tree does:
👉 Fills the scene with voxels.
👉 Voxels rotate around Z axis.
👉 As they rotate, they verlap, so they’re scaled down on XY axes to fit.
👉 Due to the above holes appear, which are filled with more voxels.
👉 A custom node group vox condition
is used to evaluate if the voxel should appear in a given space-cell or not.
👉 If a voxel should not appear, however it recently appeared or will soon appear, it still shows, but with a reduced size (Z scale).
👉 The above together with translation on Z axis make the top voxels grow/melt rather than appearing suddenly.
⚠I promise no support and give no guarantee the item actually works❗ You’re buying junk! Treat it as an educational material rather than a product. However, I’d love to hear any kind of feedback: bug reports, suggestions, ‘backlinks’ to your work that uses the obtained junk (if you decide to share, please provide info if I can use it in the description of the item). Based on that I may tinker with an idea some more, but no promises are made.
Within the package:
✅ A voxels.blend
file with the setup used to render the animation above.
✅ Éclaircissement.pdf
file with a brief explanation on how it works and what elements you might be interested to modify and how.
You’ll get a Blender 3.3.1 geonode tree to generate an animated landscape of rotating voxels.