Thursday, May 19, 2011

ODE-ctypes in Blender



http://rpythonic.googlecode.com/files/Active-Physics-Blender-release1.zip


ODE-ctypes addon for blender is deprecated, code moved into Pyppet2 core engine.

20 comments:

  1. There's already a Summer of code project from last year that implements the Bullet physics engine in the interface. You might also take a look at that.

    ReplyDelete
  2. Yeah, check out Algorith's work at http://aligorith.blogspot.com/search/label/GSoc10

    ReplyDelete
  3. Hi Mr Hart.

    Your demo is awesome and surely shows your coding skills. I have an unrelated question though.

    Why is it that we have all these nice things in blender but we never have a, dead-simple, Counter-Strike-like or other FPS-like, way of navigating a map/scene? I'm pretty sure you have played counterstrike :) When the player dies, he can go to free look mode where he /she can easily focus an object/enemy (even a running one) using both mouse and WASD keys. Shift-F is too cumbersome.

    I asked you because your blog is a goldmine of python scripting and blender internals. Maybe you can share some ideas?

    If is it possible to implement, could you give some thoughts where to start, in case I or someone, wants to make an add-on?

    ReplyDelete
  4. Cool stuff! ..but why ODE instead of Bullet?

    ReplyDelete
  5. @squirrel-the-tire
    """Bullet is a very very very good physics engine, but has historically been weak in regards to things like motors, sliders, joints, etc. Bullet's focus was on collision dynamics, and less on building powered/articulated things ( think: robots ). This is changing, however. Lately it's looking like Bullets nearly on par with ODE for such things.

    That being said, ODE has a very easy to use C API, while bullet has a cryptic and terrifying C++ API."""

    http://www.idevgames.com/forums/thread-1608.html

    Long story short, ODE has a great C API and joints/motors.

    ReplyDelete
  6. @randomcitizen05,
    Not a bad idea, actually i am not sure how to directly catch keyboard and mouse events from blender25, of course there must be a way but i haven't researched it yet.

    ReplyDelete
  7. Awesome and necessary, this and Cycles will make blender perfect!!!

    ReplyDelete
  8. This comment has been removed by the author.

    ReplyDelete
  9. Will this work on 64 bit Win 7. I'm finding that I need a libode.dll, and have found and downloaded it, but can't figure out where to place the dll.
    Any help would be greatly appreciated.

    ReplyDelete
  10. hi Brian,
    I am prepackaging libode for Windows and OSX in the next release. It should work with Win64, if you have a 64bit libode.dll and are running 64bit blender; or run 32bit blender with 32bit libode.dll.

    You should simply be able to copy libode.dll to your blender root (where blender.exe is located). If that fails copy libode.dll into the addon sub-directory "rpythonic/cache/clibs/win64/"

    ReplyDelete
  11. I finally found a libode.dll that works, I DL'd Ogre and swiped it from there. But when I click on enable I get an error "Internal Ode Error2 bad argument(s) in dxbox" I am running 32 bit blender in 64 bit win7.
    AMD 9750 quad 2.4
    4 gig ram
    2 gig nvidia cuda card
    Buttloads of storage

    ReplyDelete
  12. Oh I forgot, I used the latest Graphical build with the Oscurant tools.

    ReplyDelete
  13. bryan,
    I haven't had time to look at that libode.dll you found. My guess is that it was compiled with single precision floats, instead of double precision floats (double is required by the wrapper). Otherwise you found a bug in my generated ode wrappers that affects Windows. No one on Windows has yet confirmed that the addon works.

    ReplyDelete
  14. Ah, guess I'll reboot into linux and have a look at it. And where can I find the correct libode.dll.

    ReplyDelete
  15. bryan,
    I tried libode.dll from Panda3d under Wine, but i get this error: "ODE Message 2: mass must be > 0" Not sure what thats all about.

    At the moment only Linux is supported, to get the addon working in Ubuntu, its as simple as "sudo apt-get install libode-dev"

    ReplyDelete
  16. After researching a bit more, from the link below, it sounds like all that is required is to compile ode with these flags: "--enable-release --enable-double-precision"

    http://tinyurl.com/42h9b2y

    ReplyDelete
  17. I got it working in Ubuntu, that was way too easy. It seems to crash blender a lot, no msg just shuts off, was getting a trackback error but not seeing it now will get a screenshot next time and post it somewhere so you can have a look if you like.

    ReplyDelete
  18. It seems it only crashes when I click on "Disable Collision"

    ReplyDelete
  19. Can you post a prepacked working blender or a tutorial about how to install it? i've tried for several months, but havent reached any results o.o

    ReplyDelete