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

Visual Difference between Unity and UE4

Discussion in 'General Graphics' started by Cygon4, Apr 4, 2015.

  1. Cygon4

    Cygon4

    Joined:
    Sep 17, 2012
    Posts:
    382
    I'm currently having a bit of fun comparing with UE4 and Unity. If I put aside the obvious differences between dynamic GI and lightmaps, there is still something on the shader level going on that makes UE4 look more detailed than Unity.

    Castle (rocks look more finely grained in UE4):
    unity-castle.jpg ue4-castle.jpg

    Dragon (scales are much more visible in UE4):
    unity-dragon.jpg ue4-dragon.jpg

    I have made sure to use maximum texture sizes (4K) and ramped normals to 1.5 or 2.0 in Unity, also increased the intensity of my Unity light source to 2 or 3, also tried to manipulate glossiness, but Unity never manages to highlight small texture details as well as UE4.

    Any shader gurus around that can spot what UE4 is doing differently?
     
    shaderop and Neoku like this.
  2. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Probably just wrong shader inputs tbh. Unity's standard shader requires inverted roughness (smoothness) and if using painter, the textures need 0.4 gamma or such - I'm hazy on the details but one can't just plug things into slots and expect it to work. Also, it's required to have light and reflection probes.

    Unity does require more steps but that gives you more speed.

    Also I'm not seeing you use much post fx on the Unity one. But that's by large Unity's fault for not having a uberpost on the camera to start with. When making a new scene, I would suggest unity have some templates people can choose from like: High end and Empty templates.
     
    OllyNicholson and the_motionblur like this.
  3. Neoku

    Neoku

    Joined:
    Oct 27, 2014
    Posts:
    261
    good comparison, would be cool if you add a FPS counter for see the framerate per second in gameplay at same resolution.
     
  4. Cygon4

    Cygon4

    Joined:
    Sep 17, 2012
    Posts:
    382
    Thank you, Hippocoder, suggestions like that are exactly what I'm looking for because I'm pretty new to all this funky cutting edge graphics stuff :)

    The dragon model only has an Albedo and a Normal map. I already spent considerable time tweaking the Glossiness value in Unity, but it seems to do nothing more than make dark areas white.

    For better explanation, here are two animations showing the effect of the glossiness/roughness values in Unity and UE4:

    Unity: gfycat.com/AgonizingGiddyIggypops
    UE4: gfycat.com/ScentedFarArmadillo

    On the Unity side, I have placed light probes and reflection probes around the dragon and waited to all lighting calculations to finish in Unity. I have switched to linear color space as that was suggested in the "Enlighten Set Up" thread.

    Does my Albedo map need an alpha channel with something special in it? I don't have a glossiness/roughness map, sadly.
     
  5. Cygon4

    Cygon4

    Joined:
    Sep 17, 2012
    Posts:
    382
    Noticed that my normal map was flipped and corrected it, then plastered the entire area with light probes, used HDR camera, Contrast Enhance and Tone Mapping.

    Here's the best I could get out of Unity so far: gfycat.com/NippyImportantIbis
     
  6. Cygon4

    Cygon4

    Joined:
    Sep 17, 2012
    Posts:
    382
    And once more with tuned everything. Getting somewhat close to UE4 now, though I fear all the fine-tuning will fall apart as soon as the light level changes or my dragon enters the shade.

    Unity w/tuned HDR camera: gfycat.com/ShockedOrnateBlowfish

    But the question remains: what does Unreal Engine 4.0 do differently?

    In UE4, on high levels of roughness, the entire surface becomes brighter (as one would expect), then the gloss patches form. Average FPS is 60-70.

    In Unity, on high levels do nothing, then gloss patches just fade in - there's no brightening of surfaces as a whole with high levels of roughness. Average FPS is 170-180.
     
    Last edited: Apr 4, 2015
    Neoku likes this.
  7. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    It is still not as good as UE4 default shaders , this is why i prefere UE4, when it comes to lightening and shaders look.
     
  8. ropyyyyyyyyyy

    ropyyyyyyyyyy

    Joined:
    Jul 25, 2013
    Posts:
    3
    Here is your problem: by writing just a bit different shaders (eg how Unity and UE4 shaders use normals maps for ambient lighting) you can get vastly different results. That is why you see different effects when changing the "same" parameter in Unity or UE4: the lighting equation is just a bit different.

    Look at the shader code in UE4 and write that shader in Unity. But you may still get different results because of various probes etc....

    Here is a test I personally would like to see: make a totaly textureless scene (or just use flat colors) and compare the GI generated by both engines to see which one looks beter (but even here, "better" is subjective).
     
  9. iSinner

    iSinner

    Joined:
    Dec 5, 2013
    Posts:
    201
    As far as i know, both unity and UE4 uses the same system for GI, which is called Enlighten, so comparing where GI is better is a bit... odd.
     
  10. shkar-noori

    shkar-noori

    Joined:
    Jun 10, 2013
    Posts:
    833
    Unreal does not use Enlighten, but you can license enlighten and use it.
     
    iSinner likes this.
  11. Dantus

    Dantus

    Joined:
    Oct 21, 2009
    Posts:
    5,667
    It seems that you are also not using the same skybox in Unity and Unreal.
     
    Dreamaster likes this.
  12. Neoku

    Neoku

    Joined:
    Oct 27, 2014
    Posts:
    261
    Unreal 4 by default set a animated sky with clouds that is beautiful, possibly cost some FPS more than a skybox but is very useful.
     
  13. Dantus

    Dantus

    Joined:
    Oct 21, 2009
    Posts:
    5,667
    It doesn't really matter in this context how useful it is. As the skybox can be used as environment light, it directly affects the model's appearance. As such, if not both skyboxes are identical, it complicates the comparison. In order to make a valuable comparison, all the factors that can be made identical or can be adjusted to match each other as much as possible have to be setup like this.
     
    Dreamaster likes this.
  14. bestellenpreis

    bestellenpreis

    Joined:
    Mar 15, 2015
    Posts:
    26
    Unreal has some better graphics for making AAA game (well now it is not really the case with Unity 5.0 since it just looks awesome) but you can’t compare to all Unity’s features that by the end of the day really matters and helps you to actually make a game. And all editor customizations and Asset Store is just perfect in Unity as well.
     
  15. antonov_3d

    antonov_3d

    Joined:
    Jan 21, 2015
    Posts:
    28
    Unity graphics are worse, deal with it. Im working with assets and achieving same result as UE4 does without effort, is almost impossible. I have a lot of examples, but it wont post them im lazy. Just trust me, i know.
     
  16. Dantus

    Dantus

    Joined:
    Oct 21, 2009
    Posts:
    5,667
    This kind of discussion usually doesn't work like that. Usually, you have to show something instead of just saying that's the way it is, trust me.
     
    IgnisIncendio and shaderop like this.
  17. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Well our results in Unity are awesome. Did you invert the roughness? it has to be smoothness (even with metallic in unity)
     
  18. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    You don't get it.
    UE4 shading , lightening and PBR gives an overall graphic style, Unity don't have.
    Just throwing some models and textures , in the scenes the lightening and shading , PBR already looks awesome in UE4, it has some touch Unity don't have.
    Until you steal UE4 lightening system and make it into Unity, you won't have exactly same visual touch.

    But i prefer Unity for the stability side ( UE4 in last update is broken and buggy as hell once you go deeper using it than staying at surface ) and Unity faster engine for personnal projects.
     
  19. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    Humm ... When Unity will change it's PBR shaders and give people the proper workflow and method ? officially.
    (will Unity rely on Alloy and Asset Store only ?)
     
  20. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    That mystical touch is most certainly just tone mapping, bloom, a good default ibl and a decent shader.

    Unity isn't changing it's shader afaik. Part of the reason is because it scales all the way down to mobile. It's compatible on a very wide range of hardware and looks perfectly fine (if you wrestle a little with it).
     
    AcidArrow likes this.
  21. Dantus

    Dantus

    Joined:
    Oct 21, 2009
    Posts:
    5,667
    It's been mentioned several times. There is no proper way to make PBR shaders, because there is no standard.
     
  22. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    11,624
    For some parts of the details, I think you need to use some Aniso in Unity (force it on for testing in the quality settings). Unreal definitely seems to have some.

    Other than that, with the lighting condition being so different I don't think we can do any sort of fair comparison. Try using the same hdr to light both scene?
     
  23. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    I think standards are by large emerging, or patterns. For example:
    • Metal-Rough PBR Workflow
    • GGX Specular BRDF (Trowbridge-Reitz)
    • Remapped Shlick-Smith Visibility (Brian Karis)
    • Retroreflective Diffuse BRDF (Brent Burley)
    Is pretty much a given these days in most of the PB implementations out there. There's overlap, artists find them easier (more predictable) to work with and the visuals really pop. So it's becoming a standard as far as you could say normal maps are a standard. There's more the one way to skin a cat, but most people will skin them the same way.
     
    shaderop likes this.
  24. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    11,624
    Well, the Specular shader in Unity is pretty close to "Standard". The only non standard part, is that their metallic shader uses Smoothness instead of roughness. Other than that, the finer details of the pbr implementations vary greatly.
     
  25. Dantus

    Dantus

    Joined:
    Oct 21, 2009
    Posts:
    5,667
    zenGarden presumes that there is a standard PBR workflow in the sense that materials can be created (e.g. in Substance Designer), the textures exported and they have to work in UE4 and Unity. That simply doesn't exist. The lighting computations in all the packages are different and as such, no one can expect to get identical results. zenGarden blames Unity that the textures exported with Substance Designer don't look identical in Unity and ignores the fact that this should be handled in Substance Designer. Maybe Unity will adjust the Standard shader to get closer, who knows. However, there is no standard that defines how a bunch of textures have to look.
     
  26. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Of course, yeah and in any engine, the problem is magnified if you start making your own shaders :)
     
  27. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    I would like a proper way to have great results and as good PBR looks as what we see in Substance, 3D coat or Unreal 4.

    Allegorithmic team will try to work with Unity t omake it happen. Today, the best shader solution is Alloy, but it is not so cheap.
    There is no standards but 3D engines and games always brings some new level of quality , others will try to match or to do better.
    Unreal 4 delivers a good looking 3D scene , while Unity out of the box can't deliver such global good visuals.

    The examples above from Cygon4 shows very well how hard it is to try to catch with UE4 quality, but it is not possible, as UE4 has it's own lightening and shaders maths.

    Even bringing Tone mapping , bloom etc ... you won't get the same touch as UE4, even to make Tone Mapping each 3D engine uses it's own maths and mapping.
    Anyway if some plugin would bring the UE4 visual touch some day, i'll buy immediatly :D


    The actual UE4 state, full of bugs, poor performance requiring bug hardware are some real bad points, it is amazing , it delivers great visuals, but optimisation and stability are lacking really too much.
    I prefer Unity to stay that way, perhaps not the best tools , or the best visual touch , but at least Unity is fast, lot more stable, and able to run as good on desktop and on mobile.
    Alloy i think is the PBR product to buy if you want lot better results than Unity default visuals, and why should we complain ? Is not Unity entirely free allowing you to make a complete game with no features limitations :)
     
    PutridEx likes this.
  28. Dantus

    Dantus

    Joined:
    Oct 21, 2009
    Posts:
    5,667
    You can achieve great visuals with Unity's Standard shader. There are plenty of examples for that. Just don't expect when you export the textures from Substance Designer, they will have the same look. The textures you get from Substance Designer currently don't provide the correct results for Unity.
     
  29. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    Sorry, but i don't seen any Unity PBR screenshot looking as good as Unreal 4.

    But you seem to say only some few people able to tweak material and shader will be able to have some not so bad looking PBR.
    And it must be even more complicated for people not shader or PBR specialist jumping in UT5 PBR :rolleyes:

    While in Unreal 4, i just drop materials and use their shader and lightening and it just looks awesome.
    I just could not have good results i Unity could it be 3D coat or Substance material exports while UE4 gives me great results.

    I just hope Unity to make some real changes to their shaders out of the box.
     
  30. mangax

    mangax

    Joined:
    Jul 17, 2013
    Posts:
    334
    i think unity 5 shaders are great but at the end... Visually.. it is lacking in contrasts.. and it seems some how GI contribute to this by making everything a bit washed out even on black or dark areas.. Unlike unreal which seems to preserve more contrasts even while GI enabled.

    from personal experience while handling unity 5 standard shader and managing materials.. i find my self increase lighting strength and shadows or increase normals or try to add more specularity abit all in order to get more "contrast" on materials..

    Notes on screens included on this topic, it seems unity screens don't use best quality options... for the shadows, also textures anisotropic is not set to be forced on,i can see far textures are losing details in unity screens.
     
    Last edited: Apr 7, 2015
  31. TwiiK

    TwiiK

    Joined:
    Oct 23, 2007
    Posts:
    1,729
    I feel like both of your examples don't really do their engines justice. And trying to replicate the UE4 result in Unity will get you nowhere. The UE4 result you show here isn't particularly good and should not be something to strive for.

    Go on the asset store to see some great examples of what Unity 5 can do. Just download the Unity labs demo for example and look at some of the materials there and how they are made. The sofa/chair in the listening room for example. Or alternatively just go on the Unreal Engine marketplace to see what Unreal Engine 4 can do. Take the best examples from each respective engine and try to replicate that instead of trying to copy your own results between engines.

    I have nearly zero experience with Unreal Engine, but to get that rough/powdery look you have in UE4 in Unity you need a smoothness map. I don't think the standard shader works well without a smoothness map. You say you only have albedo and normal. Occlusion would do a lot to bring out the scales, but smoothness is the most important map. Then you can add a detail albedo and normal textures for microdetail. The rest is lighting.
     
  32. Cygon4

    Cygon4

    Joined:
    Sep 17, 2012
    Posts:
    382
    I think I mentioned glossiness/roughness in almost every one of my posts - I even posted movies in which I roll the glossiness/roughness sliders up and down in UE4 and Unity 5 just to demonstrate that it's not a roughness/glossiness thing :)

    Unreal Engine 4.0: http://www.gfycat.com/ScentedFarArmadillo
    Unity 5.0 normal: http://gfycat.com/AgonizingGiddyIggypops
    Unity 5.0 w/post processing: http://www.gfycat.com/ShockedOrnateBlowfish

    Well, I like the UE4 result and I want something like it :)

    It's nice looking at engine demonstrations, created by teams of seasoned artists supported by the respective engine's development team to make sure their engines shine, but I'm just one guy sitting in front of his PC, working on a game. If I try to replicate that, I'll have the bar set so high that I'm probably still not finished with my first scene when Unity 6.0 goes public.

    By the way, all images I posted are using an AO map, didn't mention it because its effect is negligible. I'll see if increasing its contrast will help.

    I could also try creating a smoothness map, but I can already tell that it won't get me any closer to the powdery look. Even at gloss = 1.0, Unity 5 leaves the camera-facing surfaces alone, so all a gloss map could achieve would be to moderate the glossy highlights that appear on the sideways-facing surfaces.

    Just for fun, here's the same scene rendered in Blender (Cycles) with actual surface displacement and 128 light bounces:
    0.jpg
    Looks closer to Unity than to UE :) - so maybe the powdery look is some cheap UE4 shader trick. But even if that's the case, I want to know how I can emulate this in Unity.
     
    IgnisIncendio likes this.
  33. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    UE4 absorbs more the lightening on surfaces
     
  34. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    If it was so simple we already had same exact result.
     
  35. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    I think it is post fx mostly, yeah. From my tests. In his above comparisons I don't see any physical based bloom, but in the UE4 shot there's tonnes of it, including tone mapping, linear lighting etc.
     
  36. braaad

    braaad

    Joined:
    Oct 4, 2012
    Posts:
    102
    I won't re-iterate what others have said, but it can be a huge number of things. UE4 definitely does a good job of making almost anything look good. The thing that immediately stood out to me was either your Albedo is too dark (Unity's pipeline may not handle this well) and/or the ambient contribution in Unity is very low. In saying that the Cycles render and Unity look more comparable which leads me to think (like @hippocoder said) UE4 is covering it up with it's postfx.

    UE4's diffuse also looks more Oren-Nayar-ish (generally makes rough things look really rough - powdery) to me but I checked and the default seems to be Blinn, although I was just looking in the shaders it could be building something different. This could also be due to the bloom.

    Are you able to provide a test scene for me (an others) to have a play with and get to the bottom of it? If you are worried about people stealing your art maybe cut it's arms off or something?
     
  37. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    I think it's much more likely to be down to input textures than anything else. Unity does handle them differently, such as having smoothness instead of roughness.
     
    MattGen likes this.
  38. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    what painting program people use to make 3D models for Unity ?
    I mean people using PBR.
    There isn't thousand of software : Substance, 3D coat, DDO and perhaps some others.
    Why Unity can't handle the universal format these programs deliver :Metalness and roughness.

    That's a shame for some engine claiming to be PBR, but using it's own custom format and not able to deliver a good PBR in par with these painting softwares o_O

    It's like throwing : yes we have PBR, but a really bad implementation. I just hope future versions of Unity will showcase PBR enhancement, for now Unreal 4 is the really best in that area.
    I don't use Unity for making a game based PBR for that reason.
     
  39. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Just painter or mari. The rest don't really handle pbr at all well.
     
  40. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    Mari is not very popular program.
    3D coat handle PBR as well as Substance, i can paint and have same results using 3D coat slider for metal and rought.
    DDO is prooven to be as good.
    I think you mean handling PBR on the export side ? because they render PBR and you paint PBR in these programs and have same results.
     
  41. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    mari not popular? OH SORRY! Yeah forget nearly all films, all of hollywood and any game using megatextures. So sorry, I didn't realise we had to talk about apps only popular from your perspective.
     
    braaad likes this.
  42. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    I talk about small indie people trying to make games, why do you talk about movies ?

    Anyway, for PBR and lightening are lot better in UE4 , even a simple scene made by a beginner looks gorgeous.
    Let's see if Unity will improve or will follow Unity4 way : providing the basics and you buy on the Asset Store quality renedring and missing tools.
    I think Unity 5 will keep this way unfortunatelly, but it's perhaps not a bad thing as Unity teams can concentrate on mutli platforms and other things instead on focusing on high quality graphics and tools.
     
  43. theANMATOR2b

    theANMATOR2b

    Joined:
    Jul 12, 2014
    Posts:
    7,790
    Personal opinion - the Unity images in OP look better than the unreal images.

    This seems to be the same discussion/argument about what's better Max or Maya. The tools are not the limitation - the creativity and ability of the artist/developer is the measuring stick.

    The OP just seems like more training is needed before knowing how to properly use the new Unity 5 lighting, shaders and fx - which may be kind of hand held in unreal.

    How easy is it to turn all that default stuff off in unreal and create a 2D side scroller?
     
  44. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    I prefer Unreal 4 look specially about the castle where stone material absorbs lightening , while in Unity it looks really not so good.

    Actually it's hard to get same PBR look as 3D coat or Substance or it need lot of tweaks and some image modifications using a painting program, and there is no official tutorials on PBR workflow and these tolls with Unity.
    This is really lacking and it is not helping beginners or new comers to PBR with Unity.
    This is the main issue.
     
    CodeMonke234 likes this.
  45. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    Unity visuals even without Asset Store stuff can be somewhat good, but we need Unity tutorials on PBR workflow from different PBR able painting popular programs like 3D coat, DDO, Substance.



    Image effects are not so bad, but the PBR is really different from Substance if you just use Substance bitmaps without making any changes.
     
    theANMATOR2b likes this.
  46. Mauri

    Mauri

    Joined:
    Dec 9, 2010
    Posts:
    2,663
  47. abbe_

    abbe_

    Joined:
    Jan 9, 2015
    Posts:
    1
    Hey, so I'm a bit late in the discussion but by looking at these gifs I see at least two mayor difference between unity and UE 4: its in the specularity and normal map handling. Unity seems to place the specular highlights in the shadows instead of the heights where they should be.
    This might be because unity and UE have different ways of reading the normal maps, so you might need to flip the Red and/or the Green channel of your normalmap.
    Have you tried this or already compensated for this?
    (Thread about the subject: https://forums.unrealengine.com/showthread.php?2668-Question-about-Normal-maps-and-UE-4 )


    Other than that I would say that there is still some compression in the textures in Unity, have you set them as Truecolor and made sure they are rendering at the same size as in UE?

    Good thread, interesting to see how similar you can get them. :)
     
  48. Deleted User

    Deleted User

    Guest

    Wow can't believe I'm late to this party, this is REALLY simple to fix. It's nothing (really) to do with shaders or anything, trust me.. In Unity by default the lighting is crap, Unity's post does nothing to help that fact in any way shape of form.

    What you're experiencing there is washout, simplest way to clean it up is colour grade it. You can make it look one for one in minutes with Amplify colour. Reason why the wings look different is shadows, it appears like you have a skylight or IBL going on because there's a colour offset which is a defining character of the two.

    When you colour grade in UE4, there isn't actually that much clean up to do. But it's always been dramatic in Unity.. (It's better with U5).
     
    theANMATOR2b likes this.
  49. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    AFAICT UE4 adds a little contrast to the grading, and uses GGX so you get a more punchy lighting going on. All things being equal that is.
     
    theANMATOR2b and Deleted User like this.
  50. Deleted User

    Deleted User

    Guest

    You would be correct, it's nothing that colour grading can't account for though. You notice that the shadows, midtones and highlights are slightly more composed in UE.. It's not night and day though, even UE looks washed a bit out the box..

    Personally I prefer the shadow setup in the Unity pic..
     
    theANMATOR2b likes this.