Jump to content

Recommended Posts

BulletSOP 2.0 - Introduction: https://vimeo.com/67030933

BulletSOP is implementation of Bullet library (bulletphysics.org) inside SideFx Houdini (sidefx.com). It's a plugin for creating incredibly large rigid body simulations on average PC.
At this moment it's single-thread application (we're waiting for official release of Bullet Library 3.0 with GPU support) but speed is very impressive already. As well as memory footprint. The plugin is free! So you can create truly stunning massive simulations.
It has 6 extraordinary nodes which are very powerful and universal. All data which these nodes generate can be modified with standard Houdini nodes.
This tool is compiled for Houdini production builds. It includes many example scenes (beginner -> professional) which are probably the best learning resources. Free video tutorials are coming soon!
Create freely, simulate quickly and enjoy fully!

Main features:
- Bullet RBD Solver
- Support for multiple Broadphases, Constraints Solvers
- Loading data from previous frame
- Geometry decomposition (Tetrahedra, Voxels)
- Static/Animation body
- Convex Hull
- Compound Hull
- Deform static Hull
- Primitive Hulls
- Constraints (auto-generating, spring, 6DoF)
- Collisions Groups
- Object Forces
- Point Radius Forces
- Delete Duplicity data
- Instancing
- Includes many example scenes for studying
- Support for Windows(64bit) and Linux(64bit)

Links:
LinkedIn group: http://www.linkedin....Houdini-4796605
BulletSOP 2.0 beta Sneak Peek: https://vimeo.com/57193837
More author videos: https://vimeo.com/user3251535

Best wishes,
Milan Suk


EDIT: I see that interest in this version is great, so I want to add that you need Houdini 12.5.376 build! With older or later versions I can't guarantee functionality!
EDIT2: The latest BulletSOP 2.0.8 - http://forums.odforce.net/index.php?/topic/17769-bulletsop-208/

BulletSOP_2_0_7.tar.gz

BulletSOP_2_0_7.zip

Edited by MilanSuk
  • Like 1
Link to comment
Share on other sites

Thanks for great plugin.

i looked through examples and have one question - is it possible to get something like glue in default bullet?

cause in example with constraints it looks a bit bouncy (box with colored constraints). tweaked a bit but couldn't get rigid behavior.

Link to comment
Share on other sites

I´m just starting to play with it, but so far it is amazing, and even more so to have free access to it...only in Houdini you get this kind of free toys.

Thanks Milan, that was really generous on your side.

Edited by Netvudu
Link to comment
Share on other sites

Thank you to everyone!

i looked through examples and have one question - is it possible to get something like glue in default bullet?

cause in example with constraints it looks a bit bouncy (box with colored constraints). tweaked a bit but couldn't get rigid behavior.

Default Bullet Glue is probably based on Compound. Basically you parent few object to one and than base on collision point(s) It breaks. This is faster and more stable, but you need some really clever algorithm, which computes which object(s) need to be break. I made this with BulletSOP 1.0, but It's very completed! Differently with constraints you don't care and It will break on right places!

For greater stability you can increase damping and iteration on solvers and change friction and restitution on objects. But Bullet is game solver so you can expect the best stability.

Small request: Can you maybe keep the Houdini daily/prod build number in the zip/tar file name? IE something like this:

BulletSOP_2_0_7.12_5_376.tar.gz

no problem :)

Edited by MilanSuk
Link to comment
Share on other sites

Thank you to everyone!

Default Bullet Glue is probably based on Compound. Basically you parent few object to one and than base on collision point(s) It breaks. This is faster and more stable, but you need some really clever algorithm, which computes which object(s) need to be break. I made this with BulletSOP 1.0, but It's very completed! Differently with constraints you don't care and It will break on right places!

For greater stability you can increase damping and iteration on solvers and change friction and restitution on objects. But Bullet is game solver so you can expect the best stability.

Thanks.

But maybe it's possible to parent objects under one ancillary object to get one transform AND use constraints (tetra-mesh - something like gluenetwork) internally. Not to calculate new transform per parented object but only to calculate impacts/forces. As i understand constraints are implemented already and can calculate when to break. So you have your compound behaving like one object and bunch of constraints (not visible to user). And as soon as all constraints is broken for particular object you know that it's time to unparent it. This way you don't need to implement your own algorithm for impact propagation.

p.s. i'm noob in this topic so it might be completely stupid=)

Link to comment
Share on other sites

The new version is performing really well! But sometimes it does not stop cooking. The scene is not frozen, but when I hit the play button it steps only one frame forward and then it stops again. The only solution is to restart houdini, then it works again. Would be nice if you could take a look at it :)

For our new project we have to use many constraints and while we have been testing (speed is really awesome btw) we thought it would be cool if you could say I want constraints based on the distance like its already implemented but only between the objects of two groups (e.g. group A and B ) but not inbetween the objects inside one group. So all objects of group A with the objects in the specified distance to group B, but not piece 1 to piece 2 if they are both in group A. I hope my explanation is understandable.

Thanks for your help and cheers

Edited by OrangeSed
Link to comment
Share on other sites

Thanks.

But maybe it's possible to parent objects under one ancillary object to get one transform AND use constraints (tetra-mesh - something like gluenetwork) internally. Not to calculate new transform per parented object but only to calculate impacts/forces. As i understand constraints are implemented already and can calculate when to break. So you have your compound behaving like one object and bunch of constraints (not visible to user). And as soon as all constraints is broken for particular object you know that it's time to unparent it. This way you don't need to implement your own algorithm for impact propagation.

p.s. i'm noob in this topic so it might be completely stupid=)

This can works, but beauty of this tool is that everything is transparent. That's the reason, why I add padding parameter to bt_prepare node. In older betas I apply padding internally in bt_solver node and If something happened user didn't have clue why is not working :( But I will look on this constraint - unstability!

The new version is performing really well! But sometimes it does not stop cooking. The scene is not frozen, but when I hit the play button it steps only one frame forward and then it stops again. The only solution is to restart houdini, then it works again. Would be nice if you could take a look at it :)

For our new project we have to use many constraints and while we have been testing (speed is really awesome btw) we thought it would be cool if you could say I want constraints based on the distance like its already implemented but only between the objects of two groups (e.g. group A and B ) but not inbetween the objects inside one group. So all objects of group A with the objects in the specified distance to group B, but not piece 1 to piece 2 if they are both in group A. I hope my explanation is understandable.

Thanks for your help and cheers

Thank you,

I can add new parameter "copy point attributes" to constraint generating tab. So you will be able to set to every point some number(group_id), then you generate constraints and then you can use delete node with some expression(If two objects have same group_id, ...) and remove some constraints. This will be more general solution!!!

Link to comment
Share on other sites

Really thank you Milan Suk!!

and very glad you share the source file,

it's very helpful!!

thx a lot !!!

thx,

Source file is just example, for users whose want to buy source code :)

So you can see structure and comments, nothing special.

OrangeSed:

I will not implement new "copy point attributes" parameter, because It can be solved with standard nodes. I added new scene to example file.

If you need it right know, send me email and I will send it to you, otherwise It will be released with next BulletSOP version.

Edited by MilanSuk
Link to comment
Share on other sites

Is it possible to change the compound index during a sim? Changing the cindex within a compound object causes a crash for me every time.

And, again, thanks for this awesome plugin!

Thank you,

Yes, It's supported. I just fixed few problems(with animating bt_cindex attribute) and can you send me some simple example where It crashed?

Or I can send you the latest version(at this moment only Win64)

Link to comment
Share on other sites

Turns out that changing bt_cindex was not causing the crash. It was from removing a property associated with a compound object and not forcing it to update before solving. A btModify SOP with "update" set to 1 fixes this.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...