Results 1 to 2 of 2

Thread: Bullet Physics : Kinematic / Deforming Item interaction

  1. #1
    Super Member Kryslin's Avatar
    Join Date
    Feb 2009
    Location
    Prescott, IA
    Posts
    1,523

    Bullet Physics : Kinematic / Deforming Item interaction

    Ok, I have a scene which has two objects controlled by Bullet:
    1) Is a collision hull, set as a kinematic object, driven by the bones of the character.
    2) Is a deforming object (hair guides), with all the finicky values set where I want them.

    Now, as the bone that controls #2 swings the hair around, It interacts with #1 as expected; the hair guides deform around the collision hull.
    However, the inverse is NOT true; when #2 is rotated, #1 is NOT pushed/deformed, like one expects it to be.

    Any suggestions? I can bastardize the content for posting if needed, but it will take a while...
    --------
    My Scripts for Lightwave
    Intel Core i7 960 @3.20 Ghz, 24 GB ram, EVGA 6GB GTX980Ti "Classified" driving 2 x HP LA2405.

  2. #2
    Eat your peas. Greenlaw's Avatar
    Join Date
    Jul 2003
    Location
    Los Angeles
    Posts
    7,164
    That's correct.

    It's been awhile since I did this but here's what I recall: to make a bones deforming object have collision with another deforming object, you need to .mdd the mesh being deformed by bones first and then set it to be deforming object rather than a kinematic object.

    For character interaction with hair, I normally suggest against this approach because it becomes significantly slower to calculate (to slow for me anyway, and also too slow for the studios I've worked at.) This is why parenting proxy collision of objects and using Kinematic mode is usually recommended for collision. With proxies, the calculations can take a few seconds or minutes compared to hours using all deforming objects with high-res geometry.

    It seemed like there was a trick using one of DP tools that 'pre-scanned' your mesh when you added or opened your scene, and this allowed the object work as a deforming object with collision. This worked but the downside was that it took awhile to open your scene because of the 'pre-scanning' process, and I preferred to just have the .mdd applied and forget about it. If you're curious, I can check my notes about that method.

    One more thing to consider: If you use a sub-d object for collision, Bullet will use the base state rather than the sub-d version. If you need the sub-d version for collision, you'll need to use a higher res version of the object. Depending on how you modeled the base mesh, it might not be necessary though. (It's one of the reasons I avoid making my meshes too minimalist as far as polygon counts go these days.)

    I hope this info is accurate. I writing mostly from memory and it's been awhile since I last dealt with this stuff. I'll write more if I think of anything else.

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •