VoxBreaker | An OOP Voxel Destruction module

UPDATE

Features

Bug Fixes

  • Fixed material variants and surface types not being applied to voxels.

  • Made voxel resetting nearly seemless. The parts flashing should be less noticeable now.

  • Fixed setting reset time below zero not working. Setting reset times to below zero now makes it so that voxels will just never reset.

  • Various small logic changes for better optimization

Other

  • There is still one bug that I for the life of me cannot figure out. Mentioned in this post, for some unexplicable reason, voxels that are way bigger than they should be are being returned. The reason why I’m having trouble with it is because this only occurs when firing parts to the client. When I print out the part sizes on the server, they all appear the same size, but when fired to the client, some parts may be expanded for some unknown reason. This issue only happens when partcache is enabled, and I will be continuing to look for a fix.

  • New division algorithm will be coming in the next update. I didn’t include it here as it would be a pretty large change and I’m pretty short on time for this module.

  • I’m looking for ways to fix the brief flash that sometimes occurs when you initially voxelize a part. As you can see here.. I’ve tried making the original part have a slight delay before becoming transparent, but that results in some pretty ugly looking delay when breaking parts which makes the module feel laggy. And if I make the delay too short, then it just doesn’t work to fix the flash. If anyone has any ideas for fixes, do lmk.

Github Repo and Test Place have been updated to support the new version

1 Like

Amazing Update!!!, Ive been waiting patiently :smiley:

1 Like

Seems like parts are a little inconsistent when breaking now

Here the parts are much thinner than they should be when broken
image
Here the parts are much bigger than they should be
image
combination of both
image
Its very performant though now
image
sometimes it just ignores minimum part size
I think it might be the same bug you were talking about with fireallclients
I solved most of this by turning part cache off but minimum size still seems to be off, even without part cache this module runs extremely well.