[Unity] Environment: "Road to Mount Ardrak"

polygon
Offline / Send Message
Yokogeri polygon
Final renders:










_____________________________________________________________________________________________

Hello everybody!

"Road to Mount Ardrak" is an environment I've created in World Machine and Unity 5.5 (yes, Unity!) during the course of 24 hours. I've used a total of 14 assets for this environment, which I've gathered from Megascans.se and the Unity Asset Store.


My main goal with this environment was to create a AAA environment with focus on realism, lighting, composition, re-usability and rapid-fire design. I chose to enforce a 24-hour rule upon myself in order to challenge myself and make sure that i constantly focus on what's most "bang for the buck" for the environment. To use big strokes, and not focus on details.

This environment is also meant to be part of my upcoming portfolio.

Unity can seem as an odd choice of an engine when aiming to create an AAA realistic environment, but felt like a natural choice for me. I have been using Unity for almost 4 years, in comparison to Unreal Engine and CryEngine which I've (unfortunately) only spent a few weeks in. Experience alone was not the only thing that enabled me to make this environment though. I have over the years bought several custom shaders and post-process effects from the Unity Asset Store, which have helped me immensely when creating this environment.







I used Megascans.se to sort out the natural aspect of the environment. Five photoscanned 4-8k resolution rocks/assemblies were enough to create varied rocky parts and a pseudo-cave. An environment entirely made out of photoscanned rocks is - despite the detail - quite boring and plain. I needed other, different, assets that hooked the eye of the beholder.


 
Finding non-natural assets of the same quality as Megascans was not an option since i simply did not posses the funding at the moment. Creating them myself was also out of the question - i had neither the skills or time to create something comparable to photo-scanned assets.

What I ended up doing was picking up a few free assets from the "Blacksmith" and "Viking Village" environments from the Unity Asset Store, and gave them a visual upgrade. This work mostly consisted of altering albedo textures, adding detail textures, and replacing the standard Unity shaders with a few more advanced shaders.




Here are two examples, the right part of the assets being the final version. The wooden dragon head was one of the faster upgrades since it only required some albedo texture tweaking in addition to a tiled detail wood texture (~15 minutes). The flag on the other hand, was one of the most time consuming upgrades, around 1 hour. Altered albedo, added translucency, cloth physics and a script that simulates wind for the cloth.

I will be posting more details about the terrain workflow, post-process workflow and other technical detail in the days the come.

For those that are curious, here's a list with all of the shaders and post-process effects i have used from the Unity Asset Store:

Shaders:

UBER - Standard Shader Ultra
Relief Terrain Pack v3.3

Post-process Camera Effects:

DeepSky Haze (Atmospheric Scattering)
Filmic Tonemapping Deluxe (Tonemapping)
Horizon Based Ambient Occlusion (HBAO)
SE Natural Bloom & Dirty Lens (Bloom)
Unity Postprocess Stack (Color Correction, Motion Blur, Viginette, Chromatic Abberation, Filmic Grain)

I really encourage all of you to criticize anything you may think can be done better! Don't be nice - i want to learn as much as possible. (:



Replies

  • Yokogeri
    Offline / Send Message
    Yokogeri polygon




    Explaining the creation of the terrain could be a thread in itself, but without going into too much detail:

    I started by creating a basic shape, added terracing and afterwards erosion in order to create the base height map and shape of the terrain. Afterwards I used several masks and selectors to create a splatmap that indicates where the detail rock, green soil and dried leaf textures should be applied. This map was given to the custom terrain shader in Unity, which with some tedious setup handled the rest (Applying the splatmap, Tessellation, LOD, terrain holes, etc).

    It took 2 hours to create the terrain. I wish I would've spent less time on it, seeing how small part of the screen the terrain actual takes in the final renders.
  • Stavaas
    Offline / Send Message
    Stavaas polycounter lvl 3
    Looks amazing man. The only thing I can point out right now is that since everything is crumbled, the pathway and that arch, the wooden dragon heads stand out when every single one is still in pristine shape. If you were to remove one, or maybe just topple one over, it would break up the repetition and look more appealing I think. Other than that it looks great, and I love the choice of music, Oblivion had a great soundtrack! 
  • bjornfred
  • greatskybear
  • Yokogeri
    Offline / Send Message
    Yokogeri polygon
    Stavaas said:
    Looks amazing man. The only thing I can point out right now is that since everything is crumbled, the pathway and that arch, the wooden dragon heads stand out when every single one is still in pristine shape. If you were to remove one, or maybe just topple one over, it would break up the repetition and look more appealing I think. Other than that it looks great, and I love the choice of music, Oblivion had a great soundtrack! 
    Thank you! That's some great feedback. I will definitely consider making one of the wooden dragons topple over in the final version - It's an easy thing to change, that probably adds to the overall feeling of the environment.
  • Yokogeri
    Offline / Send Message
    Yokogeri polygon
  • Dev_Bennuii
    Wow, that's a pretty fantastic scene you created there!

  • Saaamoth
    Offline / Send Message
    Saaamoth polycounter lvl 3
    Nice work, so atmospheric! It's very fresh to see such an AAA targeted scene in Unity. I feel like the engine is underrated when it comes to graphic power.
  • Yokogeri
    Offline / Send Message
    Yokogeri polygon
    @Dev_Bennuii Thank you!

    @Saaamoth Thanks for the kind words. Since the release of Unity 5, the engine has improved immensely in terms of potential graphical power. And it seems that it will continue improving, with features such as Vulkan support and Mixed Lighting modes promised for the upcoming 5.6 version.

    I definitely understand why the majority chose to use Unreal Engine or CryEngine for AAA purposes though, and i would most likely choose to use those over Unity myself if i were to choose to learn an engine from scratch for today. At least when it comes to AAA environment creation. It's important to know that i would not have been able to reach this level of visual quality with the 'normal' version of Unity 5.5. It would still have been OK, but definitely not as good as it turned out to be with the custom shader and post-process effect solutions.



  • lotet
    Offline / Send Message
    lotet quad damage
    The animations on the banners are kind of distracting, they look a bit of and also kinda jaggy/stop motion-y, not sure whats going on with that.

    other then that, its looking gorgeous, really stellar work!
  • Yokogeri
    Offline / Send Message
    Yokogeri polygon


    Here's a GIF showing what a huge difference the post-process effects make. Note that GIFCam compressed the GIF, screwing up the quality of the images with tons of noise.

    I excluded the Temporal Anti-aliasing and Motion blur since they require real-time rendering and well... motion.
  • Yokogeri
    Offline / Send Message
    Yokogeri polygon
    lotet said:
    The animations on the banners are kind of distracting, they look a bit of and also kinda jaggy/stop motion-y, not sure whats going on with that.

    other then that, its looking gorgeous, really stellar work!
    I'll make sure to spend some more time on the flags, i agree that there's something off with them. I think that it has to do with simulated cloth's stiffness, which i need to loosen up a bit. I should also add some kind of randomization to the faked wind, since it currently looks like it's a looped animation if you stare at the flags long enough.
  • Raffles
    Offline / Send Message
    Raffles vertex
    That's ridiculously impressive for a scene put together in 24 hours.

    Since building my own mobile graphics engine, I've come to realise just how important post processing is. It's amazing how much it can pimp up an otherwise flat and boring scene.

    A couple of questions - do you have any idea what framerate this scene would run at on a modern phone like an iPhone 6?

    Also, what kind of impact to performance do realtime tonemapping and colour grading have?

    Cheers.
  • gsokol
    Offline / Send Message
    gsokol Polycount Sponsor
    Great job.

    I'm personally not a fan of how orange everything is.  You push it so far, you lose so much color contrast and it makes the image a bit less interesting imo.  I think it may look better if you tone it down a bit, and maybe get some more blue color in the caves.

    I also think that, given how organic everything looks...the straight brick path looks a bit out of place.  I would like to see it curve through a little more.  Additionally, you could work up that area between the path and the dirt/rocks on the outside of the path.  The path stones look like they were just set in place on top of everything, rocks and all.  It would be great to see some more erosion, some dirt buildup on the edges of the path and seating it into the ground better.
  • shubham kumar
    Offline / Send Message
    shubham kumar polycounter lvl 5
    i don't really like how foggy it is .Most of the things are covered in fog  .  Take unity's Viking  village as example try to implement that lighting .  
  • Yokogeri
    Offline / Send Message
    Yokogeri polygon
    @Raffles

    I have very little experience when it comes to mobile game development, but if i am to make a guess, i think it would be somewhat problematic - even for modern phones that have Metal API support. If i would have done an optimization pass with LOD's for everything, removed/tweaked down heavier post-process effects such as HBAO and lowered the resolution on some of the assets from 8k to 4k or 2k in combination with using baked lighting instead of real-time.... it may possibly have run quite ok/well on modern mobiles. I really have no idea though, just guessing.

    Currently, the environment averages at 84 FPS on my 3440x1440 resolution screen. My PC build consists of a GTX 1080 and i7-5820k though, so the hardware is very high-end. For reference, Witcher 3 runs at 75-85 FPS at the same resolution, with everything on ultra.

    When it comes to color grading and tonemapping, those post-process effects basically make close to no impact on performance. 0-1 FPS drop perhaps.
  • Yokogeri
    Offline / Send Message
    Yokogeri polygon
    @gsokol Thank you for the great feedback. I'll make sure to experiment a bit more with the color grading, toning down the orange color. My goal was to reach "Golden hour"-ish lighting, but i may have taken it too far.

    The straight path has been the thing I've received most criticism for, and it's on my top priority list when it comes to changes for the final version. I think that my main mistake was to use such a straight and long mesh. I will be splitting it up into 2 or 3 parts and create more curves in the final version. Making the brick path blend well with the terrain and rocks was quite troublesome because they have so different shapes, but i will try to polish this further too.

    @shubham kumar Thanks for the feedback. I aimed for my environment to be quite foggy, substantially more than Unity's Viking Village, but i'll make sure to experiment a bit more with it. I can agree that especially objects at mid-range are covered in too much fog.

  • Saaamoth
    Offline / Send Message
    Saaamoth polycounter lvl 3
    Yokogeri said:
     And it seems that it will continue improving, with features such as Vulkan support and Mixed Lighting modes promised for the upcoming 5.6 version.
    After countless hours of frustration, mixed lighting mode at last!
  • Raffles
    Offline / Send Message
    Raffles vertex
    @Yokogeri Sure, I kind of anticipated it would be far too much for mobile platforms, even at reduced output res, but wow you're pushing those pixels even harder than I thought if it runs at a similar framerate to the Witcher 3, especially as it's just a static environment ;)

    For the record I really like the orange heavy look. It looks a bit too orange on your step by step gif, but the vignetting tones it down just enough.
  • mcgillchris
    Offline / Send Message
    mcgillchris polycounter lvl 2
    Gorgeous post-processing and lighting work. 
  • Yokogeri
    Offline / Send Message
    Yokogeri polygon
    I'm dedicating this weekend to improving the environment and taking it to a final state.

    The biggest visible change that I've done today is improving the lighting/post-process, which you can see in the pictures below.

    New:

    Old:



    Post processing
    - Tonemapping intensity increased by 10%.
    - Blue color values increased by 20%.
    - Brough all five scenes to the same color temperature (orangeness) - 50 - instead of having unique temperatures for every scene - 45, 45, 20, 65, 65.
    - Reduced fog opacity by 10%.
    - Reduced fog fade length by 10%.
    - Made some tweaks to the atmospheric scattering affecting how foggy the sky looked. It's less foggy now.

    Light

    - Reduced GI bounced light by 15%.
    - Ambient (Sky) light increased by 10%.
    - Changed light color from (255, 209, 159) to (255, 200, 159). Slightly more orange than yellow now.

    Other

    I spent 1 hour trying to make the brick path look less linear, but realized that it creates several problems and tons of work, which i do not think is worth the time. I will keep it this way and make sure to learn from this mistake for future environments.

    I added a fade in/fade out effect to the dust particles as they had a tendency to pop too much before. I also adjusted the amount of particles spawned in every scene. Some have less, some more. This change made all scenes look somewhat more alive.

    The stone wall structures in scene 4 are remarkably bigger now. This made a huge difference, giving the structure more of a "Wow, this is a mighty fortress" feeling.

    The flag in the front (Scene 1) was a bit too dark, so i gave it a subtle spotlight that brightens it a little, without affecting anything else in the environment.




  • Yokogeri
    Offline / Send Message
    Yokogeri polygon
    Final renders:











    Final patch notes:


    Post processing
    - Tonemapping intensity increased by 10%.
    - Blue color values increased by 10%.
    - Brough all five scenes to the same color temperature (orangeness) - 55 - instead of having unique temperatures for every scene - 45, 45, 20, 65, 65.
    - Reduced fog opacity by 10%.
    - Reduced fog fade length by 10%.
    - Made some tweaks to the atmospheric scattering affecting how foggy the sky looked. It's less foggy now.

    Light

    - Reduced GI bounced light by 15%.
    - Ambient (Sky) light increased by 10%.
    - Changed light color from (255, 209, 159) to (255, 200, 159). Slightly more orange than yellow now.

    Other

    - Fade in/fade out effect to the dust particles added, as they had a tendency to pop too much before.
    - The stone wall structures in scene 4 are remarkably bigger now.
    - The flag in the front (Scene 1) was a bit too dark, so i gave it a subtle spotlight that brightens it.
    - Added some randomness to the force applied to the flags by the wind script.
    - Added a slope-based layer of brown moss to the shader affecting the structures and dragon head that makes them look more old and decayed.
    - Giant dragon heads in scene 4 too dark. Gave them a spotlight.
    - Increased Precomputed Realtime GI Quality.
    - Added letterboxing for resolutions other at than 21:9.
    - Pressing "Escape" quits the application now.




  • pixelpatron
    Offline / Send Message
    pixelpatron polycounter lvl 6
    Came out great! Only crit from me would be to add some dead grass or twigs/branches just to soften it a bit. It's a bit too much rock and dirt atm, needs something to give it life. 
  • Yokogeri
    Offline / Send Message
    Yokogeri polygon
    @pixelpatron Thanks! And great feedback.

    One of the bigger lessons I've learned when creating this environment is that using props of varying size is important to make the beholder understand the scale of everything. In my case, i had lots of bigger props, but forgot to include objects of smaller size.

    As you say, using twigs or branches would have problably been wise, as it would create more variety and help emphasize the scale.

    I actually considered using exactly those kind of props, but thought that it could seem illogical. "Branches and leaves. Thats nice. But where are the trees then?" This led to new questions and problems when envisioning the environment in my head, and eventually ended up getting scrapped because of the time-constraint.
  • Yokogeri
    Offline / Send Message
    Yokogeri polygon
    Video showcase of the final version!



  • Yokogeri
    Offline / Send Message
    Yokogeri polygon
    Thank you all for the feedback! Some additional info from this project can be found in this article:

    https://80.lv/articles/creating-an-aaa-environment-in-unity-5/
  • miezis
    Offline / Send Message
    miezis polycounter lvl 4
    This thread is seriously lacking in appreciation!
    Awesome work man! Very atmospheric and sublime. Looking forward to your next one!
    One minor crit - some color contrast would be nice for focus on some shots. Like - a green flag on a rusty scenery. But other than that - awesome!
  • Yokogeri
    Offline / Send Message
    Yokogeri polygon
    @miezis Thank you! Really made me happy to read your post. I've written down your critique in my "Learned from Ardrak"-notebook.
Sign In or Register to comment.