Results 1 to 14 of 14

Thread: Bullet Dynamics-What is needed to enhance it?

  1. #1
    RETROGRADER prometheus's Avatar
    Join Date
    Aug 2003
    Location
    sweden stockholm
    Posts
    16,751

    Bullet Dynamics-What is needed to enhance it?

    was fiddling a little yesterday with bullet dynamics, and came across problems with advanced collisions, that is to have moving collision bodies that in themself are to be fractured in pieces, but they also need to move in exact path that
    is changing during itīs course..like a spacecraft or aeroplane twisting and turning before either impacting with different items.

    making it a parts body only is a little difficult to move around and donīt seem to behave correctly, you can not have it active from start,..well you could but there seem to be a lot of issues with it, and having it in sleeping mode dontīseem to work properly either, I also tested activate by key, and also releasing glue based on distance to object..neither is really good enough in my meaning.

    The best control of the item to move it without it slowing down in the simulation process until impact point, would be to use kinematic object and parent a ship to it, this way that kinematic null will be easy to move around and design impact point exactly on other items, and the other collision point will behave nicely upon impact, the problem with this is that if my ship is fractured, the kinematic null will also impact that ship and destroy it before it hits the other object.

    So a suggested feature would be to allow bullet to set groups so we can exclude the kinematic force/and other forces ..and not having it affect the very kinematic object it is parented to, I think results will be realistic enough since it will only be the kinematic object hitting a tower or some other object for instance and it will be a much faster simulation, so it is the kinematic object that breaks..but the ship object it carries will anyway affect the tower and the tower will affect the ship.

    I know the old hard fx system can be set to use groups, I was a little surprised the lightwave team never managed to get that working with the new bullet engine in itīs first release nor in the lightwave updates.


    Please folks...add your enhancement wants to this list.

    Michael

  2. #2
    Vacant, pretty vacant pinkmouse's Avatar
    Join Date
    Aug 2003
    Location
    South Yorkshire
    Posts
    1,703
    Where to start...

    Bullet needs the full set of constraints currently implemented.

    Glue strength 0f 100% should be 100%, so nothing moves until it's altered.

    Scale, it's very twitchy about the size of stuff. Is it beyond a dev's ken to calculate the bounding box of the simulated objects, then scale the calculations appropriately?

    Mass, see above.

    Groups, yes please.

    Friction. If I set an object to have 0% friction, it should have 0% friction, and not drag other objects along with it.

    Nodal control for everything.

    Have Activation Regions, as well as time, imagine being able to set a falloff on a null, drag that across a scene, and only have objects within that falloff active.

    Tied in with flocking, so flock objects avoid Bullet parts objects.

    Soft body objects that can hold a deformed shape - a blast blows up the car and bends the doors and bodywork, objects bent stay bent once the initial blast is finished, and don't spring back to their initial shape.

    Parts objects that can also have soft body simulation applied, see above.

    I'm sure I have more, but they're the things that come to mind ATM.
    Al
    "I conceive of nothing, in religion, science or philosophy, that is more than the proper thing to wear, for a while." Charles Fort

    My Website
    My Lightwave Tutorials

  3. #3
    Registered User tyrot's Avatar
    Join Date
    Mar 2006
    Location
    in lights
    Posts
    2,235
    gravity should be activated via a weight map .... that s what i can add to list. overall it is amazingly hard to combine things with T button..

  4. #4
    Vacant, pretty vacant pinkmouse's Avatar
    Join Date
    Aug 2003
    Location
    South Yorkshire
    Posts
    1,703
    Quote Originally Posted by tyrot View Post
    gravity should be activated via a weight map .... that s what i can add to list. overall it is amazingly hard to combine things with T button..
    That's what I mean by everything should be nodal, plug a weight map into a distance from item network, and even animate the rate of fall off over time. Easy if every option has an N button.
    Al
    "I conceive of nothing, in religion, science or philosophy, that is more than the proper thing to wear, for a while." Charles Fort

    My Website
    My Lightwave Tutorials

  5. #5
    Making bullet not process every keyframe beyond frame 0, regardless of whether its "activate key" is set would be a big step forward. If you have a 1000 frame animation, and the bullet simulation only needs to start in the last 100 frames, Bullet in its current state still has to calculate the first 900 frames in order to provide you a simulated result, even if the object is not changing in any way.

    Again this is one of the main reasons I picked up Syflex.
    Professional-level 3d training: Ryan's Lightwave Learning
    Plugin Developer: RR Tools for Lightwave

  6. #6
    Vacant, pretty vacant pinkmouse's Avatar
    Join Date
    Aug 2003
    Location
    South Yorkshire
    Posts
    1,703
    Eeh, nasty. Not noticed that one particularly, but can see how it would be a problem...
    Al
    "I conceive of nothing, in religion, science or philosophy, that is more than the proper thing to wear, for a while." Charles Fort

    My Website
    My Lightwave Tutorials

  7. #7
    Lots of great ideas here! I'll add Bullet should be able to collide with MDD animated mesh.

  8. #8
    Defender of Mankind Emmanuel's Avatar
    Join Date
    Feb 2003
    Location
    Germany
    Posts
    1,079
    Thats all in LW2020. I have seen it, in my crystal ball.
    Bye,
    Emmanuel

    ----------------
    For Hire
    Portfolio
    Graveyard Dogs Indie game dev blog, visit and vote for the best RPG of all time !

  9. #9
    Frankly, MDD is native to lightwave and Modo did implement already collision detection with MDD driven files.

  10. #10
    TD/Animator lino.grandi's Avatar
    Join Date
    Jun 2003
    Location
    Rome
    Posts
    1,708
    Quote Originally Posted by marchermitte View Post
    Frankly, MDD is native to lightwave and Modo did implement already collision detection with MDD driven files.
    Collision with MDD driven deformations works fine in LightWave Bullet. You just need to make the deformed object a deformation body using the right settings.
    Lino Grandi

    3D Artist at OTOY

  11. #11
    Quote Originally Posted by lino.grandi View Post
    Collision with MDD driven deformations works fine in LightWave Bullet. You just need to make the deformed object a deformation body using the right settings.
    I'm curious too; anyone here able to present a really simplified scene of an MDD-driven deforming body interacting/colliding with something? My experimentation using a lot of different settings haven't yielded any results.

    Could it be possible that the MDD must be loaded in via a specific method? Example: There's like 3-5 different ways to get an MDD file playing on a file, should we be using a certain one for this purpose?

    At this time the closest solution I can come up with is to use something like anchor to stick nulls to MDD-deformed objects to emulate collision behavior. For those who don't know what anchor is, it takes a UV map and lets you place an object onto the surface of another objects... typically it is used on "Atlas" UVs.
    Last edited by Ryan Roye; 12-16-2014 at 02:29 PM.
    Professional-level 3d training: Ryan's Lightwave Learning
    Plugin Developer: RR Tools for Lightwave

  12. #12
    I'd like to see a better volume preserving feature in softbodies like Houdini has. Amazing stuff.

  13. #13
    Member
    Join Date
    Mar 2006
    Location
    Perth, Ontario, Canada
    Posts
    119
    Quote Originally Posted by chazriker View Post
    I'm curious too; anyone here able to present a really simplified scene of an MDD-driven deforming body interacting/colliding with something? My experimentation using a lot of different settings haven't yielded any results.

    Could it be possible that the MDD must be loaded in via a specific method? Example: There's like 3-5 different ways to get an MDD file playing on a file, should we be using a certain one for this purpose?

    At this time the closest solution I can come up with is to use something like anchor to stick nulls to MDD-deformed objects to emulate collision behavior. For those who don't know what anchor is, it takes a UV map and lets you place an object onto the surface of another objects... typically it is used on "Atlas" UVs.
    Just just got this to work first time - had tried in past but had put aside - I loaded the mdd object itself and used obj properties deform mdreader to load the mdd. In bullet i set the mdd object to deforming and trick seems to be to ensure 1. shape rentention is set to 100% and 2. shape lock is set to translation and rotation. Set the obstacle object to parts in bullet - and the mdd moves the obstacle whenever it comes into contact ... have no clue if it matters how you load the mdd - anyways hope this helps !!!

    edit - sorry chazriker - also in bullet properties for the obstacle object have mass distribution set to Solid and mass specification set to 'Given Mass' - added a little extra bounce there .. but think rest is defaults
    Last edited by machbeowulf; 12-16-2014 at 07:07 PM.

  14. #14
    It kind of work, collision isn't precise at all (even increasing the steps), I have a simple test scene with moving rectangle hitting a ball, ball interpenetrates the rectangles (even playing with the collision radius, I'd have to set it up to the sphere's radius to get a decent result). Plus It's more a workaround that a real feature, the steps to get there aren't really user friendly. So It doesn't work well and It's cumbersome to get It to work (badly). Not what I call a feature. It seems to me that the collision should work as It does with any kinematic object.

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
  •