Jump to content

Releases


Jason

Recommended Posts

Here is 0.1 of the Bullet Physics Solver!

Please try it out, those interested in it!

For a complete state of the solver, see: BulletPhysicsRBDSolverDOP

Summary:

Current State as of this post

- it supports triangles and primitive sphere as geometry inputs only.

- it supports the basic forces.

Pending Tasks

- the basic framework for carrying Bullet Data on the objects to be able to swap the input geometry with stand-in primitives is there (see the "Bullet Data" section in the code) but there is no code to do that yet. the idea is to support boxes, spheres, capsules with either a manually places transform, or an auto-fit transform (bbox, oriented bbox)

- i'd love it if someone could implement constraints. they scare me.

enjoy,

jason

.

SIM_SolverBullet_0.1.tar.gz

post-4-1226371440_thumb.jpg

Link to comment
Share on other sites

  • Replies 80
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

Thanks Mario:)

So here is 0.11 - which is a lot better, I think. The thing supports adding primitive shapes for the colliding shapes, as well as a flag to Autofit the primitive box or sphere to the incoming geometry. This should shorten the manual set-up time to organise these substitutions.

The biggest outstanding issues are:

- getting the Use Object Transform to work. The Bullet "CompoundShape" method confuses the hell out of me (for now) - but I'm sure I don't mind letting someone else handle that, perhaps? :)

- The COM is thus at the origin of each object. A pain in the butt but its kinda OK. I'd really like to get the Use Object Transform to work and it should sort out both issues at once.

Newer ideas for another day:

- Use the Oriented Bounding Box to find the best bbox for the Autofit. This would have to make a prim of the right dimensions and then add the rest of the xform to the initial position. This could even be used to fit a Capsule shape by using the capsule shaft for the longest axis of the obbox.

- Create some compound primitive shapes on the fly - like a three-box "pitton" shape. Boxes and Spheres are obvious when stacking stuff, but a slightly irregular shape might look a lot better for things like rock chunks. Also a simple Sphere filling algorithm might be nice too, possibly using level-sets to fill spheres.

Cheers,

Jason

SIM_SolverBullet_0.11.tar.gz

Link to comment
Share on other sites

- Use the Oriented Bounding Box to find the best bbox for the Autofit.

If you're interested in doing this, and you have a primitive group of polygons, there's a GU_Detail::getOBBox() method you can use which returns you the OBB transform. eg.

UT_Matrix4 obbxform;
UT_Vector3 radii;
float xmin, ymin, zmin, xmax, ymax, zmax;
gdp->getOBBox(primgroup, obbxform, radii);
xmin = -radii[0]; ymin = -radii[1]; zmin = -radii[2];
xmax = +radii[0]; ymax = +radii[1]; zmax = +radii[2];

Link to comment
Share on other sites

If you're interested in doing this, and you have a primitive group of polygons, there's a GU_Detail::getOBBox() method you can use which returns you the OBB transform. eg.

UT_Matrix4 obbxform;
UT_Vector3 radii;
float xmin, ymin, zmin, xmax, ymax, zmax;
gdp->getOBBox(primgroup, obbxform, radii);
xmin = -radii[0]; ymin = -radii[1]; zmin = -radii[2];
xmax = +radii[0]; ymax = +radii[1]; zmax = +radii[2];

Thanks for the pointer, Edward :) I was wondering how to use that. However, I think I'm going to give the project a little break as I have other things to do for a little while.

Link to comment
Share on other sites

Careful with getOBBox() though. It will produce bad results for objects with symmetries. Like a cube.

-n

If you're interested in doing this, and you have a primitive group of polygons, there's a GU_Detail::getOBBox() method you can use which returns you the OBB transform. eg.

UT_Matrix4 obbxform;
UT_Vector3 radii;
float xmin, ymin, zmin, xmax, ymax, zmax;
gdp->getOBBox(primgroup, obbxform, radii);
xmin = -radii[0]; ymin = -radii[1]; zmin = -radii[2];
xmax = +radii[0]; ymax = +radii[1]; zmax = +radii[2];

Link to comment
Share on other sites

  • 1 month later...
  • 1 month later...

Hi!

I'm trying to compile the Bullet Physics RBD Solver DOP without any good results... I keep getting this error message:

root@mont-workstudy-rh:~/Desktop/SIM_SolverBullet-0.11/src# ./compile_example.sh 

Making debug version

Install directory = '.'

Linking with 'libBulletDynamics'

Linking with 'libBulletCollision'

Linking with 'libLinearMath'

Making SIM_SolverBullet.o and ./SIM_SolverBullet.so from SIM_SolverBullet.cpp

In file included from SIM_SolverBullet.cpp:9:

../../bullet-current/src/BulletCollision/Gimpact/btGImpactShape.h: In copy constructor

Link to comment
Share on other sites

Yeah, I'm getting odd and unexpected errors with 2.73sp1 and 2.74 now :( Some complaint about the libraries and such. The old bullet-2.73-alpha-trunk-r1444 seemed to work for me before, just none of the new ones. I'll keep hacking at it.

..../src/BulletDynamics//libBulletDynamics.a(btSequentialImpulseConstraintSolver.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC

../../bullet-current/src/BulletDynamics//libBulletDynamics.a: could not read symbols: Bad value

Link to comment
Share on other sites

  • 1 month later...
  • 2 months later...

I want to start working with the Bullet plug-in for Houdini but I'm having

a problem with the MSVCDir variable that you create just to get the HDK working.

I'm working on a window 32 bit where I set the variable to

C:/Program Files/Microsoft Visual Studio 8/VC

and I can run hcustom in the command line with an error that I'm

missing files. Based on the site http://odforce.net/wiki/index.php/HDKFrequ...yAskedQuestions

Setting up the variable I have to added three other paths

"c:/vstudio8/VC/bin";"c:/vstudio8/Common7/Tools/bin";"c:/vstudio8/Common7/IDE"

when I do this hcustom say that variable is set but doesn't point to a valid directory.

I've tried with "" without "" with \ with /. If anyone could help me out I would be great full.

Thanks

Link to comment
Share on other sites

c:/vstudio8/VC was just an example. You need to substitute that with the actual value of MSVCDir that you are using. I'm also pretty sure that your MSVCDir CANNOT have spaces. Use the 8.3 form of the directory (eg. such as what dir /x gives you).

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...