rigid body physics in Blender (was Re: [Bf-committers] SOC idea)

Erwin Coumans erwin at erwincoumans.com
Mon May 1 05:58:31 CEST 2006


Hi,

Thanks for mentioning OPAL. However, there is already a physics abstraction 
layer used in the game engine. It was used for Havok, Mathengine, Novodex, 
ODE, Bullet, Ipion and others. OPAL is mostly ODE oriented.

I can deal with the abstraction

- Hook up the abstraction to Blender, and UI. I would suggest looking into 
what rigidbody/collision data is already used in the game engine.
- Work on UI for all the concepts (rigidbody, collision shapes, constraints 
(hinge), rag dolls and so on.
- Collada 1.4 Physics Import / Export

Would be good to gather all the people (who want to be) involved.
Erwin


----- Original Message ----- 
From: "Ed Halley" <ed at halley.cc>
To: "bf-blender developers" <bf-committers at projects.blender.org>
Sent: Sunday, April 30, 2006 4:26 PM
Subject: Re: rigid body physics in Blender (was Re: [Bf-committers] SOC 
idea)


>
> Has anyone been looking at OPAL for providind a higher-level rich 
> interface to various physics?  OPAL is currently a wrapper over ODE but 
> it's intended as a general wrapper that allows any number of physics 
> solvers to operate as drop-in replacements or collaboratively.  This could 
> then insulate the scripters from caring about the specifics of ODE or 
> BULLET or SUMO or other constraint solvers, and just code to one common 
> API instead.
>
> http://opal.sourceforge.net/  --  Open Physics Abstraction Layer
>
> I haven't used it personally yet, but I will be using a (commercial) 
> toolkit that has selected OPAL for their python physics modeling 
> mechanisms, and thought I'd raise it here for the list.
>
> Willian Padovani Germano wrote:
>> Hi Erwin,
>>
>> Should have emailed you already about this. You probably know that 
>> integrating ODE in Blender has been in the plans for some time (and 
>> available in experiments via Python probably for longer than that).
>>
>> I've made some quick tests a couple months ago, been reading ODE mailing 
>> list archives and the BULLET forum and now and then we discuss a little 
>> about it during irc meetings. Now I should have time to try to code it 
>> properly, using groups to define spaces, possibly adding a new type in 
>> Blender to represent joints, etc.
>>
>>  From what I've gathered (specially from your posts to the mentioned list 
>> and forum), it seems it would be desirable to have both ODE and BULLET 
>> integrated in Blender, at least with BULLET as alternative for ODE's 
>> collision detection (you released ODE with BULLET support some months 
>> ago, from what I recall). We can also have both as alternatives for 
>> dynamics, you're obviously the right person to opinate about that.
>>
>> So, in short:
>>
>> - Integrating rigid body dynamics in Blender directly is a current and 
>> "approved" project.
>> - There are coders interested, experimenting in C or Python with ODE.
>> - A C API for BULLET is a welcome addition, for sure.
>> - The details have not been decided yet: if rigid body should become an 
>> object constraint (Ton's informal suggestion), modifier or be 
>> independent.
>> - I'd like to know your opinions about the integration: ODE + BULLET?
>>
>> As I said I'm interested and working on the ODE side and it's great to 
>> see you interested in working on physics in Blender, too. Unless you 
>> prefer to code it all yourself "in one go", I and probably others here 
>> would enjoy participating.
>>
>> Finally, as Ton frequently points, properly integrating rigid body 
>> physics with particles,  softbodies, cloth, and the rest of the animation 
>> system is also an important goal.
>>
>> This seems to be a good time to discuss / coordinate efforts, so others 
>> interested please say so, too.
>>
>> Erwin Coumans wrote:
>>
>>> In that case it would be useful to integrate Bullet collision detection 
>>> / physics more tightly into Blender (independent from the Game engine).
>>> With some performance improvements it would be very useful for 
>>> 'advanced' particles too. I can easily add a C-API to it (to avoid C++ 
>>> hassle).
>>>
>>> I would like to do this, but need someone who helps pointing out the 
>>> hooks in Blender. Would it be a rigidbody 'modifier'?
>>> Erwin
>>
>>
>> -- 
>> Willian
>> _______________________________________________
>> Bf-committers mailing list
>> Bf-committers at projects.blender.org
>> http://projects.blender.org/mailman/listinfo/bf-committers
>>
>>
>>
>
> -- 
> [ e d @ h a l l e y . c c ]
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at projects.blender.org
> http://projects.blender.org/mailman/listinfo/bf-committers
> 




More information about the Bf-committers mailing list