Friday, July 2, 2010

Bullet SoC - Heads 're rolling [Updated]

After a few days' work, I think it's now time for another round of video updates :) Artifact 4 - Animated properties and simulation controls http://vimeo.com/13029755 Artifact 5 - Rolly-Polly: Collision shapes http://vimeo.com/13031113 Artifact 6 - Pong! Recording animation live from the viewport (using realtime transform recording feature), and seeing live/realtime physics feedback including collisions while recording. Update (July 3rd, 5:30pm): new video now available after some bugz were squashed this morning http://vimeo.com/13051630 In response to some viewer comments, I've slowed down the videos a bit (both times recorded at 10fps; last time video apparently used 10fps, but this time I've set that to 5fps). I've also had to make some changes to my video-making pipeline to make the files more manageable. There'll be a post with the specifics of this process tomorrow. So, what have I been working on "behind the scenes" to make all of this possible:
  • A new C-API for Bullet - this allows accessing more parts of Bullet than the API provided by Bullet. Also, this gives more balanced access to settings than most of Bullet itself does IMO
  • Hooked up simulation engine and tools (Blender-side) to the new API, replacing links to the old stuff
  • Hooked up RNA property setters to the new API, so that simulation-objects are updated when RNA properties are edited. Also, this allows these settings to be animated (and driven) using standard Animation System controls.
  • Adding new tools/capabilities making use of the new API
  • File IO - Rigid Body setups can now be saved and reloaded. Newly reloaded files will not be valid until you rerun the sim from the first frame for now.
Next up, my primary targets are probably going to be:
  1. Implement motion cache support, both for baking complex sims, and also for allowing playback review
  2. Bullet constraints support - I haven't touched on this area yet, but it's about time that I started moving on that area
  3. If time allows, also start investigating an API for making widgets.
Of course, as I found during the making of some of these videos, that there are some bugs that need addressing. As always, I've tried to mask these in the videos, but they will and do crop up when you will try to use it. (Notably, demo 5 will have the objects popping back to their original locations one by one eventually, since the objects start 'sleeping' and Bullet starts forgetting about them. I'll have to do something about that...) Anyways, hopefully these videos have been informative and interesting. We'll try to do this again next week :)

    3 comments:

    1. Very happy to see how this is getting better and better! I'm anxious to see that 6th Artifact!

      Cheers!

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

      ReplyDelete
    3. I have to say that's really impressive! A more organic way to interact with simulations an animate extra-stuff in consequence... don't know how the other software handle this (I mean I've never used them, but did read your research), but this is looking very promising!

      Keep up that awesome work!

      ReplyDelete