Search Unity

Games Jurassic Extinction

Discussion in 'Works In Progress' started by warthos3399, Jul 29, 2019.

  1. skinwalker

    skinwalker

    Joined:
    Apr 10, 2015
    Posts:
    348
    Beautify will be the best but I use them both at the same time now amplify color effects is free
     
    warthos3399 likes this.
  2. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    6,840
    warthos3399 likes this.
  3. warthos3399

    warthos3399

    Joined:
    May 11, 2019
    Posts:
    465
    @Antypodish ya know, your right. The following post will explain a bit more, as i saw that myself while doing tonights work. Somethings off, ill make a few test runs on texture work, and see what i can come up with. :)
     
    Last edited: Nov 23, 2019
  4. warthos3399

    warthos3399

    Joined:
    May 11, 2019
    Posts:
    465
    Tonights work/info on optimization is terrain settings. In JE, an open world senario, which has a big overhead of rendering, you need to set your terrain options wisely, as they can impact performance greatly. So tonight i tackled it. The biggest area of improvement comes from the Tree & Detail Object section of terrain options.
    • Detail Distance: The distance from the camera beyond which details are culled...this is big, i set it low and gradualy moved up to the sweetspot. This lowers what is culled, per distance. Big improvement.
    • Tree Distance: Another big one. The distance from the camera beyond which trees are culled, big difference.
    • The last 2 good ones are: Billboard Start and Max Mesh Trees, kinda self explainitory. I lowered mine by half, and saw great results.
    These were the biggest performance improvers so far, as you have control over many variables for the terrain. :)
     
  5. warthos3399

    warthos3399

    Joined:
    May 11, 2019
    Posts:
    465
    Well as we Devs say "its about getting away with what you can (less), more than it is what you can add". So i have to be careful what i add, and its impact on performance, size, or integration.

    I should have time tomorrow to test both on my test server, and see whats better.
     
  6. warthos3399

    warthos3399

    Joined:
    May 11, 2019
    Posts:
    465
    Tonights work was great! Alot done, cant remember it all, lol:
    • Mipmaps implimented.
    • Texture adjustment (base), as unity sets its default to 2048, now scaled (some textures are now 1024, with no loss of detail, less disc space).
    • MiniMap added, still needs adjustment, but working good. Also UFPS GUI needs work, health and ammo boxes, color/position, etc.
    Vid of current progress:

     
    Last edited: Nov 24, 2019
    Antypodish likes this.
  7. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    6,840
    Ah, even roars :)
     
    warthos3399 likes this.
  8. warthos3399

    warthos3399

    Joined:
    May 11, 2019
    Posts:
    465
    Most of tonights work has been back-end, UI, optimization, sound and damage adjustments.

    Can say one thing, optimization in Unity is a TON of work. Ive been working on mipmaps, occlusion culling, tri/poly reduction, texture reduction, gfx/quality settings, and i still havent hit what i want. I still have certain areas that perform poorly. Been in profiler all night long, trying to nail down the culprit :)
     
    Deckard_89 likes this.
  9. khos

    khos

    Joined:
    May 10, 2016
    Posts:
    911
    Hope you don't my 0.2 cents:
    I believe your game will have numerous NPC type characters (e.g. Dinos/soldiers etc), all using animators/skinned mesh renderers, on my game I noticed a reasonable performance boost when disabling those type of components/objects when offscreen, developed a script to calc distance to player for each NPC type object and enabling those when the player gets closer, something maybe worth investigating with your game. Hope that helps :)
    I have some more tips if you are interested:
    -Used MeshCombineStudio which helps alot for objects like rocks/trees etc,
    -Used layers for objects and then set camera.layerculldisatnces as not all objects need to be shown at same distances.Maybe you have already got this?
     
    JBR-games likes this.
  10. warthos3399

    warthos3399

    Joined:
    May 11, 2019
    Posts:
    465
    Thnx for the info and help, ive done everything youve mentioned accept the layer/object/culling. Even though i already have occlusion culling, i might try that idea. Might be better if i post what i have done so far and etc. Ill be back in a few hours with that info. Right now adjusting damage with the dinos, kinda fun, lol.
     
  11. khos

    khos

    Joined:
    May 10, 2016
    Posts:
    911
    Just thought of another thing, shadows, draw distance and quality all matter too in terms of performance.
     
    warthos3399 likes this.
  12. warthos3399

    warthos3399

    Joined:
    May 11, 2019
    Posts:
    465
    Heres the technical info on JE:

    Environment:
    • Terrain 2048 x 2048 map (modified).
    • 500 rocks (Boulders and Rocks 2).
    • 4100 trees (SpeedTree assets).
    • 200 plants (again SpeedTree).
    • 49 dinos (JP assets, heavily modified).
    • 15 npc (14 soldiers and Omar, heavily modified).
    Assets:
    • Aquas - for water/underwater caustics, wet lenz, etc.).
    • Clouds Toy - volumetric clouds.
    • UFPS - Character controller/player.
    • EmeraldAI - for all AI needs.
    • Volumetric Fog & Mist - for Fog (this is a tough one, great fog but is it worth the performance impact?).
    • Mesh Simplifier - for Tri/Poly reduction done on all models possible.
    Optimization:
    • All non-moving objects set to Static.
    • Occlusion Culling.
    • Staic batching.
    • Dynamic batching.
    • Mipmaps.
    • Reduced textures to a point of no detail loss.
    • GPU material instancing.
    • All textures have "use crunch compression" disabled.
    • Only using 1 directional light in scene.
    • All audio files converted to .ogg/vorbis.
    • Shut off shadows on objects that dont need them (rocks, etc.).
    • Adjusted the far/near clipping planes.
    • Adjusted detail distance.
    • Decreased the tree distance.
    • Decreased the billboard start.
    • Reduced the Max Mesh Trees.
    • Quality and GFX settings set up.
    • Default rendering is Forward.
    Im sure i left a few things out, as ive done alot in 7 months. I will be setting up Mesh Combine Studio soon. Now with that said, the game runs very good i only have frame rate drops in certain areas, and i notice that these areas are dence with foliage (trees, plants, rocks), to be expected with a game of this type (open world). Ill work this out for sure, i always do :)
     
    Last edited: Nov 26, 2019
    Stephen_O likes this.
  13. warthos3399

    warthos3399

    Joined:
    May 11, 2019
    Posts:
    465
    Heres tonights update, more on the player side:
    • Setting/adjusting the damage and speed of the animation/attack of dinos.
    • Adjusted the HP of the dinos to the damage recieved ratio.
    • Players will have a pistol and a shotgun to start with (set up).
    • Set up additional guns, health packs, and ammo at pick-up boxes. (on the 2nd floor of observation towers).
    • Has anyone else noticed? (in most of the videos), the arms/hands for the UFPS controller dont look right. They look like a manequin/doll, lol. Ill add that to the to-do list.
    A side note: players have to be wise with ammo (you also have a knife). Not all dinos will attack on sight/detection unless you shoot/attack 1st. The dinos are being set up as close to what would be realistic (scientificlly/current knowledge). Your environment can help, look for rocks, trees, etc. for safespots.
     
    Last edited: Nov 26, 2019
  14. warthos3399

    warthos3399

    Joined:
    May 11, 2019
    Posts:
    465
    I have to take a step back at this point. I need to reflect on what i have done in 7 months, and my result. And is Unity my best choice of game engine for a open world concept?, I think it is. But i have issues that i need to address, to get the result im looking for. For me its been alot of time on optimization (at this stage), instead of game-play/interaction. Work flow counts.

    As developers, we all tend to "second guess" ourselves during the process, and the tools and options available. And there are limitations with any givin engine of choice. My personal take on it is this: Do we devote ourselves to our choice of engine and deal with its shortcomings, or do we switch to another and deal with its shortcomings. C++, C#, its just a programming language, but what of the engines capabilities?.

    I see far too many switching over to UE, Sure it has great lighting, and etc., but is it the best choice?. I for one love Unity, ive invested alot of time and alot of money and friendships. But on the optimization side, Unity doesnt have it. Its up to us to "figure it out"/create new plug-ins "work arounds". I love my project, and i think its worth everything i put into it.

    I am going to take a "public" break this weekend (thanksgiving weekend, see family and friends), but work will continue as usual. I grow tired of the Unity/Unreal debate, both are great, but i think i know my home, right here, i just wish that performance/optimization wasnt as hard as it is...

    I wish everyone a great thanksgiving holiday.

    -Warthos
     
  15. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    6,840
    It depends what type of information look for. If you look for information people switching from A to B, you will get bias information, as if that was only true. But you need look on other side of coin as well, to get better and bigger picture.

    Question you should ask yourself is, "Does any other alternative, would allow me to get to the point I am right now, with similar time span?".
    Consider available resources assets, familiarity with similar/alternative tools (including C++/C#), active community support, etc.

    Whatever tool you are going to use, you will hit the wall sooner, or later. Only commitment will allow, to pass it through.

    But foremost, what type of optimization you stuck on? Because there may be simple steps, you are missing out?

    By all means, take a brake. Refresh your mind and enjoy.
     
    warthos3399 likes this.
  16. Stephen_O

    Stephen_O

    Joined:
    Jun 8, 2013
    Posts:
    1,024
    I feel optimization is an iterative process, the more you work on it, the more you learn about how to do it right. Most often the right approach is not known when you start, but revealed as the project is developed and you realize what you're working with (every project is different). Personally, I don't see a reason you can't optimize to a stable point. For open world, the biggest issue I noticed in my project is floating point accuracy when moving past a world position where float accuracy is diminished, which I'll avoid by not letting the player move past the limit.

    I'd bet the time lost in rebuilding to this point with UE would be better spent finishing adding what you want design wise to this project, then work on optimization to make it stable.

    From personal experience, the biggest optimization that can be made is creating and using texture atlas in materials as much as possible, that way you can have all building objects for example on the same material. Not being an artist myself, this is hard for me (but there are tools that can sometimes help). I have the artist I work with for professional projects do this from the start and it's well worth the effort in the end, allows him to go crazy with scene/art design and not worry, once he's done I go in and mesh-combine/give assets get the right settings.

    One thing I might wonder is how is your minimap camera optimized? I looks like it's rendering the world, maybe you can get some performance there by switching to a texture/screenshot of the world, then it only renders that one object and the icons you use.
     
    warthos3399 likes this.
  17. khos

    khos

    Joined:
    May 10, 2016
    Posts:
    911
    Why switch to UE at this point in your project, seems a bad idea to me.

    Is it only related to what framerates are you getting, e.g. 30 in the worst areas? what FPS are you aiming for?
    For all the terrain stuff I hear vegetation studio is amazing, I was going to try that with my game but did not in the end.

    I'd focus on one thing and do it properly (plan the optimisation part from the start, or as best as you can, learn from mistakes :) ) is what I say. Unity is very forgiving/powerful (maybe even more so now with ECS!) so I would be hesitant to point any finger at the game engine just yet.

    How do you know you'll get better results in UE?
    How many others are switching to UE? I don't see that being discussed anywhere on the forums.
    There are several other very successful games made with Unity so you know it can be done.
     
    warthos3399 and Antypodish like this.
  18. skinwalker

    skinwalker

    Joined:
    Apr 10, 2015
    Posts:
    348
    If you are not using vegetation studio pro or at least vegetation studio you must do it, it will boost your frames so much, I cant imagine making an open world environment without vegetation studio even people from unreal want it, I would consider it a crime to not use it. The difference between VS and VS Pro is that VS Pro is so much faster using the Burst system, but the catch is you need Macbook if you want to build for OSX and Linux device to build for Linux (hope they add support in the near future or at least add support in macincloud), with VS Standard you can build directly from windows.
    Its also on sale for black friday hope you catch it.

    Disable all of your AI that is away from the player. If you have a lot of static objects that arent vegetation like houses, fences use MeshCombineStudio.

    Bake occlusion culling.

    If performance its still a problem remove the reflection probe.

    Add settings for users to turn off shadows, anti aliasing, post processing and with vegetation studio you can even reduce the grass density, tree density, object density at runtime (it has the biggest performance boost, if someone is playing on a 5 years old laptop he wont have 100% dense grass but at least he will be able to enjoy the game).

    There is no way to not get decent performance after this. Your average target GPU should be GTX 1060 6GB, I have it on one of my PCs and my game runs with about 100 FPS on it and I will consider it below medium rig.

    My game is over 2 years old, thousands of players on all kind of rigs.

    I have a couple of friends using Unreal and they struggle with performance even more there, remember that the grass seems always greener when you look at the other products, but once you start using them you find out its not always the case ;)
     
    warthos3399 and Antypodish like this.
  19. warthos3399

    warthos3399

    Joined:
    May 11, 2019
    Posts:
    465
    I have a some time before i head out to family dinner, so i wanted to reply the best i can.

    @Antypodish Totally agree with you, as im staying right here with Unity, but i have been asked quite a few times to go to the darkside, lol. Personally like you all have said, i dont care if the project may "look" better in UE, its not worth the time that would be invested, and UE has its own problems...no thnx.

    @Stephen_O You are correct also, and to note: i do have atlas textures, and the new mini map didnt have the capability to render from a texture instead of a camera, so its deleted/removed. Currently looking at 2 assets that will do the job, but your ideas are spot on.

    @khos Love your reply, i agree, its not real bad FPS-wise, just certain areas (which happen to be tree/foliage dense areas) seems to be the prob, and the drop is significant (like down to 25 FPS or less). I know 3 devs personally that switched to UE, because they were drawn in by the great lighting/gfx, but now all i hear them complain about is the need to learn/use Blueprints and the probs with optimization, lol.

    @skinwalker Big thnx for the info, and once again agree. I like VSP, ive checked it out and love it, my only question is can i use it in an exsisting project, without having to re-place the trees/foliage assets, as that would set me back time-wise quite a bit, not to say that i wouldnt still do it. I do Bake occlusion culling, works good, the only reason i havent removed the 1 reflection probe is because its tied to Aquas, when i remove it, the water now looks like crap, and i do use the underwater caustics/wet lenz effect from that asset. If i have to, ill ditch it just to get rid of the reflection probe and use another asset for water.

    Thanks for all the great info/ideas guys, really appreciated. Im going to soak up this info, take a few days off to breathe and make a plan of attack. I understand its just a learning/growing pain, maybe im just impatient to get to the gameplay phase where ive been on environment/optimization phase for so long. Have a great weekend guys :)
     
    Stephen_O and Antypodish like this.
  20. skinwalker

    skinwalker

    Joined:
    Apr 10, 2015
    Posts:
    348
    When you import VSP you will need to redo the vegetation and grass but dont worry it wont take you more than a few hours with the rules you are setting - you already have the assets so its just a matter of hours to make it work, so get it while its on sale you will never regret it and will boost your performance so much. Also your grass will look much better when you do it with vegetation studio.

    I had big performance problems with aquas and the reflection probe reflecting all the grass, I recommend you switch your water to Lux water - more realistic, more control and better performance.
     
    warthos3399 likes this.
  21. warthos3399

    warthos3399

    Joined:
    May 11, 2019
    Posts:
    465
    Heya guys, some exciting news! I have a few minutes before heading out, but wanted to share
    the update. I have found the problem with low FPS/performance.

    It was only happening if the player faced NW, no matter where you were on the island. So i
    narrowed it down by selectivly deleting objects (i have 3 versions of the game set up). As
    soon as i deleted the operations center, observation towers, and related props, my FPS shot
    up dramaticly (60-70 FPS) looking to the NW.

    The culprits are ALL models i got from Sketchfab (the only ones). Even though i decreased
    tris/polys on them (static), made no difference. I tested/found errors in geometry with all
    models from Sketchfab. So what does this mean for the project?

    JE is back on track, and will be even better! (have some great ideas), no real time set-
    back, the only thing that will really change is the story line. As now there wont be any
    humans on the island, a pure living dino environment. I will still need to do some
    optimization on the environment (foliage, rocks, etc.), but its looking nice and performing great!

    Im so relieved to finally find the core problem. Ill be back to work by tomorrow night/sunday, and will have a update with said changes :)
     
    Stephen_O and Antypodish like this.
  22. warthos3399

    warthos3399

    Joined:
    May 11, 2019
    Posts:
    465
    I cant tell you how perfect things have worked out, im so glad i removed the problematic models, guards, towers, operations center and shipyard:
    • New story line and senario.
    • Performance has increased alot.
    • "Cutting" off some of the terrain in areas not used.
    • Giant snake's new home is where the operations center used to be, perfect for him.
    • Exit/ending area is now on NW side of island.
    What the above changes mean is, i will now have alot of performance/rendering overhead room to add in more features PPE, new mini map, etc., without much performance loss at all. With this done theres less terrain, less foliage/trees/textures, etc., so performance will get even better. I have alot of work to get done tonight, but heres a SS of giant snake's new home, havent dressed it up yet, should be done tonight:

     
    Last edited: Dec 1, 2019
  23. kdgalla

    kdgalla

    Joined:
    Mar 15, 2013
    Posts:
    1,995
    It sounds like you have everything at maximum quality in one big scene, which will probably not work optimally in any game engine.

    You may have heard about this already, but typically in a large, open-world game developers would use some kind of LOD (Level-of-detail) substitution for large, important objects. That is, if you have a large, detailed building, you would only ever render it when the player is up close to the building. The rest of the time it's replaced with a very low-detail approximation- something that is insignificant to render, but you can't really tell the difference because it's far away.

    The trick to doing an open-world game in general, is that only objects in the immediate vicinity actually exist. Games like Skyrim and the Witcher have elaborate systems behind-the-scenes to load content into memory when the player gets close and remove it as the player walks away. All the time, you show substitutions for large far-away objects. Unity doesn't have much out-of-the-box to help with this, but it has a very basic LOD system and you can use multiple scenes/ additive scene loading to manage large environments. I don't know what tools that UE has for solving this problem.

    Really, though, it's not about which engine is faster, it's simply a fact that there are always limits on how much a machine can render at a time and hold in memory at time. It's up to the developer to be creative with resources so that you maintain the appearance of a huge world within your limitations.
     
    warthos3399 likes this.
  24. warthos3399

    warthos3399

    Joined:
    May 11, 2019
    Posts:
    465
    @kdgalla Actually i dont have everything at maximum quality, and everything has LOD's. The models i mentioned did have alot of geometry errors (tested in Blender/3dsmax). Its my fault for using models without checking them out 1st :(

    Your statement is correct, and to add to that, you also have to set the LOD's transitions, very big. I know some peeps think its already set up, or forget about it (mistake). There are some assets out there that do help with the occlusion culling, but your right again, as most of these assets/systems need to be heavily modified to be of any use, and most times aint worth the effort, and dont really have an impact enough worth using.

    From what i hear from my Dev buddy who uses UE, says they basicly have the same prob we do with Unity, not sure how he actually addresses it.

    I do have a good set up (finally) for tri/poly reduction (works great), and coupled with occlusion culling, LODs, batching/pooling/instancing, has worked out great.

    Big thnx for the words of wisdom :), as like you said "It's up to the developer to be creative with resources", boy you got that right, lol. Ive tried like 8 assets, and wasted time modifying them, with a bad end result.

    -Warthos
     
  25. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    6,840
    Yey, sneaky snake :)
    I would consider for his area even teller grass, if possible.
    Maybe some bushes?

    Regarding dens forests, are you considering replace grass, with forest bedding?
    Technically, there should be different type of plants.
     
    warthos3399 likes this.
  26. warthos3399

    warthos3399

    Joined:
    May 11, 2019
    Posts:
    465
    Ah...the mighty Antypodish speaks, lol. Yes, that area will have taller grass, fallen trees, vegetation, and a few extras, as we all know what snakes do...they devouer prey, but leave behind bones, shed skin, etc. And as per your suggestion, ive re-textured the dead fallen trees, will add in tomorrow, looking much better. I love how you push me to be better, i can always count on you to direct me, in the path i need to be :)

    Ill make a video later tomorrow on updates, but i really want to have a fly through with Pegasus, so been working on setting it up, as now performance is really good. Have to see, as its not always game performance, but also asset performance.
     
    Last edited: Dec 1, 2019
    Antypodish likes this.
  27. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    6,840
    warthos3399 likes this.
  28. warthos3399

    warthos3399

    Joined:
    May 11, 2019
    Posts:
    465
    Tonight ill be adding in the mini map (which has image or camera support), and hopefully get around to LOD transition adjustments, heres last nights work:
    • Updated the dead fallen trees texture.
    • Removed Aquas reflection probe and its script, adjusted water.
    • Audio reverb adjusted.
    • Added wind to plants(cant believe no one noticed it, lol) .
    • Added sand texture to all under water areas (lake, streams, ocean).
    Started work on the giant snake area, and adjusted his texture, so i figured id shoot a vid:

     
    Stephen_O likes this.
  29. warthos3399

    warthos3399

    Joined:
    May 11, 2019
    Posts:
    465
    Ok, to give you all an idea of whats ahead, heres my Dev To Do List that i use while working on JE:
    • Fish at fallen tree area, an area where the player walks across a fallen tree to get to the next area, i want visible fish there.
    • LOD transitions, a big thing, I havent done it yet, and again will improve performance, as all speedtrees are at stock settings.
    • Baryonyx, the most recent addition, combat animations/AI need to be addressed.
    • Elongata, a carnivorous plant that pops out of the ground attacks and goes back underground. Speed and combat animations need to be addressed.
    • Pteranodons, animations and AI set-up needs work, biggest problem is they are flyers, once killed they die in the air without falling to the ground.
    • Turn animation on dinos, need to get Spine Animator working/configured right, turing animations need work.
    • End game, need to start implimenting the meteor/extinction event.
    • MiniMap optimization, implimented tonight, but using an image for the mini-map is a challenge with such a big map.
    • Audio trigger zones by way of colliders, need to delete the ambient audio and set up trigger zones and seperate sounds (birds, etc.).
    So far everything has gone according to plan/phases. Doing this alone, and staying on time-frame has worked out great. Another thing is to clean up actual code (C#). I still have UI to set up and optimize, but thats more towards the end phase. Ill be using Easy Main Menu, heavily modified of course. Im very happy to be at the "back end" of the game, as gameplay elements, UI and optimization is in full effect.
     
  30. warthos3399

    warthos3399

    Joined:
    May 11, 2019
    Posts:
    465
    Optimization is going great, i picked the lowest performing spot on the island, and by doing the following, i gained over 5 FPS alone (and im not even half way done yet, lol), once done ill gain over 10 FPS:

    A reminder for those using baked/static lighting, dont forget to set all your LODs (including billboard) to Light Probes - Off, and Reflection/Blend Probes - Off, and check Lightmap Static. Reflection probes are NOT a good idea, so make sure all your plants/trees dont have blend/reflection probe support enabled if your not using them.

    At the worst performing spot on the island, im now sitting at 40+ fps (was 32), and i also havent baked my lighting yet, lol.
     
    Last edited: Dec 4, 2019
  31. khos

    khos

    Joined:
    May 10, 2016
    Posts:
    911
    OK, what GPU are you testing with, just curious.
     
    warthos3399 likes this.
  32. Stephen_O

    Stephen_O

    Joined:
    Jun 8, 2013
    Posts:
    1,024
    The way I do this is have a default camera for minimap render texture, it's only set to render the objects with the layer named "MiniMap". I setup a simple plane and assign a top down screenshot image of the environment with a simple self illum shader, then mark it's layer "Minimap". Due to the large are of environment my texture is blurry, to solve this when ready, I'll take more screenshots divided into quadrant areas and map those to multiple smaller planes.
     
    warthos3399 likes this.
  33. warthos3399

    warthos3399

    Joined:
    May 11, 2019
    Posts:
    465
    @khos EVGA GTX 760 SC 2GiG

    @Stephen_O thnx for the info, if i get caught up tonight ill try that out :)
     
    Stephen_O likes this.
  34. warthos3399

    warthos3399

    Joined:
    May 11, 2019
    Posts:
    465
    While doing optimization work, i decided to start on the LOD-distance/transitions settings. Now i understand how they work, but for some reason just not getting it just right. It almost seems that i have to set the transitions per the actual view, meaning places where you can see far, and places where you cant.

    If anyone could chime in with any advise or helpful hints would be awesome. :)
     
  35. warthos3399

    warthos3399

    Joined:
    May 11, 2019
    Posts:
    465
    Tonights optimization went extremely well, per my above statement id like to explain a bit more. If your scene doesnt use Light probes or Reflection probes, most assets will by default have them set "on", (remember Reflection probes kill performance greatly).

    So... under Mesh Renderer i set Reflection and Light probes to OFF and checked Lightmap Static (baked lighting). (if your using Deferred rendering you cant shut off reflection probes, in forward rendering you can). Once you shut these off on all your LODS (lod0, lod1, lod2, etc.) you WILL see a performance increase.

    By doing this alone ive gained around 10 FPS, and that was only just my plants, lol. I plan on doing it to all foliage, So for open world type senarios, this is a must, and i havent baked lighting yet, which you will gain even more. Once im done i know ill gain at least 20+ FPS, which will put me at 60+ FPS at the lowest performing spot on the island. I hope this helps someone, as i like to squeeze every last bit of performance out that i can. More to follow :)
     
  36. kdgalla

    kdgalla

    Joined:
    Mar 15, 2013
    Posts:
    1,995
    This is just nit-picky but you probably don't want to measure your performance gains in FPS because it's not any absolute sort of measurement. For example if you're running at 30 fps and you improve to 40 fps then you've managed to shave 8.3 milliseconds off of your frame iteration time. If you go from 40 and improve to 50, you've only reduced your iteration time by 5 milliseconds, so it's really a significantly different amount of improvement.

    If you're game runs at 200 fps uncapped, then you'd only need to cut-out 0.24 milliseconds to get a 10fps improvement, which is not much at all.
     
    warthos3399 likes this.
  37. warthos3399

    warthos3399

    Joined:
    May 11, 2019
    Posts:
    465
    @kdgalla i agree with what your saying, did some testing tonight (V-Sync off of course), and i still gained over 10 FPS, but its still a gain, instead of a loss and i had to shut off reflection probe support anyway. My basic thought on it is...if your not using something (example reflection probes), then dont have your assets set up for using them.

    Even the dinos had reflection probe support turned on, on all LODS (now shut off). I just think that "shaving the fat" while doing optimization is a good thing, if ya dont need it, get rid of it, lol. Thnx for the input and info bro...really :)
     
  38. warthos3399

    warthos3399

    Joined:
    May 11, 2019
    Posts:
    465
    This weekend id like to get into shader support, as in the video below (Sarco), they look good and perform well, but i just think the shaders need work. I may change the current shaders used or optimize them, we will see, i just feel they need some love, and of course performance is the main key, lol:

     
    Stephen_O likes this.
  39. Antypodish

    Antypodish

    Joined:
    Apr 29, 2014
    Posts:
    6,840
    @warthos3399 maybe you have mentioned already, but what caps your FPS currently? GPU or CPU?
     
  40. warthos3399

    warthos3399

    Joined:
    May 11, 2019
    Posts:
    465
    @Antypodish GPU/Rendering.

    Things are looking great, been working on shaders. Changed the shaders for the dinos, still working on environment shaders. I also have one last asset to test for minimap (image rendering support), so this weekend will be a busy one, more to follow... :)
     
  41. warthos3399

    warthos3399

    Joined:
    May 11, 2019
    Posts:
    465
    And the weekend begins, heres the latest audio work done with some info on setting up audio clips that may help others:

    For sound effects (which have a short duration) you want them to be in .wav format, as for settings you want:
    • Load Type: Decompress On Load.
    • Compression Format: PCM.(When PCM is used, no decompression is needed and if audio clip is short it will load very quickly).
    • Sample Rate: Optimize Sample Rate.
    Now for ambient/music (longer duration) you want them in .mp3 format, settings are:
    • Load Type: Streaming.
    • Compression Format: Vorbis.(This combination will use the least amount of memory but will require some CPU power and disk I/O throughput).
    • Sample Rate: Optimize Sample Rate.
    I have also reduced texture size for all foliage/grass from 1028 to 512, this has helped greatly with no real loss in detail, but a nice performance gain on the rendering side :)
     
    Last edited: Dec 7, 2019
  42. warthos3399

    warthos3399

    Joined:
    May 11, 2019
    Posts:
    465
    Got alot done today, almost done optimization. Currently working on LOD transitions and squashing bugs, heres whats new:
    • Problem with dinos tails still waving/moving after death, now fixed.
    • UFPS arms and weapons textures/materials adjusted for more realistic look.
    • Shut off billboard on all grass.
    • Fixed problem with UFPS weapons "look down" stuttering.
    • Optimzation: at worst spot, now at 51 FPS @ 18ms, all other areas around 55-60.
    • Fish added to fallen tree bridge area.
    Will have to work on the UFPS controller soon, as its not optimized or fully set up, and found a stuttering prob with it that wasnt gfx/rendering. Heres a shot of todays work:

     
    Stephen_O likes this.
  43. khos

    khos

    Joined:
    May 10, 2016
    Posts:
    911
     
    warthos3399 likes this.
  44. warthos3399

    warthos3399

    Joined:
    May 11, 2019
    Posts:
    465
    @khos Thnx, ill write up a optimization summary and post as soon as i can (later tonight). For now they are just normal fish, but will be replacing with piranhas/etc. soon, as that was the plan.

    Still some optimization to finish, but been working on the UFPS controller, adding in footstep audio (per surface, grass dirt, etc.). Still need to solve a few issues with movement/stuttering going up and down inclines. Should be working on the new minimap later tonight/tomorrow. :)
     
  45. warthos3399

    warthos3399

    Joined:
    May 11, 2019
    Posts:
    465
    Optimization Summary, a few posts ago i talked about audio clips, format and type, so its not included here. I couldnt list all my Quality/GFX settings, as id have to make another post, lol, but will if anyone wants to see them. Performance is great 50 - 60 FPS and having alot of fun running around killing dinos, now onto it, and id be glad to answer any questions at all:

    Grass:
    • Reduced texture resolution from 1024 to 512.
    • Shut off billboard (annoying).
    TPM (textures per model): used the least amount of TPM as possible.
    Trees/Foliage:
    • All have LODS and Texture Atlas.
    • Reduced texture resolution from 1024 to 512.
    • Decreased the billboard start (distance at which tree meshes are replaced with billboards) to 25.
    • Decreased the tree distance (distance beyond which trees arent drawn at all) to 500.
    • Reduced the Max Mesh Trees (maximum number of trees which are displayed as meshes at any one time, any others will be displayed as billboards) to 25.
    • Mesh renderer: Shut off: Light probes, and Reflection probes.
    • LODS: only LOD_0 can be used for occlusion culling, so shut off Cast shadows, Recieve shadows and Light probes on LODS _2, _3, _4, etc. (not _1).
    • LOD Group: Mode is Cross Fade with Animate Cross Fading enabled.
    • Adjusting transitions had a big impact on performance (each game/scene is different).
    All non-moving objects: set to Static.
    Lighting:
    • Used only 1 directional light.
    • Baked lighting (not done yet, afraid to press that button, lol).
    Skybox: used a basic/stock skybox (as the volumetric cloud asset will be seen most).
    Rocks:
    • Reduced texture resolution from 2048 to 1024 (may reduce to 512).
    • Reduced tris/polys.
    • Mesh renderer: Shut off: Cast Shadows, Light Probes, and Reflection Probes, Turned on: Recieve shadows and Lightmap Static.
    Occlusion Culling enabled.
    Static Batching enabled.
    Dynamic Batching enabled.
    Removed ALL/Any reflection probe support.
    All dinos:
    • Reduced texture resolution from 2048 to 1024.
    • Reduced mesh tris/polys.
    Aquas:
    • Adjusted/reduced alot of settings (cant list them all).
    • Mesh renderer: Shut off: light probes, reflection probes, and cast shadows.
    Volumetric Fog: adjusted/reduced alot of settings (cant list them all) .
    Cameras (FPS and weapon):
    • Adjusted the far/near clipping planes.
    • Settings: Projection: Perspective, Rendering path: Forward, Turned on: Occlusion culling, HDR, MSAA.
    Bake lightmaps, static/baked lightmaps enabled.
    Terrain:
    • Increased the pixel error.
    • Increased the detail distance (distance that grass and detail meshes are visible).
    • Reduced the terrain (got rid of unused areas).
    Deleted parts of models not needed (faces not seen).
    Shut off shadows on any objects not needed (big one).
    All Materials have GPU Instancing enabled.
    All Textures have Generate Mip Maps enabled. Use Crunch Compression off (may save disc space, but increases loading times greatly).

    Some of the biggest things were mesh tri/poly reduction, texture res reduction, shutting off shadows, texture atlas, quality settings, and correct LOD set up. These are also good practices for those into mobile development, makes a very big impact on performance.
     
    Last edited: Dec 9, 2019
    Stephen_O likes this.
  46. warthos3399

    warthos3399

    Joined:
    May 11, 2019
    Posts:
    465
    Heya guys, well done alot of work tonight on the UFPS controller, wanted to show the progress. Got audio in and assigned by surfaces (grass, gravel, wood, sand), ill be adjusting the actual volumes once i get them all in, also the gametrail texture has been updated. Controller still needs more optimization and set up, but getting there.

    With UFPS i find that you cant adjust seperate volumes for controller audio, so ill be doing it manually (editing). I also have to convert the audio files from .ogg to .wav, depending on size and usage:

     
    Last edited: Dec 10, 2019
    Stephen_O likes this.
  47. warthos3399

    warthos3399

    Joined:
    May 11, 2019
    Posts:
    465
    Just wanna say, i see the view counts for the thread, which is great, and i appreciate the support, but not many say anything, so i can only guess this is because:
    1) Your busy with your own projects.
    2) Im actually doing a decent job and want to learn from my experiences.
    3) Dont care, but curiosity keeps you checking in.
    4) Looking more for Mobile (android) hints/tips.

    Love you all, regardless of platform,,or current situation, i only want to help in any way i can, as not everyone here is a Unity Vet, we all learn from others, as we Dev on our own paths.

    Stop in, say HI, give crit, or input, as im learning "the ropes" like everyone else. But foremost...have fun, love what you do, and learn as you go, its why we are all here :)
     
    Stephen_O likes this.
  48. Stephen_O

    Stephen_O

    Joined:
    Jun 8, 2013
    Posts:
    1,024
    I think this is just the nature of the beast.. I felt like I was talking to myself most of the time I worked on assets and posted about it.

    Soon you'll have a completed game, you're doing great; keep it up even if you feel like you're talking to yourself. I find this thread very interesting. I'm sure some newer developers do too and are shy or don't know what to say, the forums can be an intimidating place to many.
     
    warthos3399 likes this.
  49. digiross

    digiross

    Joined:
    Jun 29, 2012
    Posts:
    246
    It's nice to see your progress on this game. Usually on the forums we see a half baked idea that never gets off the ground or we see the end product with very little trials/tribulations which as devs we all face. Thank you.
     
    warthos3399 likes this.
  50. warthos3399

    warthos3399

    Joined:
    May 11, 2019
    Posts:
    465
    @digiross and @Stephen_O big thnx guys, think i understand. I too have seen quite a few people and projects just stop or dissapear. Personally i love game dev, its always a challenge, and you learn constantly,
     
    Stephen_O likes this.
unityunity