Hey. My English is very bad (google translate). Your modifier good. I test assembly http://www.graphicall.org/1122. I hope it will be clear in the video that bothers me. https://youtu.be/K6HVhGIqm-c
Why after fracture of the back attracted? both springs. Clearly seen in one beam. And another question is whether the addon or integration into a blender soon? in blender 2.72 maybe?
Great to see you’re still on it, looking great so far. I’m currently rendering a video, and have a couple of notes for you. I have to bring them in some order first though. So just a heads up for now, it’s looking pretty good so far. Will post my stuff later today or tomorrow.
currently i updated my branch to 2.71.2 and work on resolving certain new bugs due to API changes, will make a linux build too when this has been resolved.
A video or a couple of shorter videos are planned to, just need to find some time for it…
lower the thresholds (and make sure you have cluster count set to 0 for the beginning, and refracture after setting cluster count to 0)
increase the mass of the entire object (under rigidbody settings; each shard gets a fraction of the total mass according to its volume to total volume ratio)
under experimental settings try to set Angle to 5 -> so when an angle between different shards is greater than the given degrees, the constraint will break)
under experimental settings try to set Distance to a bigger value than 0, means if distance between 2 shards is greater than given distance, constraints will break
and you can limit the constraint count or decrease the contact distance, so less constraints and constraints over a shorter search distance will be created, making the object break more easily and reducing “rubber” behavior
you also can increase solver iterations under experimental
And about integration to blender, i think this will still take some time, because there are still many rough edges at the modifier which need to be resolved first.
Maybe in a late 2.7x or early 2.8x version it could be integrated, but i cannot promise it yet…
thank you looking forward to your feedback and will try to fix my modifier according to it, when i have some spare time.
been wondering if this was still in development, good to here your still working on it. think i’ll replace the old build with grab the new one.hopefully it’ll keep moving forward in it’s quest to get into trunk. good luck , wish i could help.
Danke. Difficult to say how long it took to set up, i spent a couple hours with your build that day Once i figured out the Pre-fracture Method (on the Wiki Site), it went reasonably fast.
I had to do some tricks/settings to get what i wanted, like connecting all pieces, except the Glass Bulb, by actual Vertex to Vertex Edges, so it would act as one piece… Very possible i just missed how it should be… That’s why i need to do more testing and workflow testing as well.
But here the easier Notes at hand, not very verified, since you asked so eagerly Just ask if unclear.
-Select CompoundShape on Fractured Object + Play Animation = Busy Blender with no end?
-Constraints from/to Fractured Objects not working, sometimes crashes blender?
-Contraintssometimes get removed and have to be re-built by unchecking andchecking „Use Constraints“. I will keep an Eye open on how andwhen it happens, so i can tell you more exact.
-How about makeVertex Group for Inner Faces?
(For example toemit smoke only from Inner Parts, or whatever)
-May be 0 (unlimited) as„Constraint limit, per MeshIsland“ default is overkill? For me 24gives about same Result, but in some cases much much faster to playAnimation. (0 is not very fast with 2000 Shards) Just an Idea.
-Is there a Way tolet all Constraints break if one does? For single Shard, not wholeObject.
-“Threshold VertexGroup“ + „Use Mass Dependent Thresholds“. Do they worktogether?
Ahh, compoundshape. Thats some old banana code left over from the old modifiers. With this i tried to reduce constraints by replacing them by compounds… Should be removed again indeed, does not work any more now.
Yeah, thats not possible with the modifier, because those other objects cannot be part of the modifier of the original object. In my old approach, i tried something like “Outer Constraints” to connect different objects with a modifier on them, but i failed miserably with that. You can do the following: 1) apply all fracture modifiers on all objects to join, the mesh will consist of separate islands. 2) Join all desired objects together into 1 object 3) Put the fracture modifier onto the new object, and select some “invalid” point source, like “Extra Particles” with no “Extra Group” specified. The modifier will detect this and re-use the existing mesh islands, making new rigidbodies out of them. This way you can simulate connected or “compound” objects.
Yeah, thats some kind of update / refresh constraints bug i will investigate soon. If you have multiple objects and making changes to one, changes in other objects get lost or so… like constraint settings falling back to default or being wrong at all
Thats a good idea. For now you could only specify an inner material which is applied to all inner faces, but i could store this result as vertex group too. Would make most sense with boolean, as bisect+fill is unreliable due to the bad (internal) triangle-fill algorithm, borrowed from blender.
Ok, will try to set a higher default than 0, maybe 25 or so…
For now you could maybe try to fiddle a bit with percentage… like if 10 % of the constraints are broken, the rest will break too, or even 5% or lower, but i also could maybe set an absolute count here, as additional property.
No those are different concepts. Mass Dependent Threshold just lowers the threshold according to the current shard mass in relation to the maximum shard mass, maximum shard mass gets highest (set) threshold, all others lower fractions of it.
With Threshold Vertex Group you (theoretically) could paint weights onto the unfractured mesh, then assign the vertexgroup to the modifier and THEN fracture. Weights will be interpolated to the shards. It might help to subdivide the mesh prior to fracture, to better control what is painted with which weight. Lower weights mean lower thresholds, weight 1 = set threshold, otherwise the weight is multiplied with the threshold. Honestly, i am a bit unsure what happens when weight is 0, need to check the code again for this.
Hmm, no. The percentage is calculated per Island indeed. If a certain island’s constraint count goes below the given percentage of the initial constraint count (per Island) all other constraints associated with this island will break. Sure, this will lower the percentage of other shards as well and can in some cases be used to make a breaking cascade, but its main purpose is to eliminate “hanging” shards. For that behavior you set the percentage e.g. to 90, then if 90 percent of an individual shard’s constraints are broken, the rest of the constraints of the same island will break. It does NOT mean that if x percent of ALL constraints of the entire object is broken, the entire object will break as well. This is always calculated on per shard basis.
In your file you can: 1) under Experimental, set Solver Iterations Override to 100, 2) For the passive Object, set collision margin to 0.04. This way the shards wont penetrate the ground objects. Also you could set cluster to 0 prior to fracture, this is needed to “simulate” two level fracturing solely with different constraint strengths (but does not work very well). This way you dont get the high Cluster threshold of 1000, which sticks the penetrated shards together with the rest and lets the object jiggle around. Alternatively you could set Distance to 0.01 or so and the jiggeling shards will break off then.
I’ve worked with cell fracture quite a bit in the past, so I’m really excited to see this huge improvement! I don’t have time now, but I’ll test this on my desktop over the weekend and try to give some constructive feedback. Thanks so much for sticking with this project!
EDIT: I tried running the windows build real quick, but it said that there are a bunch of .dll files missing.
yeah, the build has been compiled with VS 2013 Express. So if you dont have this installed, you need to install the (small) VS 2013 Redistributable from Microsoft. It should include all DLLs necessary. Hmm. Maybe in the next build i will provide the necessary dlls in the build itself too, but installing the redistributable should work for now as well.