I am writing my own voxel engine, based on cubes of different sizes and properties. In order to store and efficiently use voxels, I implemented Sparse Voxel Octree storage, but I plan to have many dynamic structures in the engine that would change their position in space.
How could that be implemented, in my case? Should I use a separate storage for dynamic objects? It would be more desirable to treat those objects as voxels, too, but how do I move them smoothly?