Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Why the heck is almost every game engine trying to switch over to Bullet physics ?

Discussion in 'General Discussion' started by Jeffmaliboe, Jan 4, 2011.

  1. Jeffmaliboe

    Jeffmaliboe

    Joined:
    Jan 1, 2010
    Posts:
    85
    Why the heck is almost every game engine trying to switch over to Bullet physics ?
    What is so special about Bullet ?
     
  2. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    11,624
    It's good, it's fast and it's open source... What more do you want?
     
  3. Thetal

    Thetal

    Joined:
    Nov 5, 2010
    Posts:
    92
    I wish Unity would switch too...
     
  4. ippdev

    ippdev

    Joined:
    Feb 7, 2010
    Posts:
    3,850
    If they did would that not kill the physx systems already in place? Meaning, the previous physx would not work under the new compiles.

    BTH
     
  5. bigkahuna

    bigkahuna

    Joined:
    Apr 30, 2006
    Posts:
    5,434
    Plus from what I'm told Bullet doesn't have some of the weird idiosyncrasies of PhysX, like how colliders tend to bounce rather than just touch, or joints go nutz under tension. These things in PhysX make simulating certain behavior nearly impossible.

    I suspect that the biggest reason Unity won't switch is because it would likely break all earlier webplayers, although I also wish that either PhysX were made more robust/accurate or they added Bullet as an alternative physics engine (something like how some other engines allow you to choose which engine you want to use for a particular build / project).

    I wonder if it would be possible to add Bullet as a Unity plugin (.DLL)? If so, would it perform as quickly / efficiently as if it were built in (or nearly so)?
     
  6. niosop2

    niosop2

    Joined:
    Jul 23, 2009
    Posts:
    1,059
    You could definitely implement Bullet as a plugin, but it wouldn't be as efficient as a built in system. I'm not sure how much of a hit you'd take performance wise, but a lot of marshaling/unmarshaling could probably be avoided by using blittable types. My gut feeling is that it would be a fair amount slower, but acceptable in cases where PhsyX is just not working for you at all.

    I'd also love to see Unity switch over to Bullet, even if it was just an option for standalone builds.
     
  7. taumel

    taumel

    Joined:
    Jun 9, 2005
    Posts:
    5,292
    Because it's free and good enough for a number of use cases.

    Secondly it's nothing new that quite some people also like to switch because it might sound hip but have no real clue what they are talking about. Havok in many cases still is #1 and it's the engine i would like to see in Unity. PhysX offers, if the API is fully exposed, quite some possibilities Bullet doesn't offer.
     
  8. Ricks

    Ricks

    Joined:
    Jun 17, 2010
    Posts:
    650
    You can be sure it has: just use the bullet physics from blender game engine and you will see how ugly it can be...
     
  9. galent

    galent

    Joined:
    Jan 7, 2008
    Posts:
    1,078
    I'll happly second the vote for Havok... of course those Havok folks seem to think they're #1... so i'm not sure how open they'd been to licensing for an engine that isn't a rounding error-close to their prices :)

    Cheers,

    Galen
     
  10. Joachim_Ante

    Joachim_Ante

    Unity Technologies

    Joined:
    Mar 16, 2005
    Posts:
    5,203
    Quite the opposite actually. We did evaluate Bullet for Unity 3.0.

    The stability of simulation in stress situations was better in PhysX than in Bullet. Performance wise PhysX was also faster than Bullet.

    The biggest reason for us to stick with PhysX however is that we don't like breaking backwards compatibility very much. Other engine vendors usually don't really care much about making it easy for customers to upgrade projects to newer versions, but we feel this is quite important because when we add new target platforms we want to make it easy for everyone to target that platform.
     
    Arsonistic likes this.
  11. Eric5h5

    Eric5h5

    Volunteer Moderator Moderator

    Joined:
    Jul 19, 2006
    Posts:
    32,401
    Unity 3 and Unity 2 already use two separate webplayers; Unity 3 content can't be played by the Unity 2 webplayer at all.

    --Eric
     
  12. taumel

    taumel

    Joined:
    Jun 9, 2005
    Posts:
    5,292
    Havok is just more serious were others are blenders or offer no solution at all plus there are very intelligent, mathematically gifted people behind Havok. I think if you enter negotiations the right way, almost everything is possible.
     
    Last edited: Jan 4, 2011
  13. bigkahuna

    bigkahuna

    Joined:
    Apr 30, 2006
    Posts:
    5,434
    Could you share what you did to evaluate Bullet? Does anyone know of any videos that compare Bullet in action versus PhysX? I've yet to see a side by side comparison anywhere.

    On a semi-related subject, I'd love to see a tutorial or documentation on how to work around some of PhysX's "oddities". Some things, like joints that go bizerk when under tension, are awefully hard to work around as there isn't any way, currently, to measure tension on a joint. Play around with Jake's rope script if you don't know what I'm talking about.
     
  14. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,601
    In the end, Bullet is the only crossplatform technology that crosses with reasonable support to more than Windows - PS3 - X360 - (Wii) as Havok and PhysX and that without bloat bombing (problem for mobile where the 9-14mb and webplayer)

    Havok would be nice, but havok suffers near the same problems as PhysX: No OSX support (physx by now does but the same bad performance as pure cpu on windows)
    Also PhysX is the worst case solution if the Win CUDA support is not used at all cause it has the worst pure CPU performance of commercially viable technologies, only Newton used to be as bad and its license never made it a reasonable tech for any use.

    And breaking the old stuff can no longer go through as a reason for not switching cause PhysX in U3 already caused enough trouble and none of the new physic features in U3 aside of collision layers work well enough if at all to be even considered for production use.
    Trivialities and standards like Softbody physic, water blocks and force fields are still missing after years of PhysX focus so the interest and focus on it seems to be more of a minor focus than a major focus.

    So technically there is no better time to switch, what they have is either just simple rigidbody physics class support or broken (clothing).
    Its clear that this path won't go any further as people expect 2010 class physics and NVIDIA has not even handed out an ETA for PhysX OpenCL from what I recall, so a switch to something that either accelerates through standard shaders like Havok or has serious multicore power like Bullet (which are working on enhancing that with serious gpu acceleration, at which point they will crush physx if they refuse to switch to OpenCL) will soon become a must, no longer a "would be really nice" as it was in the past. Even mobile devices support OpenCL, not just Windows and OSX, all without addon libraries, so for the sake of a future proof physics support, Bullet is the best possible solution.

    Havok won't go to opencl as they don't support any platform where it is the primary solution or required. On Windows they have DirectCompute and on consoles neither is required.
    Where PhysX will go aside of "to hell" will have to be seen. They had a rather easy to port platform with CUDA focus before (compared to what havok has) and didn't move the slightest bit yet, I don't expect them to go anywhere before its too late.
     
  15. taumel

    taumel

    Joined:
    Jun 9, 2005
    Posts:
    5,292
    I'm also confused by Joachim's statement about breaking backwards compatibility for V3 when looking at the mess Untity V3 can cause, both in terms of generally breaking things as well as focusing on physics (from broken stuff, different working things, half baked implementations, not beeing supported at all). V3 would have been a good chance switching to a more powerful solution or improving the already supported middleware. I'm curious about what kind of physics we'll end up once 2D is supported.

    I'm all in for getting things broken when i get something really good for an exchange.
     
    Last edited: Jan 4, 2011
  16. Alex Mat

    Alex Mat

    Joined:
    May 14, 2010
    Posts:
    177
    I'm laughing of those which are saying that Bullet is weird, has problems, and other stuffs. GTAIV has physics problems? No? Just asking, because it uses Bullet.

    The only goodie with PhysX is that you can use GPU Acceleration (nVidia Only, and don't know if Unity uses it)
     
    Last edited: Jan 4, 2011
  17. taumel

    taumel

    Joined:
    Jun 9, 2005
    Posts:
    5,292
    Sometimes it already helps if you inform yourself about different solutions, their capabilities and their shortcomings upfront, at least before you post. You can google them all and read a little bit into the subject. Admittedly if you want to get a more solid understanding, you need to test them out on your own, compare them which is rather annoying because it takes time and you need some sort of understanding of the subject. Obviously it's more entertaining and takes much less work just to post some rant. Well, each to their own.
     
  18. RElam

    RElam

    Joined:
    Nov 16, 2009
    Posts:
    375
    As much as I like bullet, and think it's a better move to 'switch' to it, the migration concerns are serious. Unity abstracts the interaction with the physics API well enough for a fairly easy transition, I'd think, but the behavior of different physics engines is, sadly, different in practice and you can't just switch one without dramatic consequences to some projects. I think it'd be best to have both running for one version of Unity to make the transition. For instance, Unity4 could support both, you choose which you want to use per project, and it could be made very clear that PhysX will not be supported in Unity5. That way, there's more than enough time for projects to ensure they've migrated to the correctly behaving engine.

    The way modern physics engines work, it's really not bad at all to abstract it this way, since they're running asynchronously anyways, so there really isn't as much tight integration as it may seem. From a pure code standpoint, it's not much different than supporting multiple rendering APIs, it's just that changes in the output of a rendering API aren't going to completely break a game like a physics engine can/will.
     
  19. Eric5h5

    Eric5h5

    Volunteer Moderator Moderator

    Joined:
    Jul 19, 2006
    Posts:
    32,401
    How do you know they didn't have to do workarounds to fix problems with Bullet? Have you seen the source code? I haven't used Bullet so I have no opinion one way or the other, but pointing at a random game is pretty useless.

    --Eric
     
  20. zumwalt

    zumwalt

    Joined:
    Apr 18, 2007
    Posts:
    2,287
    I am still waiting on someone to point out a stat chart comparison between the two engines.
     
  21. taumel

    taumel

    Joined:
    Jun 9, 2005
    Posts:
    5,292
    With your signature you should be able to work scientifically at least to some degree and come up with a nice chart on your own, right?

    I'm still waiting for you to enjoy us all!
     
  22. bigkahuna

    bigkahuna

    Joined:
    Apr 30, 2006
    Posts:
    5,434
  23. tatoforever

    tatoforever

    Joined:
    Apr 16, 2009
    Posts:
    4,364
    Yeh,
    Point out a random game is useless, Call of Duty 4 uses ODE physics. :|
    My fav still Havok.
     
  24. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,601
    You don't need such a chart for the trivial reason that Unity isn't using thats not present in every physics engine that exists on earth including even ODE I think and that although ODE was and still is primarily a collision engine, not a physics simulation engine.
     
    Last edited: Jan 5, 2011
  25. jonas-echterhoff

    jonas-echterhoff

    Unity Technologies

    Joined:
    Aug 18, 2005
    Posts:
    1,666
    When developing Unity 3.0, we did have the option to switch physics engines, as we were not required to keep web player backwards compatibility. We did evaluate both Havok and Bullet at the point, and came to the conclusion to stay with PhysX (at least for the time being).

    Havok has great performance, but is less flexible in some ways (for example collisions of cloth objects with arbitrary meshes were not supported last time I checked), plus it would not fit with Unity's licensing model. We doubt most of our users would be happy to pay per title license fees for using physics.

    Bullet looks very promising, but when we evaluated it a bit over a year ago, we were not quite convinced of it's performance and proven track record. Still, I believe it is something to keep an eye on.
     
  26. cosmodog

    cosmodog

    Joined:
    Jan 5, 2010
    Posts:
    45
    Instead of another physics engine, I would love to see some hooks to write your own. I ported some of my old code that simulates fly casting to Unity/C# and it really took a performance hit (this code runs fine on 10 year old 500 Mhz machine). I know I can write C++ plugins (and probably will) but then I lose the web player option.

    Been playing around with shaders/CG and that kind of wrapper could work for managed custom physics that runs fast.
     
  27. taumel

    taumel

    Joined:
    Jun 9, 2005
    Posts:
    5,292
    @jonas echterhoff

    I don't know how much time you've invested into investigating those options, what you did investigate exactly or how experienced you are with the subject but Havok in many cases has much more to offer compared to PhysX that it's a shame not taking the opportunity to switch if you could. It's really sad...a wasted chance. I would even say that depending on what you're doing Havok is the only serious physics engine out there.

    This is like saying we've looked into Unity but we've decided to stay with Torque.

    I'm hoping to get a) a seriously improved PhysX in Unity for now and b) Havok support in Unity for the future. And just as a note, i wouldn't mind the switch also in a V3.X, no matter if things get broken once again.
     
    Last edited: Jan 5, 2011
  28. psyclone

    psyclone

    Joined:
    Nov 17, 2009
    Posts:
    245
    Im not sure that it does, as I have run some simulations, and in unity I bottleneck around 2500 objects, but with PhysX libriaries sims I have been up around the 25000 mark....

    However, these are not definitive or nessarily repeatable.
     
  29. NomadKing

    NomadKing

    Joined:
    Feb 11, 2010
    Posts:
    1,461
    You appear to have missed Jonas' point entirely. He didn't say PhysX was the best option, or that Havok was worse, he merely pointed out 1 technical point that featured in their decision and then stated the real reason why they chose not to use Havok over PhysX. Let me bold that part for you:

    I'm pretty sure the majority of Unity users wouldn't like to pay additional engine licensing costs for every game they wanted to release, i'm certain I wouldn't.
     
  30. Eric5h5

    Eric5h5

    Volunteer Moderator Moderator

    Joined:
    Jul 19, 2006
    Posts:
    32,401
    Scripting in Unity usually runs at a pretty good percentage of native speed (the terrain engine is mostly C# scripts for example), so there's no reason why there should be much of a performance hit.

    --Eric
     
  31. Kilah

    Kilah

    Joined:
    Oct 5, 2010
    Posts:
    23
    @Taumel

    You have to consider that they may have approached Havok, but Havok might not have been interested on partnership. I may be wrong but it seems to me that Havok policy is more per product based, not Engine partnership. Also Havok lacks iOS support which is one of the main pillars of Unity success.

    Btw, don't get me wrong, I've worked with Havok before and I trully recommend it, but that doesn't necessarily means it is the right tool for Unity at this moment.

    Cheers.
     
  32. tatoforever

    tatoforever

    Joined:
    Apr 16, 2009
    Posts:
    4,364
    Its a tradeoff, things could break if switching over Havok, but you are getting a performance return which is always a winner.
    Btw, even if things breaks, i still believe it wont hurt that bad.
    If the license was a problem, i think Havok now is eating their fingernails. Unity is spreading like a virus, it could be a very good chance of spreading its middleware popularity, too bad Havok, too bad Unity.
    Please, bring havok to Unity!
     
  33. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,601
    Indeed but on the other hand Bullet would $0 vs $50k / product for PhysX and that with bullet supporting about all platforms Unity offers not just windows, x360, ps3 and since about 1.5 months OSX
    And bullet is the only solution that plans to support OpenCL.

    Havok kills itself out on its own by focusing on DirectCompute instead of OpenCL which is not even a topic for Unity as U3 decided to remain on DX9, NVIDIA so far didn't talk about the future of physx at all, ie if its intend to die in 2011 or not (if they don't move on to OpenCL, then this year will be the last one where big projects will touch it at all as the CUDA only arrogance isn't acceptable anymore with AMD having more raw TFlops than NVIDIA yet PhysX refusing to use them due to using a non-cross tech layer if a cross tech standard layer would exist with OpenCL)

    The only reason people hammer around on Havok as far as I see is likely not even the physics, but the hope that other Havok Systems might be added once the physics is present.
    Going by the speed at which already standard physx features and the console fundamental multithreading safeness and usage were added that would then be by Unity 7 in 2018
     
    Last edited: Jan 5, 2011
  34. taumel

    taumel

    Joined:
    Jun 9, 2005
    Posts:
    5,292
    @Kilah NomadKing
    The way i know some of them, i would be surprised if you can't get a reasonable agreement with them.

    The current lack of iOS support for sure is a minus but you already have the situation that Unity works different according to the platform like different renderpaths/scripting options/input possibilities/... so supporting PhysX on iOS/Android until Havok shapes up there as well whilst using it on other platforms already can make sense.

    *snip*
    Advanced Cross-Platform Optimization
    Havok Physics is optimized for use on Microsoft® Xbox 360®, Sony® PLAYSTATION®3, Nintendo® WiiTM, Sony® PSPTM, Mac, Linux and PC. The Havok Physics SDK is fully multi-threaded and hand optimized to make full use of the available hardware on all supported platforms.
    *snap*

    @Dreamora
    I guess you never used Havok in a project on your own before. Remembering your posts it's interesting how fast you turned from a Unity/CUDA lover to a Unity/CUDA hater. I doubt your raw power argument pro ATI as much as i can understand that OpenCL is as (un)sexy as OpenGL is, for the good as well as for the bad.
     
    Last edited: Jan 5, 2011
  35. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,601
    Thats no option using 2 distinct physics engines cause the differences in supported combined physics bodies etc is too large.
    It would definitely break the crossplatform targeting with little effort as you basically have 2 different games if its physics dependent (ie uses physics for more than just collision detection)
     
  36. taumel

    taumel

    Joined:
    Jun 9, 2005
    Posts:
    5,292
    Of course it is/can be.
     
    Last edited: Jan 5, 2011
  37. bigkahuna

    bigkahuna

    Joined:
    Apr 30, 2006
    Posts:
    5,434
    If switching to Havok meant having to pay an additional fee per title, that would definitely not work for me and I'd have to switch game engines (as would a majority of Unity users I suspect).

    I wonder just how feasible a Bullet physics plug in would be? How much more difficult would it make our job of using physics in our games? Would game performance really drop, considering Unity's PhysX implementation only uses one core and a Bullet Physics plug in might be able to use 4 or more cores?

    I'd be interested in learning more about the decision making process Unity Tech used to decide not use use it? Could we get some specific info on what Bullet lacks (or lacked at the time) which prevented UT from using it? I recall reading some years back how big a project porting PhysX to a Mac was for the devs back in the Unity 1.x and 2.x days, wouldn't using Bullet then mean fewer man hours to implement and update in the future?

    On the subject of physics engines, has anyone looked at this before? http://www.algoryx.se/agx
     
    Last edited: Jan 5, 2011
  38. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,601
    I love CUDA for what it is, worked with it for months.
    But not for physics cause AMD never implemented drivers for it unhappily (NVIDIA used open / licensable tech to write the cuda compiler and was always open about it, none the less ATI decided to not support it and came up with an own competition that was proprietary and was at no time able to compete even the slightest bit with CUDA.

    OpenGL might be a discussable topic due to Apple being the most incapable company on earth when it comes to not F***ing up drivers or getting their OpenGL up to date. Being as much worth as apple and being even more incapable at writing non bugged drivers than AMD just isn't reasonable and I hope they are finally going to do something about it or alternatively go to hell with desktop OS and focus on iOS only.
    But for OpenCL it is a whole different thing because that one will be adopted seriously as its or large business and scientific interest. ATIs previous CUDA competitor was nicely put S***, DirectCompute is Windows only.
    Even Apple has some rather solid interest making OpenCL working solidly (something they don't seem to have for OpenGL, as they didn't even reach OGL 3 yet and have a rather strange way of deciding what extension they intend to support and which not)
    Also, as mentioned, OpenCL 1.1 is supported on mobiles, something neither CUDA, ATIs proprietary layer nor DirectCompute offer.


    Unity is great but you know that U3 is not what people expected from a new major version and that the threading problems and lack of multithreading is something inacceptable for a new engine major released 2009+, not considering the other problems (new major, still no softbody, wtf?)
    You can not even do WWW requests in a components awake if the component is in the first scene on windows cause you have a 50%++ chance to get struck by a "get thread context" crash since 2.6 when async WWW was put in.

    Umbra has some serious bugs (stuff blinking out although its fully in view, though generally the bounding volume handling in U3 has problems) and isn't using Occlusion Queries on hardware that would support it, beast has several minor to major problems too, making both new "pro features" more of a "forseight of where we are going" for serious use than new features of 3.0

    You had your own share of problems from what I recall, so you know what I'm talking about.
     
    Last edited: Jan 5, 2011
  39. taumel

    taumel

    Joined:
    Jun 9, 2005
    Posts:
    5,292
    Hey, you don't have to tell me. :O)

    I'm very honest and direct with my opinion/experiences and got critisised quite often for beeing so, although it often turns out to be true.
     
    Last edited: Jan 5, 2011
  40. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,601
    I know, I'm no different from that and get burnt for it rather regularly too but also have great days cause I'm honest and straight in both directions. For example I love unitys editor scriptability and the fact that it can be extended rather well (less with U3 than U2 due to some artificial limitations but still much more solid than many to most other engines if done without touching sources) and U3 was another step forward on that end especially for iOS :)

    I hate talking around the stuff and put stuff "nicely" if it isn't, it does not help me nor anybody else, it just wastes time and makes the topic 10 times more complex to handle in the future.
     
  41. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    11,624
    Nah I don't think Cuda is here to stay much longer, every notable project that is still being worked on that used Cuda, is switching to OpenCL.
     
  42. galent

    galent

    Joined:
    Jan 7, 2008
    Posts:
    1,078
    Personally, I think the real underlying issue is the current state of extendability in Unity. I love the tool, and any effort around standardization, but... Every framework / IDE on earth that tries to be everything to everyone suffers from 2 problems,

    1) Lowest Common Denominator - the only way to address *most* people's needs is to create a lowest common denominator framework, and try and drag the general population up from that point. In java web development STRUTS and Spring are 2 steps in the same staircase. Yes they're good. And generally developers produce much more consistent and reliable applications. Now, if you know what you're doing (generally a team effort) can you do much much better? Yes. Microsoft IDE tools, as well as any from Oracle, IBM or others spew reams of LCD code, that is not optomized, bloated (in fact), and (in most cases) not very secure.

    2) Extensibility - that one is hard. Every step to make something easy, makes it more "locked in" to particular APIs, tools, development models, etc.... Spring has a better model than Struts 1, Struts 2 tried to address that. For Unity, the real question is when (not if, no tool like this will last long if they don't address these issues at some point) do they open up on a couple of the key areas for those who like what they see, but need more ... flexibility? Things like:

    a) Mature build/deploy (fully automated, source and library drawn, fully regression test integrated, etc....)
    b) interchangable core components (like, oh, physics engine for example)
    c) stronger plugin/extension framework (strongly tied to a)

    OpenCL? OpenGL? DirectX9-11? Havok vs PhysX? pick your favourite "pain point" and tell me, honestly, how would you invest your money and developer's time to meet the demands of ... oh ... 250,000 game developers, or even 10,000? The only answer I know of is to choose a "default" and build a great extension framework.

    Just my thoughts...

    Galen
     
  43. taumel

    taumel

    Joined:
    Jun 9, 2005
    Posts:
    5,292
    You could write pages about this but just one point Unity suffers from imho:

    Instead of beeing a small, beautiful, well thought out RISC approach Unity is more kind of bloated CISC. There are tons of commands inside Unity which i barely ever use whilst is miss certain elegant core functionality. Unity could use a redesign (concept, commands, programming languages). There for sure are many tools which are a lot worse in this respect but also a few which do a better job. It's just all not perfect.
     
  44. Alex Mat

    Alex Mat

    Joined:
    May 14, 2010
    Posts:
    177
    @ Eric5h5: I've seen a post on Bullet forum's saying that GTA IV use practicaly unaletered version of it. II also know that they used convex cast for vehicle wheels and for their character controller.
    So, don't think I'm talking without having at least a basic knowledge of the subject.
     
    Last edited: Jan 5, 2011
  45. RElam

    RElam

    Joined:
    Nov 16, 2009
    Posts:
    375
    I haven't worked with Havok, but I've worked with PhysX and Bullet, and I simply can't imagine any feature that makes paying a per title license fee for Havok worthwhile when an OS package like Bullet is freely available. Of course, who knows what license could be obtained, in the end software is sold for what people are willing to pay, and I'd imagine Havok knows their 'worst case' licensing price would never fly for Unity (and even receiving zero money is often better than sending support to your competition). I did find Bullet to be slightly slower than PhysX, but not so much that it was worth worrying about, and Bullet was more flexible as a general purpose collision lib as well as physics lib. PhysX is not a weak product though, IMO the reasons to use Bullet are more about flexibility and it being a better bet for the future. In short, if starting from scratch right now, you pick Bullet IMO, no question, but that's not the position Unity is in.
     
  46. zumwalt

    zumwalt

    Joined:
    Apr 18, 2007
    Posts:
    2,287
    Well, I think who is using it is interesting, and that the Physics in 2012 were done with Bullet, guess it can't be half bad based on the list of companies using it:
    http://bulletphysics.org/wordpress/

    2012 was huge on the need for physics simulations with cities falling apart.
     
  47. tatoforever

    tatoforever

    Joined:
    Apr 16, 2009
    Posts:
    4,364
    If the simulation is done in a pre-computed (not realtime) way, then anything (or almost) can be possible. Other than that, Bullet is free, no extra cost for that.
     
  48. ant001

    ant001

    Joined:
    Dec 15, 2010
    Posts:
    116
    physx is the one tbh, would be nice to have forces from physx in unity; but then lots of things would be nice.
     
  49. PolyMad

    PolyMad

    Joined:
    Mar 19, 2009
    Posts:
    2,350
    I had the chance to test it on an engine a while ago and Bullet performed badly worse respect to PhysX in terms of number of objects.
    Maybe Bullet is more sharp and gives better simuxlation response, but this at a considerable cost for the cpu.
    Fact is, that most of the games do not need simulation and computational power nowadays is what it is.
     
  50. Aiursrage2k

    Aiursrage2k

    Joined:
    Nov 1, 2009
    Posts:
    4,835
    I think bullets characers are not up to snuff. Though I think they did open source the physx character controller, so I guess unity could get someone to start tweaking that