I just learned about the open source Physics Engine called BulletPhysics (bulletphysics.org). Since I didn’t see anything regarding this on the roadmap, I was wondering if Epic knows about this, and/or plans to support it in the future in the Unreal Engine ?
Unreal uses PhysX and there’s no reason for it to change to Bullet anytime soon. PhysX is woven pretty deeply into the engines code, and handles all collision along with other things too. If you have a Gameworks license (free) - you can access all of the PhysX source code anyway on GitHub.
Swapping out the physics engine however is a very large tas. Even though everything is wrapped with #if WITH_PHYSX - it’s still a lot of work to integrate everything.
Physx is limited to dedicated Nvidia hardware only.
So it’s limited to 70-80% of the PC market but completely excludes other GPU accelerated solutions.
Also physix does run on 0% of all consoles APUs. Instead of using the GPU (which would be in the APU in this case), a very performance-hungry route must be taken over bare CPU processing.
While in the beginning it was even possible to run on AMD and Intel solutions, Nvidia completely locked this down. A bit later, they also disabled the possibility of dedicated PhysX cards.
Physx is a relict from dark ages and should have no place in state-of-the-art game engines which do support console builds.
Please note that on my Intel&AMD system i have no problem with using physix at all. But it clearly is a bottleneck for anything which will could be possible in the future, e.g. fluids on consumer-based systems and consoles.
PhysX works on all hardware. There are some implementations and system that can be accelerated using nVidia hardware but they’re not used in UE4.
You mean UE uses PhysX in a way so it wouldnt create any CPU bottlenecks even without an actual Nvidia GPU? I’ve noticed something like this already, although I cant tell for sure. If you take ARK as an example, my 1230v3 & 290 do render mass mesh destructions better then my girlfriends’ 6500k & 780ti.
Thanks that you clarify that for me, i really like to pinch such corners - its really interesting
Unity and Unreal Engine both use PhysX. There are thousands shipped games for every platform out there.(most without nvidia gpu). Everything still run butter smooth. PhysX is the best performing physics engine in the market and everything else is just ******** from fanboys.
Lot’s of good info about physX in this blog. http://www.codercorner.com/blog/?paged=3
How would Bullet be any different?
GPU-based workload, no matter if Intel IGPU, AMD/Console APU or Nvidia
You are talking about a BETA version of Bullet, It is not officially announced.
But this is irrelevant to the OP, On that note: I read a post here some time ago about someone who wanted/is to make a fork that used a different open source physics engine.