Home 3D Art Showcase & Critiques

(WIP) Procedural Arctic Forest Environment [UE4]

polycounter lvl 3
Offline / Send Message
Pinned
ilari polycounter lvl 3
Check out the 80 Level article here: https://80.lv/articles/procedural-artcit-forest-environment-production/

This is a summer project I started a few weeks ago, the goal was to find out if tessellating foliage would kill performance on a modern midrange PC.

Most of the R&D is done at this point and with just rudimentary optimisations a GTX 970 paired with an ancient Sandy Bridge processor framerates are in the 20s. With the tech sorted out I'm just having fun with this scene populating it with assets, I'll be posting updates as I go along.

Current progress:



***










Replies

  • FreneticPonies
  • PixelGoat
    Offline / Send Message
    PixelGoat polycounter lvl 12
    the snow looks awesome!
  • tac0m
    Offline / Send Message
    tac0m polycounter lvl 6
    SO GOOOOOOOD! Keep it up, can't wait to see moar results
  • Ali_Youssef
    Offline / Send Message
    Ali_Youssef polycounter lvl 6
    Lovely scene !
    Would love to see what it would look like with some snowfall 
  • Rekmar
    Offline / Send Message
    Rekmar polycounter lvl 19

    looking nice!


    ilari said:
    the goal was to find out if tessellating foliage would kill performance on a modern midrange PC.

    sadly if you mix Tessellation + Foliage + LODs a long standing and largely ignored bug bug will ruin your performance, up to the point of even crashing your GPU (which Windows/nvidia is nice enough to recover from).

    if you pursue this and encounter this issue don't hesitate to add your voice to the bug report :)

  • Sharur
    Offline / Send Message
    Sharur polycounter lvl 2
  • ilari
    Offline / Send Message
    ilari polycounter lvl 3
    Thanks for the encouragement everyone!

    The spruces are now a lot more varied (8 growth stages from young to old) but performance took a nosedive! The trees are currently sitting at 5k polys for the small ones up to 10k for the large ones, the internal structure that's not very visible from the outside is getting culled in the next pass (I liked the idea of framing shots with some really close up branches without losing the illusion of volume). No billboards yet though, I guess the fact it even runs is a positive sign.

    Rekmar said:

    sadly if you mix Tessellation + Foliage + LODs a long standing and largely ignored bug bug will ruin your performance, up to the point of even crashing your GPU (which Windows/nvidia is nice enough to recover from).


    I haven't run in to this issue yet, but thanks for the heads up! Running version 4.15.

    Current progress:




    Experimenting with wavy snow projected along sloped surfaces.





  • RustySpannerz
    Offline / Send Message
    RustySpannerz polycounter lvl 13
    I honestly can't believe how good those trees look, wonderful job so far! 
  • ilari
    Offline / Send Message
    ilari polycounter lvl 3
    I honestly can't believe how good those trees look, wonderful job so far! 
    Thanks! I think they hold up pretty well at a moderate distance but I noticed up close you can see some branches have been upscaled way too much and stick out like a sore thumb.
  • AlanSMitchell
    Offline / Send Message
    AlanSMitchell polycounter lvl 14
    this is looking great. Nice work
  • Sebvhe
    Offline / Send Message
    Sebvhe greentooth
    I have always been disappointed by how snow looks on trees, especially pines. But you sir surely have nailed it.
    As for the snow patches created by using displacement, I really like the way they look, but they are somehow not realistic. I don't know if you should change it though, it does look very good.

    Not the best feedback, but I really felt like commenting that scene :smiley:
  • bigodon
    Offline / Send Message
    bigodon polycounter lvl 8
    the snow on first photo looks so soft, i want to throw myself there and roll :#
    wonderful work mate.
  • lotet
    Offline / Send Message
    lotet hero character
    the trees look amazing, as does the snow in general, really great work.
  • ilari
    Offline / Send Message
    ilari polycounter lvl 3
    Thanks @lotet @bigodon @AlanSMitchell @Sebvhe :)

    I want to share some details about the material I've put together that's driving the look of the trees. (with pictures!)
    It's been an iterative process as I've discovered I need a new type of branch in some place or variation in snow density on a macro and micro scale.

    New optimized trees in Maya (now in the 1k-6k poly range). AO has been baked to vertices to give a starting point for vertex painting in UE4. The solid blues are areas where I want dead branches to appear:


    Vertex painting snow in UE4 is a breeze, this is the sort of "micro" scale detail I want:


    The trees in the distance quickly became an even noisy blur so I added a random number that modifies the general level of snow coverage on any given instance of a tree. This is "macro" scale detail, it's compatible with the foliage tool, LOD friendly and interacts nicely with the vertex paint. You can see the effect in earlier pictures. 


    Sebvhe said:
    I have always been disappointed by how snow looks on trees, especially pines. But you sir surely have nailed it.
    As for the snow patches created by using displacement, I really like the way they look, but they are somehow not realistic. I don't know if you should change it though, it does look very good.
    Thank you :)
    I can see what you mean about realism, in the heart of winter snow wouldn't naturally accumulate into big chunks like that while leaving the rock surface in the cracks exposed. As a thought experiment *maybe* if it was warm and the snow had been thawing for a while the melted water running over the surface could have carved deep valleys in natural crevices of the snow surface, dirt and pebbles carried by the water would also settle there. During springtime snow can go through many cycles of thawing and freezing, this kind of snow is usually compacted and has a hardened glaze of ice on the outer layer. If water gets to flow in between the snow and ground chunks of snow can suddenly "cave in" resulting in large cracks forming on the snow surface. But as you said if it looks good don't overthink it.
  • wonkza
    Offline / Send Message
    wonkza polycounter lvl 4
    wow amazing, good job. I wish I did that ehehe
  • LostHorizon
    @ilari
    Do you have any portfolio? How can I contact you?
  • nekromantikko
    Offline / Send Message
    nekromantikko polycounter lvl 2
    This is excellent, the vertex painting stuff is really clever.
  • Tetranome
    Offline / Send Message
    Tetranome polycounter lvl 6
    Beautiful work. I love the forms of the snowy ice!
  • Ashervisalis
    Offline / Send Message
    Ashervisalis grand marshal polycounter
    Beautiful! Can you give a short breakdown of your tree creation process?
  • undin
    Offline / Send Message
    undin polycounter lvl 2
    I would also love to see a breakdown. This level looks like it would be beautiful in a game :smile:
  • ilari
    Offline / Send Message
    ilari polycounter lvl 3
    Thanks a bunch @wonkza @jpr @Tetranome @Ashervisalis @undin !

    Playing with lighting and the FOV:




    Here's the tree modeling process explained, I'm doing a more comprehensive writeup for 80.lv which will be out soon!


    I started by building a branch in Maya with Paint Effects, then bringing it over to Zbrush and adding needles with fibermesh. I broke up the branch so I had 2 main branches (the ones with snow covering the middle) and some smaller ones. The snow was done by dynameshing the branches in Zbrush, deleting the bottom half of the dynameshed model and then applying surface noise as a mask and deleting unneeded polys. Thickness was added with Zmodeler, after that the snow was dynameshed again and I used the Inflate brush to enlarge or hide clumps to get a more natural looking snow distribution.

    There are 3 branch texture variations: heavy snow, light snow and dead.





    In Maya I built branches of different types, in total there are more but I can't reasonably fit them all here. The big branch you see on the right is 146 tris and they get leaner from there. Most branches were blocked out with the 2 major branch cards I mentioned earlier with smaller ones added for flavor. The small thin frond cards were used to build the tree tops which have a very particular shape. There are also some more crooked branches that are bare of needles.



    I laid the branches out vertically and started thinking of the silhouette of the tree while maintaining a constant scale. This "slice" of branches was then duplicated radially around the trunk mesh and given some random rotations and transforms on the y-axis. Final touches were made by grabbing the tip vertex of some branches with soft select and moving/rotating them around.
    Things progressed pretty quickly after the first tree was done as I could just duplicate the meshes, randomly transform/rotate them again and just check that a branch hadn't flipped upside down for instance.

  • Ashervisalis
    Offline / Send Message
    Ashervisalis grand marshal polycounter
    Nice, thanks so much for that! Could you post the 80.lv article on here when it's out?
  • ilari
    Offline / Send Message
    ilari polycounter lvl 3
    Yes, I'll make sure to link it here!
  • eCstatic
    Offline / Send Message
    eCstatic polycounter lvl 14
  • Felixenfeu
    Offline / Send Message
    Felixenfeu polycounter lvl 10
    Pretty stellar work !
  • undin
    Offline / Send Message
    undin polycounter lvl 2
    thanks for posting the breakdown !
  • ilari
  • waikkil
    Offline / Send Message
    waikkil polycounter lvl 4
    Ilari this is some next level stuff. So amazing! Yritän kaapia leukaani tuolta lattiasta tässä ohessa. Absolutely loved the 80lvl article, one of the best things I've read there in a long while. Nicely long and descriptive. I've also been studying both Unreal and World Machine recently but nothing on this level this is beyond inspirational man. Can't wait to see what you come up with next. 
  • Ashervisalis
    Offline / Send Message
    Ashervisalis grand marshal polycounter
    Thanks Ilari, I'll check out the article when I get home today!
  • nekromantikko
    Offline / Send Message
    nekromantikko polycounter lvl 2
    All the stuff you did in zbrush is pretty genius as well :D Who'd have though there'd be a use for messy dynamesh geometry??
Sign In or Register to comment.