Jump to content

Physics Library


Josh
 Share

  

89 members have voted

  1. 1. Which is best?

    • Bullet
      38
    • Havok
      7
    • Newton
      7
    • PhysX
      35
    • Other
      2


Recommended Posts

Can we also request that people explain their reasoning; ie. experience with using their selected choice? I'd rather have an informed opinion based on someone actually implementing the physics engine in something other than just a demo of some boxes/drums falling or a bunch of people just voting because they are familiar with the name.

 

EDIT: doesn't havok require you to purchase?

 

EDIT2: I thought the goal for LE3 is to make it so the physics engine is a plugin feature so that any engine could be used? Or is this a poll for which one is going to be "officially" supported?

Win7 64bit / Intel i7-2600 CPU @ 3.9 GHz / 16 GB DDR3 / NVIDIA GeForce GTX 590

LE / 3DWS / BMX / Hexagon

macklebee's channel

Link to comment
Share on other sites

Havok is free on PC. I don't know if they have built it for mobile devices yet.

 

Only one library will be officially supported, and the base physics driver class will be designed around it. Other physics libraries may not work in the same way, and I am not counting on anyone designing a full implementation with all the same functionality, but it will be easier to test different physics libraries if you feel like tinkering.

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

Couldn't care less, so voted "other".

 

As long as physics lib is stable & works on machines without issues, I'm happy. Newton was fine, but had no much issues with PhysX either (although it does require installing stuff, which is bit bad).

 

Newton, or anything goes, as long as it doesn't require (so much) more clicks from the user who installs my game.

Intel Dual Core 3GHz / GeForce GTS 450 - 1024 MB / Driver ver 267.59 / 8 GB RAM / Win 7 - 64 bit / LE2.50 / BMAX 1.48

game producer blog - Dead Wake Zombie Game powered by Leadwerks Engine

Twitter - Unfollow me

Link to comment
Share on other sites

PhysX destruction looks very compelling at first until you realize the artist has to generate a break pattern for everything, and define "support" pieces that tell the whole structure to fall over when broken. :\

 

Bullet has soft bodies, and is probably easier to compile across platforms, but I don't see any other advantages to it.

 

What I would really like is "real" destruction as well as soft bodies.

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

I voted for Bullet for a few reasons. First and foremost, it works on mobile devices. PhysX does not. Havok, while apparently works on mobile devices, has rather restrictive licensing terms. Unless the license has changed since I last checked, Havok is only free on the PC if you're selling a game under $20 or $50 (I can't remember which, but believe it to be $20).

 

I honestly have little to no experience with Newton, outside of Leadwerks. But I have used Bullet in the past and found it great to work with.

There are three types of people in this world. People who make things happen. People who watch things happen. People who ask, "What happened?"

Let's make things happen.

Link to comment
Share on other sites

Looking around, it seems destruction is just as primitive as it's always been. Newton has some features coming out, and physx has some demos, but they always rely on pre made segments, which I find more trouble than they're worth. I understand the hardware isn't up to the task of simulating breakable solid objects, but the stuff they are doing in the meantime is pretty gimmicky, and a lot of trouble to set up.

 

I am somewhat interested in performing realtime slices of csg solids. You could mark some solids to be breakable and they would fracture around the point of impact. The nice part is this would require no special setup or anything, it would just work. Of course it would be limited to just shooting concrete off of rebar, and stuff that doesn't alter the underlying structure. If you shot a support column out, it wouldn't make the ceiling collapse

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

Fluids would be sweet.

 

You would think there would be some common algorithms for different kinds of material breakage that they could use in their library. Like glass, concrete, wood, etc. This could at least give the users some base/most common stuff.

Link to comment
Share on other sites

Fluids would be sweet.

 

You would think there would be some common algorithms for different kinds of material breakage that they could use in their library. Like glass, concrete, wood, etc. This could at least give the users some base/most common stuff.

With physx you have to set up each object to break a certain way, and it always breaks the same way. They just make the task of creating the predefined break pieces a little easier. I doubt people would use this much because it means more work in the art pipeline for something that is not that big a benefit, and it still won't break realistically if you shoot out a support or something. You can see in the udk videos where they shoot the bottom of a wall out and the top floats magically in the air. The way they implement it, it's just slightly better particles shooting off the walls.

 

If a truly dynamic solution is possible I would prefer that, even if it is slower or doesn't look as nice as predefined breaks.

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

That's because they did the fracturing incorrectly. Once it's properly setup it wouldn't float or do anything else weird visually. You can also change the slices of how it's fractured, but yeah, it stays that way once it's fractured. The fracturing is automated based on parameters and then you can individually edit how the mesh is sliced and which piece should remain static (to act as a frame). That is UDK fracture mesh editing though. Technically there isn't anything stopping you from taking the same mesh, copy it, fracture the copy, and repeat. Upon map load, swap out the fractured mesh with an object list array, which can be done via script or kismet, and spawn/load the mesh selected from random.

 

If you wanted to take it to those lengths. Automatically fracturing the mesh so it's truly random on a single mesh to be fractured wouldn't come out with accurate results anyway, especially if where you're placing the mesh requires a custom frame, like the middle of a wall. How Source does it is extremely cheap and comes out with worse results compared (and more art work involved).

 

Not sure about any other engines that provide the 'feature.'

Link to comment
Share on other sites

I voted Bullet for the following reasons:

1) Bullet is free and comes with full source code

2) Bullet has SIMD

3) Bullet is being actively developed

4) Bullet has advanced options how bodies behave when they are overlapping, so they don't explode randomly like in Newton

5) Havok is semi-free only for Windows, but not for Linux and Mac, as you don't get the download for Linux and Mac without buying the full license

6) PhysX makes really sense only with nVidia GPUs

7) PhysX needs the user to install some seperate driver SDK

8) PhysX has no determistic behaviour and it's not even planned

9) PhysX has no 64-bit Linux version and it's not even planned

10) Newton is too slow

Ryzen 9 RX 6800M ■ 16GB XF8 Windows 11 ■
Ultra ■ LE 2.53DWS 5.6  Reaper ■ C/C++ C# ■ Fortran 2008 ■ Story ■
■ Homepage: https://canardia.com ■

Link to comment
Share on other sites

I did not vote since I am new and decided to model now and wait for le3, so I know nothing of newton but I am not sure if you can export a fractured model from blender for a real time physics fracture but may be something to look at. You can check it out here

 

 

 

Also check out this physbam engine. I do not know if this is real time either but something to look at. On the one site they say they only release the code to certain people, but blender says the code has been released.

here

here

and here

 

 

Do not know if these will help, but a good read anyway.

Link to comment
Share on other sites

Cost of implementation

Bullet medium

Havok high

Newton low

PhysX high

 

Performance

Bullet good

Havok good

Newton good (can run asynchronously and use multiple threads, so LE2 physics speed is not as fast as it can get)

PhysX best

 

iOS/Android support

Bullet yes

Havok no

Newton yes

PhysX unknown

 

Soft bodies

Bullet yes

Havok yes

Newton no

PhysX yes

 

Destruction

Bullet unknown

Havok yes

Newton partial

PhysX yes

 

Forest physics (for lack of a better term)

Bullet unknown

Havok no

Newton yes

PhysX no

 

Source included (not too important to me, but...)

Bullet yes

Havok no

Newton yes

PhysX no

 

Based on the lack of iOS/Android support, it looks like it comes down to Bullet vs. Newton. Bullet has soft bodies but Newton has the special forest physics that make our big scenes possible, and my Newton character controller works well. It's a tough call.

 

 

Link to comment
Share on other sites

NVIDIA PhysX provides game physics solutions for a variety of platforms including PC, in both software and GPU hardware-accelerated confugurations, OSX, Linux, all current major game consoles (PS3, Xbox 360, and Wii), and key mobile computing platforms.

 

Operating systems: Windows 7, Windows Vista, Windows XP, Mac OS X, Linux (not GPU accelerated), Wii, PlayStation 3, Xbox 360

 

Nvidia APEX PhysX technology is a multi-platform scalable dynamics framework first introduced in the Mafia II PC video game in August 2010. NVIDIA's APEX PhysX physics modeling engine adds the following features: APEX Destruction, APEX Clothing, APEX Vegetation, and APEX Turbulence.

Link to comment
Share on other sites

Voted for PhysX as it is what is currently being used by the code junkies on the project I’m working on and its FAST! and I’m comfortable creating assets for use with it. I have no interest in iOS/Android development with leadwerks.

My first Adobe purchase was Photoshop 2.0, CS6 was my last! < = >

Link to comment
Share on other sites

I have choosen Newton, because it's stable, fast enough and it does "forest collisions".

When Josh finds a way to do that with Bullet, then go for bullet. :)

(Win7 64bit) && (i7 3770K @ 3,5ghz) && (16gb DDR3 @ 1600mhz) && (Geforce660TI)

Link to comment
Share on other sites

I don't think the PhysX SDK is available for download for iOS. I can only get Windows and OSX versions from the dev site.

I think it's part of the SDK but you could contact them to be certain.

 

NVIDIA PhysX SDK 2.x (PhysX Software Development Kit, versions 2.3.0 - 2.8.4) - physics simulation engine, currently owned and developed by NVIDIA. Supplementary tools like DCC plug-ins, profilers and debugging applications are included.

 

Supported plaforms: Windows, Linux, Mac OS X, Xbox 360, PS3, Wii and iOS.

 

PhysX SDK is widely adopted by developers - over 270 released games are using it to simulate in-game physics, also PhysX is integrated into Unreal Engine 3, Unity 3D, Gamebryo and others game engines.

Link to comment
Share on other sites

I think you probably have to pay big licensing fees on consoles and mobile devices, but I will look into it further.

 

I don't think Newton's development is going anywhere. I do like that bullet has motorized joints built in, and displays joints visually in a creative way. Not sure how Bullet stacks up against PhysX.

 

Assuming there are no iOS/Android licensing issues, and considering that open source is either neutral or a negative to me, why would anyone choose Bullet over PhysX?

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

Bullet has automatic fracturing and glueing, deforming, and breakable constraints. It has also GPU support for both ATI and nVidia using OpenCL, while PhysX has only for nVidia.

Bullet has also softbody constraints, PhysX doesn't.

Bullet has ropes, PhysX doesn't.

 

Some cool demo:

http://exocortex.com/simulation/momentum

Ryzen 9 RX 6800M ■ 16GB XF8 Windows 11 ■
Ultra ■ LE 2.53DWS 5.6  Reaper ■ C/C++ C# ■ Fortran 2008 ■ Story ■
■ Homepage: https://canardia.com ■

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...