The Graphical Capabilites of Unity?

Hi, me and my brothers are planning to make a game and i just want to know what the graphical capabilites of Unity are, I’m not trying to put Uniy up against any game engines and our goal isn’t to make a game with amazing graphics such as Unreal Engine games etc, i also know that it depends on the Modeller aswell as to why the graphics are good but could Unity keep up with good graphics and rich textures?

Examples

Just Cause 2 (Decent Graphics)

Star Wars: The Old Republic (The New MMO Decent Graphics)

DC Universe Online (Unreal Engine but it hasn’t got amazing graphics like other UE3 titles)

Champions Online (Cell Shaded)

Grand Theft Auto 4 (Rockstar’s RAGE engine, Unity Might not be able to compete)

Alan Wake (Running on the “Alan Wake Engine” and decent graphics)

Again i don’t mean the features of the game, just the graphics.
Also are there any Unity Games that have good graphics?

Thanks For Reading

Unity can look very good with custom shaders, the problem is that it runs like %$#% then.
The rendering engine in unity was obviously not optimized good enough on the basis that “indies will never use it to the max anyway”
Also soft shadows are ugly.

It also has some problems rendering scenes with a lot of polies on screen. While other engines take that for granted, unity will struggle with high polycount.

2dfxman1, when you say “a lot of polies”, how many polygons are you referring to? Are you talking animated characters or static objects? I fairly regularly dump 1+ million polys on the screen at once (static geometry) and it doesn’t seem to perform too badly.

As for the OPs question. It REALLY depends on your artists. Using crap assets/textures/shaders in any engine is going to give you crap results. The good graphics in the games you referred to are 90% art, 10% engine capabilities.

Okay thanks niosop.
@2dfxman1 Do you think the Unity Team will upgrade the engine making it more powerful?
Such as allow more poligons, better shadows and make it use Custom Shaders more smooth?
The Engine is great by the way, i’m not attacking it.

One major thing to keep in mind is that many of the games you mentioned use or offer DX10+ and several of them gpu accelerated physics, as such if you rely on these things you would definitely suffer.

But pure graphically, its as niosop mentiones, primarily a matter of your artists and the capabilities of your programmers writting optimized shaders.
Thats assuming that you don’t intend to use deferred rendering, because there you just have to cope with rather steep “minimum machines” to have it run fluently.

Static object polygon count isnt a huge problem. However do realise that for 500k triangles there is arround 40 fps drop.
Animated objects have bigger fps drop.

Also you said that you dont want to put Unity against some UE games and you stated two of them in your list. The thing is even if you dont wont such a high quallity art as those games stated have you will be able to match their graphic quality (look) much easier and better if you use UDK (Unreal engine). Unity has totaly different feel to light rendering, shader display and else.

And niosop what you stated about relationship with art and engine is off. I will give you one example.
Engine A supports all custom shaders, huge tris count, all camera posteffects and dx11. Engine B does not supports custom shaders it only supports diffuse shader, it is limited to 100k tris at max and has dx7 display.
You want to make next gen game and you have next gen assets preapared. So with engine B your art percentage is droped to 10% importance. I made some huge gap in software age here but it makes same differance to any engine.

IndieDude all games except Start wars MMO from your list are perfect for UDK and UE render display and engine capatibilites.
Star wars MMO graphic can be actually achived to same look in Unity for sure, Hero Engine renderer is in similar quality to Unity.

Obviously I mean animated objects. It would be a shame if unity couldn’t even render static objects properly.

As you say, you are not directly “attacking” the engine but I cannot but feel that people are having rather strange ideas of Unity games looking crap, which some most certainly do not. Dreamora is right that some of the most techy stuff is not technologically on par with ultra-highend engines (with much larger dev teams) but for what it is, and for the lowly price there is nothing that comes close to beating Unity.

I don’t know how much Unity could do about the animated objects causing slowdowns other than switch to doing the skinning in the vertex shader ala Leadwerks skinning system. Sticking it on a different thread might help somewhat if they stick w/ CPU skinning, but multicore support would help in a ton of areas.

@indiedude360 there has been numerous threads like these. A new one gets started every other week almost I would guess so you can find lots of information if you just search the forum. They usually amount to alot of speculations on Unitys possibilities if in the hand of the right artists though. If you think Alan wake only has decent graphics though you probably will be dissapointed with the exemples you can find in Unity. Personally I think lots of the stuff in Alan wake looks pretty damn gorgeous…

There are so many posts on this forum questioning Unity’s graphical capabilities, not sure why. As a developer, simply look at the technical specifications of the engine’s rendering pipe and if it fits your needs, move onto the next step- do some R&D. Test it out/evaluate it and see if it actually runs and handles the workload for your production as well as the software developer claims. If it does, then make a final decision on whether you will invest and decide to go with this engine or not.

When we were looking into making Unity training and adopting Unity for our game development needs, we did just as I described above. We looked over the tech specs, and in terms of rendering, we saw it supported many of the featured we were looking for. Then we tested and I myself did some heavy R&D on the graphics side. I was pleased with the results, enough to influence our decision to support development for this engine.

So to answer your question, yes, you and your brothers can make a great AAA game with Unity, and yes it has more than enough capability to render whatever you and your bros are planning. Unity can render more triangles than you will need, etc.

Here’s another question - Are you and your bros capable of producing AAA graphics?

Oh, come on, it doesn’t. I’ve done tests with highly demanding skin shaders and it ran fine. How did you draw the conclusion that unity chokes up with custom shaders? (or at least, that it chokes up with custom shaders way more than another engine running similar shaders).

Yeah, because the whole beast integration and dual lightmaps workflow is obviously traget to indies that don’t know what they’re doing, right?

While I don’t think unity’s soft shadows are the best ever, all engines struggle with soft-shadows. Unreal engine until recently had pretty bad soft shadows (remember mass effect 1?)

It does? That is not my impression… Any proof? I’ve pushed millions of polys and it seemed fine.

Unity is more powerful than is often given credit. As I always say, with effort (mostly on the artists part), it could hold its own very well against the bigger boys. Which is even more impressive considering it’s only DX9.

I also rather like Unity’s soft shadows, just gotta know how to use them properly to get the nice result.

I don’t want to insult or start a flame war or anything, but I agree with AcidArrow 110%. To state that Unity “can’t” handle custom shaders is ridiculous to say the least- we use custom shaders, and stack some pretty demanding shading models on top of eachother with our in-house development, and we don’t loose frames or performance, so if someone says they run into this problem it is either a) we’re using a super advanced version of Unity only secretly available to us (sarcasm; we use the same Unity as everyone else), or b) you have some serious hardware or driver issues in your studio’s pipeline, or c) your shader programming is lacking.

Triangle counts are handled by Unity like a champ- if you have a problem animating hi-res characters (~10,000 tris or more) with environments in the hundred of thousands of tris, then you need to review your optimization practices; do you truly understand what a draw call is and how it relates to textures, shaders, materials, and meshes?

As for soft shadows, one thing that can throw you off is scale. If your game level’s scale is too small or too large, you will encounter shadow artifacts- guaranteed. Experienced lighting TD’s are familiar with this even when it comes to professional rendering software, including mental ray, VRay, etc.- not just a Unity problem, this is persistent across all kinds of CG lighting environments.

Again, I use the same version of Unity that is available to everyone else (Unity Pro 3), so the only reason there could be for “poor” performance, issues with custom shaders, etc. is lack of production experience/knowledge. Game development is fun, but not easy. Especially for indies and new developers, as you don’t have access to a large team of specialized TD’s and artists that can solve different production problems, you pretty much are forced to become a jack of all trades and solve all these problems yourself, even when they may not be your area. I think people get frustrated when they can’t solve these issues and then vent by posting comments like “Unity is not good”, “Unity can’t handle my incredible game project”, etc. As frustrating as it is, you have to be resilient and hang in there, try focusing on finding solutions and not burning yourself out on frustration. I find taking a break and coming back to attack the problem later with a fresh perspective to be very effective in problem solving. At least that’s my take on it.

As for polygon count. I loaded a model with 3 million triangles into Unity and it ran at 60fps on my GTX 260 with 4xmsaa, aniso, SSAO and bloom. The model was all one mesh and static… so it’s best a case scenario, but I was surprised it ran so well with that amount of tris.

There are some things UT needs to sort out for out of the box functionality but, I have full confidence they will get it sorted out. I stay with Unity not because it represents the current cutting edge of implemented shaders and post effects, I stay with it because it has the best backbone and workflow.

I find Unity perfectly fine, responsive and fast (even with the lack or multi-cores and/or DX11 support).
We are using custom shaders on the iPhone platform and is hellish faster than anything out there (faster than Unreal Engine’s ultra layered material system). However, I’m dying to have true omni light soft shadows and be able to change shadowsmap resolution in Unity one day. We are all aware how slow point light shadows filtering is, let me just use it when i need it. I find it a bit ridiculous to not have any real-soft shadow filtering because its slow, yes it could be slow as other things like having too much drawcalls or too much geometry.

Thanks everyone you we’re a great help, i’m sticking with Unity,

With regards to Unity Pro 3.0: Is it more expensive to use custom shaders or do a 2 sided polygon model instead?

Depends on what, where and how you’re trying to achieve something. I think the end users hardware can also have an impact.

An example: If I use the relief mapping shader posted elsewhere on the forum, for a simple thing such as a floor, the temperature of my GPU shoots right up. If I use geometry to do the same thing, barely twitches.

You only need double sided materials for specific things though, leaves, glass, particles etc. And only if the player will ever see the other side.