Bullet physics implementation and other stuff

   301485   385   4
User Avatar
Member
255 posts
Joined: Aug. 2009
Offline
splitpoint: Glad to hear it

Ratmann: I am using this code from erwin: http://code.google.com/p/bullet/issues/detail?id=90#c12 [code.google.com]
but I make a lots changes, so its complicated




Anyway, I created my first SPH fluid solver which I am implementing to the bullet right now. First test show me that its really fast - 320 000particles with 6fps.
I have collision fluid with bullet convex object, where fluid and objects has reaction, so its two side.

Some stuff is simulated on GPU wia OpenCL - the reason for the speed.

I am using ATI 4000series(RV730) so this is old card, but I was a surprised with the speed :shock: :shock: :shock:
I can not wait some test in houdini a compare with FLIP. Who wins?
https://vimeo.com/user3251535 [vimeo.com]
https://twitter.com/milansuk [twitter.com]
https://github.com/milansuk [github.com]
User Avatar
Member
1769 posts
Joined: Dec. 2006
Offline
awesome news Milan!
daniel bukovec | senior fx td | weta digital
qLib -- http://qlab.github.io/qLib/ [qlab.github.io]
User Avatar
Member
334 posts
Joined: July 2007
Offline
320 000 SPH particles with 6fps!! Thats impressive!

Cant wait to try out next release! hehe
www.gimpville.no
User Avatar
Member
1769 posts
Joined: Dec. 2006
Offline
does bullet support refracturing?
daniel bukovec | senior fx td | weta digital
qLib -- http://qlab.github.io/qLib/ [qlab.github.io]
User Avatar
Member
255 posts
Joined: Aug. 2009
Offline
Korhon: I have first test in the bullet with 384 000 and its around 4fps, because there is back update points to the bullet. My GPU has load around 50%. But 4fps is nice

I am sure that next release will NOT support fluids, because there is a lot of work to do and I need to test on some nvidia too. Next release will have btCompoundShape support for better fracturing stability.



buki: what do you mean refracturing? Like when one object collide with other and after collision they glue together. The Erwin code include this, so I can support it. one question, where do you use it??? If I can ask.
https://vimeo.com/user3251535 [vimeo.com]
https://twitter.com/milansuk [twitter.com]
https://github.com/milansuk [github.com]
User Avatar
Member
31 posts
Joined: May 2008
Offline
cybermax
Anyway, I created my first SPH fluid solver which I am implementing to the bullet right now. First test show me that its really fast - 320 000particles with 6fps.
I have collision fluid with bullet convex object, where fluid and objects has reaction, so its two side.

Some stuff is simulated on GPU wia OpenCL - the reason for the speed.

sesi, where are you? hire this guy!
User Avatar
Member
1769 posts
Joined: Dec. 2006
Offline
i mean dynamic refractureing, so when something is prefractured and while it collides, it dynamically fractures further to smaller pieces on the fly.
daniel bukovec | senior fx td | weta digital
qLib -- http://qlab.github.io/qLib/ [qlab.github.io]
User Avatar
Member
1 posts
Joined: Sept. 2010
Offline
cibermax, great job with the bullet implementation!

I'm interesting in multijoints technology. Where I can find information about this? code examples or papers. I want implement multijoints for Maya Bullet.

Thanks!
User Avatar
Member
255 posts
Joined: Aug. 2009
Offline
neonshaun
sesi, where are you? hire this guy!
I am student to the January, so I have work

buki
i mean dynamic refractureing, so when something is prefractured and while it collides, it dynamically fractures further to smaller pieces on the fly.
Ok, I can try something like that, but after btCompoundShape has to been done.


intervic
cibermax, great job with the bullet implementation!
I'm interesting in multijoints technology. Where I can find information about this? code examples or papers. I want implement multijoints for Maya Bullet.
Thanks!
I did not use some code examples or papers. Just I have toler distance and If vertex on the models have less distance than toler, I just create constraints. Then When I simulating I check force on every constraints and If force is bigger than toler force, I delete constraints from the scene.
It simple algoritm, but results are so coool.


PS: I am preparing first example video with fluids
https://vimeo.com/user3251535 [vimeo.com]
https://twitter.com/milansuk [twitter.com]
https://github.com/milansuk [github.com]
User Avatar
Member
77 posts
Joined: April 2009
Offline
cybermax
I just create constraints. Then When I simulating I check force on every constraints and If force is bigger than toler force, I delete constraints from the scene.
That could be cool to have another option, something like “weariness”.

I mean - the constrain can be deleted after many-many “light” damages…
User Avatar
Member
255 posts
Joined: Aug. 2009
Offline
vyudin
That could be cool to have another option, something like “weariness”.

I mean - the constrain can be deleted after many-many “light” damages…
Cool idea, I add to my plan.
https://vimeo.com/user3251535 [vimeo.com]
https://twitter.com/milansuk [twitter.com]
https://github.com/milansuk [github.com]
User Avatar
Member
255 posts
Joined: Aug. 2009
Offline
Video presenting my new fluid system here: http://vimeo.com/15536503 [vimeo.com]

Nothing unusual, still WIP.

Aprox. release is december, there is a lot of work and optimization.

For more info read description on video page.
https://vimeo.com/user3251535 [vimeo.com]
https://twitter.com/milansuk [twitter.com]
https://github.com/milansuk [github.com]
User Avatar
Member
334 posts
Joined: July 2007
Offline
This looks so cool! The speed is just amazing.
I never expected to see such speed in houdini in ages.
The guys at sidefx got something to be inspired by!!


Great work!!!
www.gimpville.no
User Avatar
Member
255 posts
Joined: Aug. 2009
Offline
Korhon
This looks so cool! The speed is just amazing.
I never expected to see such speed in houdini in ages.
The guys at sidefx got something to be inspired by!!


Great work!!!

thx,
I think that fluids( SPH ) running in GPU Its nothing special in year 2010. There is some limits, but Its a milions of particles, So I think that SESI are developing right now or they will develop, because this is future!!!
https://vimeo.com/user3251535 [vimeo.com]
https://twitter.com/milansuk [twitter.com]
https://github.com/milansuk [github.com]
User Avatar
Member
1769 posts
Joined: Dec. 2006
Offline
awesome!
daniel bukovec | senior fx td | weta digital
qLib -- http://qlab.github.io/qLib/ [qlab.github.io]
User Avatar
Member
255 posts
Joined: Aug. 2009
Offline
I am just created first scene with btCompoundShape “constraint” system. Its more stable than constraint for thousands object, but Its provide little different effect while breaking, so Its something different but its looking good

Firstly, I dont use code from Erwin( btFractureBody ), my solution is similar, but I have different breaking body structure and breaking btRigidBody its self.

I changed drastically the source code and I make some changes in bullet library too :? So now I will repair other plugin features(collision group, update attribute, etc…), because with different structure a lot of thing changed

Next version in early November :wink:
https://vimeo.com/user3251535 [vimeo.com]
https://twitter.com/milansuk [twitter.com]
https://github.com/milansuk [github.com]
User Avatar
Member
303 posts
Joined: May 2007
Offline
i found the fracture must with some offset(cut plane offset),when the camera is too close or render as glass,there are artifacts,so is there any information like dopimport's transform input geometry groups?
https://vimeo.com/user3971456/videos [vimeo.com]
User Avatar
Member
255 posts
Joined: Aug. 2009
Offline
luoqiulin
i found the fracture must with some offset(cut plane offset),when the camera is too close or render as glass,there are artifacts,so is there any information like dopimport's transform input geometry groups?
I dont know, how DOP, but my plugin will have two geo inputs, lowres(for collision) and highres(for rendering), so you can have object, which you break twice(first with some plane offset, second with zero).

If you read bullet manuals, you know that solver needs some collision margin, so you need some “space” between objects :!:
https://vimeo.com/user3251535 [vimeo.com]
https://twitter.com/milansuk [twitter.com]
https://github.com/milansuk [github.com]
User Avatar
Member
255 posts
Joined: Aug. 2009
Offline
update:
ok, I made some changes in btCompoundShape and now its more stable, faster and with any errrors(what I know). It can use different(random) max_force attribute which creating nice destruction effects - for concrete looks better than classic constraint.

Fluid system has many changes too. Its more stable, little bit faster and with better collision a pushing objects


PS: only bullet_solver source code has more than 5000rows :shock:
https://vimeo.com/user3251535 [vimeo.com]
https://twitter.com/milansuk [twitter.com]
https://github.com/milansuk [github.com]
User Avatar
Member
39 posts
Joined:
Offline
Any updates?
  • Quick Links