Announcement

Collapse
No announcement yet.

How to optimize environment

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    [TUTORIAL] How to optimize environment

    Hey I'm currently creating a whole bunch of modular environment assets for mappers, but I'm a noob and would really appreciate if you guys could give me some tips on how I could create more optimized modular environments assets. It would be great if Low End PCs could run a map filled with my meshes at 60fps steady, but I don't know what are my constraints in terms of draw calls, triangle count, VRAM, RAM, etc. Is there a way to emulate a low end PC?
    Last edited by 3Dmatic; 01-04-2016, 05:59 PM.

    #2
    There are no hard rules on minimum spec.'s for assets yet. The answer that I have received is to try and contextually keep the vertex count in mind. So perhaps that rail that you originally had 18 sides for could be done with only 10-12 sides and fewer UV islands. This is one of those things where Levels of Detail (LODs) will also be important I think. My suggestion is to turn your editor settings onto the lowest graphics settings and look at the most upscaled (vertical slice) level in its current state (I don't know which one that is right now ). That might give you a decent starting point to work from for each individual asset.

    The other thing you might consider, and I would defer to YemYam and Rick's expertise -- is whether you really need a normal map on an asset or not. For example, the game Alien: Isolation relied heavily on actual geometry and less on normal maps because it ultimately reduced their memory requirements and/or draw calls (is my understanding). So that is also something to consider.

    Once you make the assets available either via direct download or the marketplace, I am certain you will get some feedback on potential improvements.

    Comment


      #3
      Optimization is just part of the process. Check out the making of titan pass and a few of the UT streams around that time. The most efficient and best looking maps are first built to visual spec, then scaled down for performance purposes. Although vert count is still very important, it isn't as big of a deal as it used to be, especially with this engine. What kills the processor, ram or video card these days is mostly dynamic lighting, shaders/textures and fx.

      In your case, the best thing for optimisation would be modularity, not only with the "Lego bricks" build possibility, but even the possibility of being able to share a single texture/material across multiple assets. LOD's are also a big deal, look into that.

      There's no easy way to 'scale down' the performance of your pc to test stuff like this, so (apart from buying a cheap laptop to test), just use UE4's profiler tool to monitor that stuff, works wonders.
      3d Artist
      UT Cosmetic Items |
      UT Cybernetic Build

      Comment


        #4
        Here is the breakdown of an optimized environment done and posted by Tor Frick on the polycount.com forums. Everything uses a 256x512 texture.



        Download
        http://www.torfrick.com/ScifiLab.rar

        Explanation of how he reused his texture
        This Image Was Automatically Resized by using the Screenshot Tag.  Click to view the full version
        This Image Was Automatically Resized by using the Screenshot Tag.  Click to view the full version


        The entire scene is 871 objects, 1084 drawcalls, but that could easily be reduced by a few hundred by just combining things together.


        I'd say a mixture of both ^^ The shader is quite expensive, depending on what features you turn on, but i didnt really try to optimise the shader that much. For just the core features, the tiling of materials and specularity etc etc, is 89 instructions, but with fresnel, reflections, etc its 130 instructions or so. For iOs games this would be pretty good I think, since most of the stuff is not expensive, just need pretty cheap shader and some thinking beforehand. I see this mainly as a way to save texturememory so it can be used somewhere else, or just boost the resolution up a few notches, for example, had I used a 1k*2k texture instead this would have been really highrez but still pretty cheap : ]

        A look at the environment
        This Image Was Automatically Resized by using the Screenshot Tag.  Click to view the full version
        This Image Was Automatically Resized by using the Screenshot Tag.  Click to view the full version
        This Image Was Automatically Resized by using the Screenshot Tag.  Click to view the full version
        This Image Was Automatically Resized by using the Screenshot Tag.  Click to view the full version
        This Image Was Automatically Resized by using the Screenshot Tag.  Click to view the full version

        Assets
        This Image Was Automatically Resized by using the Screenshot Tag.  Click to view the full version
        This Image Was Automatically Resized by using the Screenshot Tag.  Click to view the full version
        This Image Was Automatically Resized by using the Screenshot Tag.  Click to view the full version
        This Image Was Automatically Resized by using the Screenshot Tag.  Click to view the full version
        This Image Was Automatically Resized by using the Screenshot Tag.  Click to view the full version
        This Image Was Automatically Resized by using the Screenshot Tag.  Click to view the full version
        Last edited by 3Dmatic; 01-04-2016, 01:58 PM.

        Comment


          #5
          This is a pretty cool tut video. I'm gonna try it myself. I've noticed that some of the UT assets already apply this trick.


          https://www.youtube.com/watch?v=4xvuQ8kCD9o
          Win 10
          iMac (27-inch, Late 2013)
          3.5 GHz Intel Core i7
          32 GB 1600 MHz DDR3
          NVIDIA GeForce GTX 780M 4096 MB

          Maps:
          DM-RadioActive (Work In progress) DM-Ethos (WIP) DM-QWERTY (WIP) DM-TwinFalls(WIP)
          2k4 DM-MoonGames, DM-Abrenabba, DM-Aphelion, DM-Pyrimid-Of-Gold, DM-UPH-Hexed, Dm-Saint, DM-LethalAdixion, DM-C4-Ariza, Dm-C4-SleepyTomb,

          Comment

          Working...
          X