Bullet physics implementation and other stuff

   303668   385   4
User Avatar
Member
22 posts
Joined: Nov. 2010
Offline
cybermax
BUT When I end this client/server version I can send you server.exe and source codes for plugins and you can try to rewrite code for maya. So What do you think?
No problem! It's my pleasure! Looking forward to your good news and step back to finish my bullet SOP solver quickly!
User Avatar
Member
22 posts
Joined: Nov. 2010
Offline
Finally,I finish my work!!!
For the easy use,my bullet solver is a simple color system,
red is active,blue is static,cracks with same green color are a big block,I use my compoundGroup to constrain the cracks,setting up constraint at contact point,It looks fine,
and in the simulation artist only need to control the color of groups they need to get move or stop,I like this style and is really easy to use, maybe I can make some demo someday!
but speed is not good enough,because I use piles of constraints just for effect and easy use ,speed or not,it is a question!
User Avatar
Member
255 posts
Joined: Aug. 2009
Offline
oh_qxs
Finally,I finish my work!!!
For the easy use,my bullet solver is a simple color system,
red is active,blue is static,cracks with same green color are a big block,I use my compoundGroup to constrain the cracks,setting up constraint at contact point,It looks fine,
and in the simulation artist only need to control the color of groups they need to get move or stop,I like this style and is really easy to use, maybe I can make some demo someday!
but speed is not good enough,because I use piles of constraints just for effect and easy use ,speed or not,it is a question!
Interesting system, maybe create some video and inspire other users.
Try to use some “profiler”, which can allow you find your slow code. This limits dont sound like a “slow speed”, so I think that problem is somewhere else :?


Anyway, I work on new solver, which is design for solving fast fluid in sort time, so You keep fingers crossed, I think It will be really fast.
https://vimeo.com/user3251535 [vimeo.com]
https://twitter.com/milansuk [twitter.com]
https://github.com/milansuk [github.com]
User Avatar
Member
22 posts
Joined: Nov. 2010
Offline
cybermax
Try to use some “profiler”, which can allow you find your slow code. This limits dont sound like a “slow speed”, so I think that problem is somewhere else :?
“profiler”,you mean ??for example….

cybermax
Anyway, I work on new solver, which is design for solving fast fluid in sort time, so You keep fingers crossed, I think It will be really fast.
oh man,happy to hear that and I AM getting ready to be shocked down!!!

BTW, can you explain to me how to automatically test concave polygon? I can not understand the testConvex function in your bullet solver actually ops:
User Avatar
Member
255 posts
Joined: Aug. 2009
Offline
oh_qxs
“profiler”,you mean ??for example….
for example:
http://en.wikipedia.org/wiki/VTune [en.wikipedia.org]
http://www.codersnotes.com/sleepy/ [codersnotes.com]

oh_qxs
BTW, can you explain to me how to automatically test concave polygon? I can not understand the testConvex function in your bullet solver actually ops:
For every convex object is true, that If you compute normal for any polygon(normal direct from object), all other object points must place on back side. you can easily test this with “dot product of normal and test point”+d. If results for all planes are less that zero, object is convex.

note: plane is : ax+by+cz+d=0, where a,b,c is test point and x, y, z is normal.
note2: normal of plane you can get with cross product of two edge of polygon.

hope that you understand, its basic mathematic, which you need to know, If you want to program CG :?


edit: ouuu, I am not home, so I cannot see the code, but I think, my code has some toleration so its not “less that zero”, but “less that toler” :wink:
and maybe I have normals, which direct to the object, so its revers “more that -toler” :!:
https://vimeo.com/user3251535 [vimeo.com]
https://twitter.com/milansuk [twitter.com]
https://github.com/milansuk [github.com]
User Avatar
Member
22 posts
Joined: Nov. 2010
Offline
cybermax
hope that you understand, its basic mathematic, which you need to know, If you want to program CG :?
got it and understand completely!Many thanks man!

cybermax
edit: ouuu, I am not home, so I cannot see the code, but I think, my code has some toleration so its not “less that zero”, but “less that toler” :wink:
and maybe I have normals, which direct to the object, so its revers “more that -toler” :!:
OK,I know,it's absolutely helpful!!! BIG HUG AND LOVE YOU!
User Avatar
Member
2 posts
Joined: April 2011
Offline
my test:
http://www.youtube.com/watch?v=6meJjxX20zA&hd=1 [youtube.com]

bullet + voronoi fracture test

sim speed : avg 2-10 frame rate

I love houdini
User Avatar
Member
22 posts
Joined: Nov. 2010
Offline
This is my bullet SOP solver test video, a easy use color control solver, and here is the simple test ,final test is going on…
http://v.youku.com/v_show/id_XMjYzNDAyNTky.html [v.youku.com]
User Avatar
Member
255 posts
Joined: Aug. 2009
Offline
wxaj0928: very nice, but this is your implementation, so with “my test” you mean “my solver”!!

oh_qxs: I can not load your page, Its loading over minute, but its still empty :?
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
Some news:

I start implementing RBD to client/server system and I dont know what I smoked(not real, I dont smoke :shock: ), but I find few very crazy things in plugin source code, which you can see.

So firstly:
Using input->getPointAttribute(“…”) in loop is very very slow, so right place is before loop and then in loop, you can use only setElement. This is problem with speed, so its not bug, but Its on many place in code, so be carefull with this.

Second:
If you want to delete array, dont use delete array but delete array. First code delete only pointer. I found this on few place too.

Next problem:
Sorry, I just forgot other problems, but It exists :?
Edited by - May 1, 2011 20:23:22
https://vimeo.com/user3251535 [vimeo.com]
https://twitter.com/milansuk [twitter.com]
https://github.com/milansuk [github.com]
User Avatar
Member
2 posts
Joined: April 2011
Offline
http://www.youtube.com/watch?v=4ufjeDdlYsE&hd=1 [youtube.com]
http://www.youtube.com/watch?v=riNe28qMANE&hd=1 [youtube.com]
use cybermax's Bullet solver
I just increase the realtime fracture
but,Dop have “Autofreeze” node
How do I achieve the bullet SOLVER
Edited by - May 3, 2011 18:11:58
User Avatar
Member
255 posts
Joined: Aug. 2009
Offline
wxaj0928
http://www.youtube.com/watch?v=4ufjeDdlYsE&hd=1 [youtube.com]

use cybermax's Bullet solver
I just increase the realtime fracture
but,Dop have “Autofreeze” node
How do I achieve the bullet SOLVER

Yeeh, nice work with real-time fracture.
You can describe “Autofreeze” function, I do not know DOP network much
:?
https://vimeo.com/user3251535 [vimeo.com]
https://twitter.com/milansuk [twitter.com]
https://github.com/milansuk [github.com]
User Avatar
Member
22 posts
Joined: Nov. 2010
Offline
cybermax
oh_qxs: I can not load your page, Its loading over minute, but its still empty :?

Sorry buddy, because some network reason I can not upload my video to eithor youtube or vimeo, I tried kinds of ways, maybe I should think about buying VPN service, :evil:

To wxaj0928: finally I connected to the youtube and your test looks great, do you want try some building test like shots in “2012”, I am doing this at the moment and its a hard work really
User Avatar
Member
22 posts
Joined: Nov. 2010
Offline
I have to say, I‘m going crazy about the convex decomposition, It's too unstable when I use it to approximate a piece of broken wood, sometime the result is fine, but occasionally, the decomposition shape counts go to zero and houdini cracks, the crack code is this line: “ cb.process(desc) ” which I copied from convexDecompositionDemo, I dont know ,am I do something wrong? :cry:
here is the cracked piece of wood.

Attachments:
brokenWood.jpg (7.0 KB)

User Avatar
Member
22 posts
Joined: Nov. 2010
Offline
opppps,the problem has been solved temporarily, It is because the point's number in geometry, so I export the geometry first as obj file, then read from file and do convex decomposition then, It is ok, I will find the true reason :twisted:
User Avatar
Member
304 posts
Joined: May 2006
Offline
Hi cybermax.

Autofreeze is a DOP node that checks the “energy” left on every “dobject” and if it is below the threshold given by the user it takes out that dobject from the simulation.

It´s very handy because as the pieces stop around the simulation gets faster and also you never have unwanted vibrations at the end.

I will also take the chance to thank you again for the bullet solver. I´m having a lot of fun playing with it. 8)
I would like to ask you a couple of questions. In case of an object that collapses slowly and gradually from one side to the other what is the best method to follow? Would it be using multijoints?

Also, regarding forces…The bullet_force looks like a directional force. Is it the only type of force available? (if it is, then ok…just asking).

Thanks.
Javier Meroño
FX TD.
User Avatar
Member
255 posts
Joined: Aug. 2009
Offline
oh_qxs
opppps,the problem has been solved temporarily, It is because the point's number in geometry, so I export the geometry first as obj file, then read from file and do convex decomposition then, It is ok, I will find the true reason :twisted:
If you use decompositon from bullet example files, be carefull. Its APPROXIMATE Convex Decomposition, so finall body(object) can be compress(deform) and If you have two or more pieces which are close, solver explode this objects. I am preparing new sop node for decomp, but I use my algorithm(I used this alg. some time, but in last few days, I worked on it, and its better), which create convex bodies, which is not deform!

Netvudu
Hi cybermax.
Autofreeze is a DOP node that checks the “energy” left on every “dobject” and if it is below the threshold given by the user it takes out that dobject from the simulation.
It´s very handy because as the pieces stop around the simulation gets faster and also you never have unwanted vibrations at the end.
I will also take the chance to thank you again for the bullet solver. I´m having a lot of fun playing with it. 8)
I would like to ask you a couple of questions. In case of an object that collapses slowly and gradually from one side to the other what is the best method to follow? Would it be using multijoints?
Also, regarding forces…The bullet_force looks like a directional force. Is it the only type of force available? (if it is, then ok…just asking).
Thanks.
Autofreeze: Yes, bullet include this function, I can implement.

Fracture X Constraints: like a default I recommend constraints which create better result, but If you have many thousand constraints, Its vibrate, so in this case, you can use fracture or combine!

bullet_force: Its point force, so You can have volume, where every voxel has one force and you can simulate for eg. wind.
https://vimeo.com/user3251535 [vimeo.com]
https://twitter.com/milansuk [twitter.com]
https://github.com/milansuk [github.com]
User Avatar
Member
338 posts
Joined: Sept. 2006
Offline
Hi Cybermax
Thanks for the great work on you bullet implementation. I tried this out a while ago on my old machine and it was working great. Ive recently had to replace my machine and i cant seem to get a working version of your bullet tools and example projects.

When we run with the latest win64 build, all we get is a single point falling down. So im guessing we need a new version of the plugins compiled. The single point seems to originate from the bulletProperties node.

Any chance you can compile for Houdini 11.0.737 win64bit? We would love todo some tests with your bullet setup :¬) Will the old example projects still work ok with the newer builds?
Cheers
Nick
User Avatar
Member
255 posts
Joined: Aug. 2009
Offline
niko3d
Hi Cybermax
Thanks for the great work on you bullet implementation. I tried this out a while ago on my old machine and it was working great. Ive recently had to replace my machine and i cant seem to get a working version of your bullet tools and example projects.

When we run with the latest win64 build, all we get is a single point falling down. So im guessing we need a new version of the plugins compiled. The single point seems to originate from the bulletProperties node.

Any chance you can compile for Houdini 11.0.737 win64bit? We would love todo some tests with your bullet setup :¬) Will the old example projects still work ok with the newer builds?
Cheers
Nick
I work on new version where all bullet code is on server side(exe file). But I dont support new version anymore, so maybe some other user can help you, or you need to install visual studio 2005 and compile for yourself :shock: . Your problem is not about old/new machine, but version of Houdini.
https://vimeo.com/user3251535 [vimeo.com]
https://twitter.com/milansuk [twitter.com]
https://github.com/milansuk [github.com]
User Avatar
Member
338 posts
Joined: Sept. 2006
Offline
Hi cybermax

Ok, wasnt sure on the status of things. Its abit weird we did try the 581 version with houdini 11.0.581 but we had the same problem of the single point floating down. When it was compiled the problem occurred again. Has anyone else had this problem and solved it?
Cheers
Nick
  • Quick Links