I have been using UE4 for the last 3 months, and I start to understand why other engine still charge some money, either as a fixed price or on a monthly basis.
UE4 is good for the ‘pretties’. It is very quick to create a good looking scene.
learning curve is relatively low. Blueprints and examples give you a good head start
… so that is the first 1…1 1/2 months.
Then you start going for more serious stuff and notice:
no built in multithreading support for either physics or rendering (cry engine +)
very, very limited inverse kinematic and only two bone (cry engine +)
no soft body physics (cry engine +)
no built in rope physics (cry engine +)
PhysX is a engine for ‘pretty’ games that comes with many compromises (unstable collisions detection, no access to joint positions/anle via API, etc…)
The most important lesson after two months of UE4 is, that nVidia PhysX is really only a ‘pretty looks’ physics engine And that Havok claims for good reason to be number one.
So as soon as you start developing a full and modern game, where ‘how it moves’ and ‘how it handles’, so ingame physics are important, you realize, that nothing good is for free.
UE4 is still good as a starting point for game development and to shoot a few zombies or whatever, 1990’s first person shooter style, but in my opinion, for modern games, Cryengine, Havok (for physics, or any other paid-for engine is way to go.
Larger studios use it as a starting point and then modify and modify until it meets their needs. It is the reason why Ubisoft&Co. all have their own engines.
I am talking about peeps like me and you. You have to code everything that is halfway advcanced yourself, see list above. Your average tech teeny is not going to fly with that any higher than shooting zombies 1990’s style. Give it one or two years, everybody will associate UE4 with amateur zombie shooters.
You are misinformed to say at least, or lack knowlegde. Your pick.
There is no PC engine which supports multithreaded rendering. simply because DX11 is inhenerintly incapable of multithreded rendering.
As matter of fact UE4 supports multithreded rendering on consoles, and will support on DX12/Vulkan.
CryEngine does not have animation editor. You are either stuck with what you get, or you delve into C++. Aside from that CE also doesn’t have full body IK. Only hand/feet.
Right. Do you have any data supporting this claims, or you just trolling ?
I think claims like that, specially using that way of expressing yourself, will only diminish the chance of getting a real answer for most users here. But now that I read it again you never asked anything.
One thing is true, if you want to make something that is not part of what “natively” UE4 (which IMO already covers a **** ton of possibilities) allows you to do, you need to be a guru-level C++ coder, and also to understand perfectly how UE4 is wired up. And that is something ~99% of indies cant do.
Don’t care about soft body. Ever see it in a game? nope. Because its not worth having.
Rope physics: there’s a plugin for it.
Physx: Its used in tons of games. I’m not entirely sure what you’re getting at here, but it DOES work and it IS AAA quality. Any failure here is generally something you should be looking to yourself for.
Now with that said, stuff can still be improved. But please do some research before posting about things will you?
multithreading for physics:
a must! UE4 PhysX integration will not use more than 1 core, even if the framerate is at 1 frame/sec.
Cry Engine 3 and Havok both do it. Physics just has to be multithreaded and not cramped into the same thread as the rest.
2. Inverse Kinematics:
CryEngine has N-Bone cyclic IK. I had to write my own IK in UE4 for flexible use. If I have to do this, then why even use UE4 first place. Any modern game uses IK.
That was actually Havok, my bad.
PhysX is definitely a not so accurate engine, optimized for pretties.
Show me how to access joint locations and angles during runtime. I also had to do this myself, and I am still not sure the joint frames are held stable.
If you do not believe me, see here.
(page 8, PhysX)
PhysX always goes into games where physics is just a gimmick.
I wish I was trolling about the topics, then I would be happy with what UE4 gives you in the ‘pretty looks department’. Just being accused of trolling when issueing criticism shows the zombie shooter audience that UE4 attracts.
Not sure about UE4 integration, but multithreading in PhysX 3 is fairly effective - benchmarks here
Why not to share it with communtity, so UE can be better ?
And what’s the deal with softbodies ? Don’t remember any Havok game that uses them.
Btw, tetrahedral softbodies were present in PhysX 2.8, but were cut out, since there was not much interest in such feature.
Ehm… something like PxJoint::GetAngle ?
"Havok also ignores Coriolis forces, and therefore is also unsuitable to applications where accuracy is important. "
Well, there are PhysX based games with straght physics based gameplay (puzzles and such), for example - Crazy Machines, Trine, Besiege, Octodad.
Also, plenty of in-house engines outside UE4 are using PhysX for core gameplay mechanics (character controller, collision and hit detection).
No, PhysX SDK of course has it’s own limitations, but it widely adopted, and is rapidly developing, and it has free licenses with source access. If you don’t like it, ok - $$$ and Havok is yours.
And, out of curiosity, have you actually worked with Havok ?
Sound a little insulting. No wonder you are accused of trolling)