[WIP] Bullet Constraints Tools 0.3.7

I just tried it… here is your problem…

1)select 1 of those shards in object mode… make sure it is visable to you and you can remember which one it is.

2)select it… than look over in the area where the deactivate checkboxes are. You did not have enable deactivation checked. The one was checked but the enable box was not

  1. check BOTH boxes on that one shard… than select all of those shards with shift B…hold down shift and reselect the original shard (your trying to make that the last one selected. Go to the left side in Rigid body tools section and press that icon that says copy from active. Rerun the simulation…

I didn’t even use the constraints script, I’ve only messed with it once… but I’m pretty sure you have to make sure the regular bullet physics stuff is set up correctly. The constraints stuff in the script gives you more control on how things break apart.

When you use just the physics without the contstraints script, the way it works is if you enable deactivation (both checkboxes) it takes something either hitting the object or a force of some kind to make it break apart.

Good luck, hope you can get it working.

Ok, my bad. The bullet was too close of the sandglass so it seemed to me that the pieces didn’t stand before collision.

I find a downside of using “Copy from active” instead of “Copy to selected”. It also copies the mass to all shards. “Copy to selected” works ok for this purpose.

It works well now, I just have to adjust the settings. Thanks again :slight_smile: !

Well on the file that I downloaded, the glass was falling on the second frame, well before the bullet hit the glass. But I’m glad you got it working. I’d forgotten about the transfering of the mass in that script, that is a nice feature, I remember seeing it now in his tutorial. Glad you got it working.

I’ve changed the File from .py to .zip, hope issues with right-click save is solved.

Update to 0.3.7.3:
Fix GPencil

Nice script. Only complaint is that it would be nice to have a way to set all rigid bodies to “start disabled”.

The download link seems not to work for me (Tried using Chrome browser on Win XP). Is there an alternate link?

here you go:
Bullet_Viewport_Constraints_Tool-037.zip (8.58 KB)

@ninjinx
i might add start disabled, thanks.

1 Like

i might ad start disabled, thanks.

This would be very handy!

uruberi
how did you get it to work? im not overly familiar with the text editor and the use of scripts in blender :confused:

install it from: FIle - User Preferences - Addons - Install from FIle
after that you should see it as addon, activate it by hit checkbox, use it. :wink:

First of all, nice script!

well, i have a question:

it’s possible to do two different groups of constraints in the same scene?

For example: In a wall made of bricks with a plaster, the resistance of the bricks with bricks is different from the bricks with the plaster.
In blender i only can setup one constraints for all with the same resistance of breaking.
One for for bricks with bricks and other for bricks and plaster?

Tnahk you!!

The script works on the selection of Objects. So you can select the Bricks first, set breaking and compute neighbours and then do the same for plaster. Just be aware to not select the empties generated for the Bricks. The update only updates the selected Objects/empties. So simplest, Bricks on one Layer, Plaster on another.
Of course you can/must then connect plaster to bricks too, maybe with C-Selection (in 3D Viewport)

I have an idea thank you. It might make sense if Objects would have a Material Strength, so generated Constraints could use that. But then again, How to Mix two Strength? Not sure about it.

Update to 0.3.7.4

Added support for Enable Deactivation/Start Deactivated and Linear/Angular Velocity

Wonder if you would need the damping Translation and Rotation as well? What do you think?

Great script, very very useful!

A way to combine different strengths as material properties is using the minimum of the 2 materials. For example:
brickStrength = 100
plasterStrength = 60

A brick-brick connection has a strength of 100, a brick-plaster connection is 60.

You could also use the average, but I think the minimum is more realistic. Or, even better, let the user decide how to mix the 2 strengts :smiley: (that would be really awesome)

Hi! I try the way that you had explained and seems that it’s works well.

I leave the test that I made, consisting of a brick wall with plaster coating.
Constraints:

  • Brick - Brick
  • Plaster - Plaster
  • Brick - Plaster
    I try to made a constraint brick - ground, but i have not gotten it work.

I think that which would interesting ( I don’t have idea of programming and development), to make two options of constraints:

  • An “internal material constraint”, to define the resistance of the itself material
    and
  • An “external material constraint”, to define the resistance between materials

I don’t know if this idea it’s possible.

http://dl.dropbox.com/u/15475224/Test_2.blend

Thank for the Ideas about Material strength. I will think about it.

@Aslaqrt
the ground connection does not work optimal right now. It uses the Vertices of the Ground Object to connect to, so be sure to subdivide it (not sure if modifier is enough). And it might not work that well anyway, i have to look into it too.

You can try select all the Bricks, then the Ground and use Constraint to Selected, this will make Constraints between the selected Object and the Active (Ground).

You can set the breaking Threshold before you Hit X-Constraints, in case you don’t know. So you can control “strengths” of Objects. You can then use the Multiplier checkbox to edit All Constraints but Remain the Ratio between them. Alternatively just put the Constraint empties in separate Layers each, so you can select all and Update only those Constraints.

I know it’s not optimal to use, but there are so much possibilities with Constraints Types, and How to use Them… Kinda difficult :wink:

I might found a bug, most of the constraints types update just fine when I click the ‘Update Selected’ button. But when I choose ‘Generic’ or ‘Generic Spring’ and then try to update, blender just freezes.

@surfrender: I can’t replicate your issue. Can you provide a test .blend with the steps to reproduce it?

the ground connection does not work optimal right now. It uses the Vertices of the Ground Object to connect to, so be sure to subdivide it (not sure if modifier is enough). And it might not work that well anyway, i have to look into it too.

You can try select all the Bricks, then the Ground and use Constraint to Selected, this will make Constraints between the selected Object and the Active (Ground).

I try this method and works well.

Tge ground connection, How it works? I need to create vertices for the ground, and later? I select the objects and then the ground and click option, or I select the ground and then the objects and click option?

Thanks

Ground Connect (WIP)
Connects selected Objects to active Object Vertices (usually Ground). Currently it uses the active Objects vertices, so you need some Vertices there in order to it to work. This feature is, like anything else, not yet finished.”