[WIP] Blender Destructability Editor


(scorpion81) #1

Hello,

i am working at an addon which allows to fracture objects and shoot them to pieces in the game engine. It includes with permission pildanovaks core fracture methods, explosion modifier fracture and partially voronoi decomposition. The knife tool is currently defunct due to bmesh changes. The voronoi part of this addon uses an external library, voro++ which you can find here:

http://math.lbl.gov/voro++/

The whole addon can be found at:

To use, copy the object_destruction dir below addons/addons_contrib dir in blender.
You need a fresh build of blender (rev 44492 upwards) to use the addon.
Because of the library (which is made usable by cython) this addon currently works
under linux 64 bits (tested under ubuntu 11.10 64 bits) and windows 64 bits (tested under windows 7)

Here are two (excuse the bad quality) videos showing the basic usage of the addon:

try fullscreen and 720 pixels, then it should be viewable.

If anyone is interested, i would need a builder for osx 64 bits and for win/linux/osx 32 bits

The features of the library are not fully solved yet, and some bugs are present,
especially dynamical compounding in the game engine has still its flaws.

Here is a 3rd video showing wall destruction with ground connectivity:

And here is an example wall setup with 500 voronoi shards,

http://www.pasteall.org/blend/12286

just start the gameengine and fire!

Edit: here is another video of a gear rolling down a slope loosing its teeth:

Edit: here is a video showing the usage of voronoi and voronoi + boolean modes:

Edit: here is a blend demonstrating a basic destruction of a window and its wooden framework

http://www.pasteall.org/blend/12889

Edit: here is a basic destructable house, just start game engine, move camera with WSADXY keys

http://www.pasteall.org/blend/13268

Edit: a house with around 950 parts, hit “To Game Parenting” before starting game engine (takes a while)

http://www.pasteall.org/blend/13368

Edit: a video showing gravity based collapse of a simple building

Edit: a tutorial for the destructible wall

Destructable Wall Tutorial:

  1. Get Addon here: https://github.com/scorpion81/Blender-Destructability-Editor

  2. Copy/symlink folder “object_destruction” to blender add ons folder

  3. In Blender Addons, search for “Destructability” and activate it

  4. Scale default Cube: x = 1, y = 9, z = 6

  5. Move scaled cube up by 6 units

  6. Under object property tab, in Destructability, choose Voronoi Fracture as Mode and 500 Parts

  7. Hit Destroy Object

  8. Select newly created P_0_S_Cube.000 Empty

  9. Open Game Engine Setup Options

  10. Hit Setup Player
    11.Scale Ground Plane y = 9, move player object a bit farther away from wall
    12.Move Ground Plane up a bit so it intersects bottom of wall
    13.Under Connectivity Grid set X = 1, Y= 9, Z = 6

  11. Select P_0_S… again

  12. Optionally save file now

  13. Hit “To Ground Parenting”
    17.Start Game Engine

  14. Aim with mouse and fire balls by holding / releasing left mouse button (hold longer = more speed)

  15. Unconnected wall parts should collapse automatically

Edit : a video showing a crumbling statue

Edit: a video showing a collapsing building and the according video tutorial

Edit: a quick tutorial showing how to set up sequential shatter

Scorpion81


(Meta-Androcto) #2

hi, great job with this script.
tested on win 7, runs out of the box well.
Overall a great improvement to Blender’s fracture toolkit.
Thanks for the hard work & dedication.
:slight_smile:


(Brenel) #3

The dynamic compounding seems to be most interesting aspect :slight_smile:


(gersonfx) #4

build 32bits linux?


(SamCameron) #5

Wow, I mean… WOW! , looks so great, hope we can have something like this officially in Blender someday. So many projects likes this without being completed by now, good luck with yours, I wish it can be merge into the official trunk someday (soon).


(scorpion81) #6

build for linux 32 added.


(A'nW) #7

Hi! I would really like to test it, it looks really great. Any chance of a win 32 build? Anyway, keep it up.


(scorpion81) #8

osx 64 bit build added


(scorpion81) #9

win 32 build added


(gersonfx) #10

donde puedo descargar el buid para linux 32 bits??


(scorpion81) #11

sorry, i dont speak spanish, but linux32 build is inside object_destruction, libvoro, linux32. It is included in object_destruction
you need to download the complete addon, then it will be among it.


(vklidu) #12

Thanks for great looking add-on :slight_smile: !!!

Can you help me with error I got it?
I wanted fragment cube via voronoi. I just copied your add-on into blender (r44548) folder and activated. Are there any other needs (set paths, or what ever)?
Thanks for help.

Traceback (most recent call last):
File “/Users/07_mach/Downloads/Blender - Builds/blender-44548/blender.app/Contents/MacOS/2.62/scripts/addons/object_destruction/destruction_gui.py”, line 871, in execute
dd.DataStore.proc.processDestruction(context)
File “/Users/07_mach/Downloads/Blender - Builds/blender-44548/blender.app/Contents/MacOS/2.62/scripts/addons/object_destruction/destruction_proc.py”, line 88, in processDestruction
eval(modes[mode])
File “<string>”, line 1, in <module>
File “/Users/07_mach/Downloads/Blender - Builds/blender-44548/blender.app/Contents/MacOS/2.62/scripts/addons/object_destruction/destruction_proc.py”, line 234, in applyVoronoi
voronoi.voronoiCube(context, obj, parts, volume, wall)
File “/Users/07_mach/Downloads/Blender - Builds/blender-44548/blender.app/Contents/MacOS/2.62/scripts/addons/object_destruction/voronoi.py”, line 241, in voronoiCube
records = parseFile(name)
File “/Users/07_mach/Downloads/Blender - Builds/blender-44548/blender.app/Contents/MacOS/2.62/scripts/addons/object_destruction/voronoi.py”, line 39, in parseFile
file = open(name)
IOError: [Errno 2] No such file or directory: ‘test.out’

Tested under OS X 10.7 (intel 64).


(scorpion81) #13

@vklidu:

that test.out is an intermediate file which is created by the voro++ library i use. Maybe i change that to stdout, but in the meantime
make sure the directory where the blender executable is is writable. Because the file will be created there, i just specified the filename but no directory. This might be an alternative to stdout too, letting the user choose the directory.
For now my addon expects to find the file in the directory where the blender executable is.

Hope that helps,

scorpion81


(JoshuaC) #14

Quite a fun addon! It’s got quite a few more features than the current fracture tools, and seems a bit faster as well! I hope you continue on with it. I’d love to see it a part of Blender in the future. :slight_smile:


(k123) #15

How to install it ?


(scorpion81) #16

@k123
simply copy the object_destruction folder under 2.62/scripts/addons or 2.62/scripts/addons_contrib folder, then look for “Destructability” under addons, and activate.


(Brenel) #17

Hey scorpion using win32 build on winxp sp3 OS

I got this error on using ‘to game parenting’ did everything just like in video any ideas whats wrong?


(k123) #18

Can you put it on mediafire please


(scorpion81) #19

@ Brenel: you need a more recent build than release 2.62. I used at least rev44492. in rev44491 a bug was fixed i reported about that issue.

@k123

Try the zip button on the repository main page:

That should get you a zipball with all of the repo inside it.


(gersonfx) #20

el add on esta muy bueno!! ya lo probe y funciono, pero aun no logro enteder todas las opciones !!