[Custom Build] Blender Fracture Modifier


(scorpion81) #1621

I committed a small feature so that you now can use ghost stop triggers. That means you could place a helper object being ghost and a stop trigger around the area where pile up will be expected. Note, you might to enable the stop trigger later via keyframe (so slow parts dont get stuck at the beginning) and set its collision groups so it does only stop the wall (but not the sphere, because in this case the sphere is triggered too and would respond to the stop trigger as well).

So if you compiled (or another build is made) you could try out this example file :

brickwall2.blend (6.5 MB)


(Gilles Charbonneau) #1622

Wohooo, goodie! :slight_smile:
I think it is time that I start compiling on Windows, thanks mate, will give it a try for sure! :slight_smile:


(Gilles Charbonneau) #1623

Okay, having a bit of problems building this, I select this for the git
git clone git://git.blender.org/blender.git -b fracture_modifier

All works fine as far as I run
svn checkout https://svn.blender.org/svnroot/bf-blender/trunk/lib/win64_vc14 lib/win64_vc14

Then I run
D:\blender-fracture-git\blender>make release

Gives me an error saying that…
D:\blender-fracture-git\blender…\build_windows_Release_x64_vc12_Release\Blender.sln
does not exist, and sure enough it does not!

Anyone has an idea?\

EDIT: In all the error messages, it says that it cannot run MSBuild.exe, although I setup the path in the path environment, could this be it?

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin


(jensverwiebe) #1624

New Linux dev build:

– PACKAGE-INFORMATION –
Branch: fracture_modifier
Revision: d3b52a6
Submodules: locale 1bbc9bd addons 2609a10 addons_contrib 8a3b944 tools 7695e14
OS: GNU/Linux, Architecture: x86_64, GLIBC: 2.19
Builddate: Do 24. Mai 21:39:24 UTC 2018
Filesize: 104524740 byte
Sha256sum: 84ca2a5acaf87ddf81dd2cde59b2c421a97f297ff23cf0551ae9db3c581c90bf
URL: http://www.jensverwiebe.de/Blender/blender_fracture_modifier_linux64_latest.tar.xz

CHANGES SINCE d3b52a6:

-added ghost stop triggers
-added support for NVidia Volta ( sm_70 )
-fracture helper 2.2.7 for optional install

Jens


(scorpion81) #1625

Hmm, first you need the libraries tagged for 2.79a (there is no 2.79b tag, so i assume those are the same) from here https://svn.blender.org/svnroot/bf-blender/tags/blender-2.79a-release/lib/win64_vc14/ since the FM bases on the 2.79b release and in the trunk libs for example there is already python 3.6 (instead of python 3.5, what we need).

Then if you use Visual Studio 2017 Community edition, there is a bug in the CMake files of blender. I pushed a fix for it now, could you please git pull the branch (for updating) ? It just fails to detect the MSVC build files properly due to a wrong version query. In build_files/cmake/platform/platform_win32_msvc.cmake at line 137 it reads

if(MSVC_VERSION EQUAL 1910) but it should read
if(MSVC_VERSION GREATER 1909) there.

That should be the whole fix.

Edit: actually it is the fix ONLY if you build it with cmake and VS 2017 instead of using make.bat.

You need to open cmake (the UI) , specify the source path ( where blenders CMakeLists.txt is) and a build directory (should be separate from the source dir) and hit Configure. Then you choose your compiler and hit Generate, after its finished hit Open Project and it should open VS with the solution file.

There you need to build the project “ALL_BUILD” and the project “INSTALL”. Hmm, seems i forgot that i failed with make and vs 2017 too and had to build it the “old” way because of that…

The “lib” dir should be on the same level as the “blender” dir is, basically you create on that same level an empty “build” dir and use it as build directory in CMake.

Edit 2: make also sure you enable “Grouped” and “Advanced” in CMake gui and check in the “WITH” section stuff you want to include as well ! (like Alembic, FFMPEG, Ocean Modifier, OSL, CUDA binaries (you could also use the official cubins instead of compiling them) and more (WITH_VORO should be checked at all)

Edit 3: I also asked Kai to update the graphicall build, so if all fails, it should be updated soon (like tomorrow or so)


(Gilles Charbonneau) #1626

Again, thanks for your help, I git pulled the new files, still the same problem with MSBuild not being in the path error from the make batch file, will look more into this!

I use the official workflow for Windows…
https://wiki.blender.org/index.php/Dev:Doc/Building_Blender/Windows


(LazyDodo) #1627
  1. Make sure you have the C++ Workload installed during the visual studio installation.
  2. If it’s installed ‘make 2017’ ought to do the job.

(Gilles Charbonneau) #1628

Here is what I have installed, I will stop for the moment, I am up to 30GB downloads for this, I will let it rest for a bit!

And here’s what I get when I run make release

D:\blender-fracture-git\blender>make release
‘where’ is not recognized as an internal or external command,
operable program or batch file.
Visual Studio 2013 not found, trying Visual Studio 2015.
‘where’ is not recognized as an internal or external command,
operable program or batch file.
Error: “MSBuild” command not in the PATH.
You must have MSVC installed and run this from the “Developer Command Prompt”
(available from Visual Studio’s Start menu entry), aborting


(LazyDodo) #1629

try make release 2017


(Gilles Charbonneau) #1630

I get this…

D:\blender-fracture-git\blender>make release 2017
‘where’ is not recognized as an internal or external command,
operable program or batch file.
Error: “MSBuild” command not in the PATH.
You must have MSVC installed and run this from the “Developer Command Prompt”
(available from Visual Studio’s Start menu entry), aborting


(LazyDodo) #1631

It’s getting too noisy to trouble shoot building issues in this thread, so if this suggestion doesn’t work, please drop by on irc and we’ll see what we can do to straighten this out.

Check your path , it should include the system32 folder (which is the location of where.exe) and be under 1024 characters.


(Gilles Charbonneau) #1632

Solved part of the problem, thanks, seems I have path issues, will go on IRC now, thanks again!


(Gilles Charbonneau) #1633

Latest build for Windows 64!

Blender 2.79b-Fracture-Win64.zip 104mb


(JTA) #1634

Here’s one of the Appleseed renderer demo files I’ve been working on with the Fracture Modifier based on GH’s SPPM demo file. Make sure and install Appleseed render engine and the blenderseed addon properly.

Checkout the Appleseed forum for all the info and download links of the rendered animation and blend source file:
FM Appleseed forum thread


(Gilles Charbonneau) #1635

Now that’s what I call destruction! :slight_smile:

The parts that are still trembling are parts that are not inside the ghost stop trigger helper object, I think it’s getting there, now playing with the threshold to adjust the ease-in of the stop trigger!


(JTA) #1636

Thanks always Jens for the builds!
Fracture ON!


(JTA) #1637

RE: New blender wiki
The new wiki is up so the old fracture modifier documentation link does not forward yet. Until we get the docs migrated to the new wiki here is the backup of the old wiki if you want to reference the FM wiki docs:
https://en.blender.org/index.php/User:Scorpion81/Fracture_Documentation

Here is the wiki page in the github repo for the docs in wikimedia format:


(Warrior) #1638

Hi all. My question might be a bit silly as I think the answer would be yes: I wonder is it possible to access to this modifier using Blender’s Python API? For instance, I want to add this modifier to an object and change the Fracture Modifier’s settings via Python. Is that possible?

Thank you


(scorpion81) #1639

You could add a fracture modifier via the modifier add operator:

bpy.ops.object.modifier_add(type='FRACTURE')

or alternatively with the modifiers.new() function :

md = bpy.context.object.modifiers.new("Fracture", 'FRACTURE')

The properties can be set on the “md” variable then. It also can be retrieved by:

md = bpy.context.object.modifiers["Fracture"] 

(if the modifier name is “Fracture” in this case) or you can check whether

md.type == 'FRACTURE'

Change for example the shard count like this:

md = bpy.context.object.modifiers["Fracture"] 
md.shard_count = 100

Finally you can refresh the modifier with:

bpy.ops.object.fracture_refresh(reset=True)

This is equivalent to pressing “Execute Fracture”.


(Warrior) #1640

Thank you. You said “a fracture modifier”. Do you mean there is a built-in fracture modifier in Blender? Or do you mean I need to clone the Blender git repository and switch to the fracture head and then compile it and use it?