Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Join us on Dec 8, 2022, between 7 am & 7 pm EST, in the DOTS Dev Blitz Day 2022 - Q&A forum, Discord, and Unity3D Subreddit to learn more about DOTS directly from the Unity Developers.
    Dismiss Notice
  3. Have a look at our Games Focus blog post series which will show what Unity is doing for all game developers – now, next year, and in the future.
    Dismiss Notice

World Building Challenge

Discussion in 'World Building' started by Bahusafoo, Jun 29, 2022.

  1. Bahusafoo

    Bahusafoo

    Joined:
    Aug 9, 2021
    Posts:
    8
    I've never seen a workflow in Unity that can accomplish this. I've been playing with tons of world building assets the past year (And spent way more than I care to admit) and spent tons of time on various attempts to pull this off.

    Basically think of Kalimdor in WoW (https://m.wikidata.org/wiki/Q850186). A predefined shaped continent divided up into various regions, each with their own set of textures, vegetation and overall terrain features and each with a predefined shape of their own.

    I've tried creating a mask based approach with Gaia (which could only mask the textures/vegetation as far as I could tell), a mask based approach with MapMagic 2 (which is the closest I've gotten to what I want, but it eats up 64GB of RAM to generate my 9 region world), stamp based approaches with Atlas (which is the latest thing I've tried but having some issues with texturing (the dev is SUPER responsive and trying to help here)). I do run into weird things with texture layer limits it seems (even though I am in builtin and not HDRP).

    I just want to know if this is possible in Unity, so I've made an example map of "exampleopia" and provided region masks, etc. in case anyone is up for a challenge and wants to provide the community with a documented workflow (or series) on how to do this/pull this off (I think I'm just inexperienced at world building to do this - the more times I try the more $ I spend on things that don't work for what I'm trying to do and the more time I feel like I waste/frustrated I get).

    Not looking for anyone to step in and try and find what I'm doing wrong - I would just love to see someone's resulting world from this approach who can actually pull it off. I'd even be willing to pay them for instrctions on how they did it/what they used.

    Overview is here: https://blog.visuafusion.com/_Priv/GameDev/Exampleopia/WorkflowChallenge.html
     
    Last edited: Sep 21, 2022
  2. Bahusafoo

    Bahusafoo

    Joined:
    Aug 9, 2021
    Posts:
    8
    Couple more things: I did purchase World Creator 3 (standalone) as it was supposed to be able to do custom shaped biomes as well, however it can't do terrain tiling as of yet.

    One particular challenging piece of this is that some terrain tiles will have textures from up to 4 different "biomes" on them - each biome has 3-4 textures of its own.
     
  3. Magnitude9

    Magnitude9

    Joined:
    Jul 11, 2017
    Posts:
    10
    Hi there.

    Would this help you? The product is called Terresculptor:
    http://www.demenzunmedia.com/home/terresculptor/

    Within the tool there is a mechanism for Biomes and biome blending. Specific to what you published on your WorkflowChallenge page, you can use your individual masks with the Biome component.

    This video shows how:


    For what it's worth, I have spent thousands of dollars over the past four years looking for the exact same workflow as you. I only recently learned of Terresculptor so I have not attempted to use it any of the described methods yet.

    Good luck - hope it's fit for purpose.
     
  4. Bahusafoo

    Bahusafoo

    Joined:
    Aug 9, 2021
    Posts:
    8
    Looks very cool and promising, however, looks like for unity import it won't bring over texturing (which was the blocker I most recently ran into with other assets - no ability to texture the biomes appropriately). That dev mentioned on his youtube video about 4 days ago he is going to work on figuring out unity texturing and how to bring over texturing data from his app into unity. We'll have to keep an eye on this for sure.

    I too, have spent thousands in the past year (and hundreds of hours) trying to figure out how to make this happen. Someone, SOMEWHERE out there must have made a similar biome region continent in Unity...
     
  5. Rowlan

    Rowlan

    Joined:
    Aug 4, 2016
    Posts:
    3,135
    Did you use the bridge asset of World Creator? Because that works pretty good for importing the terrain tiled.
     
  6. Bahusafoo

    Bahusafoo

    Joined:
    Aug 9, 2021
    Posts:
    8
    Only used World Creator 3 standalone. They have not implemented tiling yet to my knowledge and were waiting to release it in a future update.
     
  7. chbran

    chbran

    Joined:
    Dec 9, 2018
    Posts:
    15
    how big is the world in km*km ? is it 10km*10km or do i read your map wrong ?
     
  8. Rowlan

    Rowlan

    Joined:
    Aug 4, 2016
    Posts:
    3,135
    Tiling is done via the Unity Bridge. Just specify the size of your tiles in the import dialog.
     
  9. chbran

    chbran

    Joined:
    Dec 9, 2018
    Posts:
    15
    my system 5950x ,24gb ram, amd rx 6600


    The standard unity terrain is fast enough. I use 2020LTS and URP. Gaia for fast creating test terrain. I get around 400FPS for a 10km*10km terrain (100 * 1km2 terrains) with a amd rx 6600 card. So there is no need for mesh terrain or something like that. The normal unity terrain is doing just fine.

    The problems comes when you try to populate the terrain with stuff. With the default Gaia biomes spawner i was getting 33 fps. Also my cpu is put on constant 10% load in the editor without doing anything. When reducing the camera viewrange to 30 it runs 44fps . So fps its not limited by the visible stuff. Profiler shows most cpu load is in culling stuff. When i disable all terrains except the terrain the player stands on i get 450fps with 30 viewrange. When i reenable 9 terrain tiles around the player i get 250fps. When i set viewrange to 800 i get 125fps.

    So a 10km*10km terrain in gaia biome quality is doable when you switch on/off terrain tiles with a custom script and keep the 9 terrain tiles around the player enabled and all other disabled and use a 800 viewrange.


    I guess for bigger worlds you need some streaming system. In the assetstore are 2. Sectr and Worldstreamer. Or you could build your own which (un)loads terraintiles.

    Personal i am impressed by the quality/speed of the Battlefield I & V landscape. It use frostbite game engine. Currently i trying out how to get near that with unity, if possible.
     
    Last edited: Jul 1, 2022
  10. warthos3399

    warthos3399

    Joined:
    May 11, 2019
    Posts:
    1,459
    In this situation 2 things will dictate outcome, chunk streaming, and optimization. I personally use SECTR, very good with chunk streaming, BUT, any added objects/assets NEED to be optimized intensely, that goes for core model import settings, material and texture settings, etc. So many things effect performance...
     
  11. Bahusafoo

    Bahusafoo

    Joined:
    Aug 9, 2021
    Posts:
    8
    My issue isn't really related to size of the world, but the multiple biomes and how to build them - Some terrain tiles house 3 or 4 biomes, and preferably I am able to use 3-4 textures per biome.

    Issues are tools either not letting me mask terrain feature generation (mountains, hills, etc.) to the specific pre-defined region mask shapes, or if they do, they are unable to texture all biomes due to some texture limitation on the tiles having all the textures from 3 or 4 biomes applied (I have gotten mixed info on this, such as an 8 texture limit, and then hearing that in builtin pipeline this doesn't exist and that that the 8 texture limit is an HDRP thing).

    I am just unable to find/figure out a workflow to build this world - world streaming and dense vegetation/object spawning (and optimizations those things require) can come later.
     
  12. chbran

    chbran

    Joined:
    Dec 9, 2018
    Posts:
    15
    Last edited: Jul 15, 2022
  13. Bahusafoo

    Bahusafoo

    Joined:
    Aug 9, 2021
    Posts:
    8
    No need, I am not using HDRP. I would eventually like to use microsplat, but not even to that point yet.
     
  14. warthos3399

    warthos3399

    Joined:
    May 11, 2019
    Posts:
    1,459
    I feel your pain, i make alot of large open worlds myself, but not in the manner you are doing. I just hope you find an answer/workflow before you lose your mind, waste too much time, or get frustrated. Ive been watching this thread and alot of us have tried similar workflows.

    Best of luck bro, keep us posted...
     
  15. Bahusafoo

    Bahusafoo

    Joined:
    Aug 9, 2021
    Posts:
    8
    The Atlas asset dev made a couple changes that MAY have solved this (seems so in the quick testing I was able to do). I got pulled off my game project into a consulting gig for the next few weeks, but once I get back to my world building project I will totally make some videos about this workflow with Atlas if it works out!
     
    warthos3399 likes this.
  16. HIBIKI_entertainment

    HIBIKI_entertainment

    Joined:
    Dec 4, 2018
    Posts:
    417

    Altas will likely be the answer to this.

    in general, though you may have to step away from a procedural generation at the low level as Gaia does when facing challenges like this.

    like with games like Ghost recon, assassins creed and horizon zero dawn, their tools are split global macro micro ( low mid high).
    Atlas tends to be a very good global and macro level tool so you may be able to get more fidelity with it after a Gaia workflow if that's your initial global step.

    What's key prior to all of this, is creating distribution and biome masks, to drive all of these levels.
    There are only really in-house tools for this level of tooling at editor runtime, but most terrain gen tools will allow you to create these, you can then use them, pack them, feed them, make them writeable, or whatever you like thereafter.

    This will enable you to keep the real-time artist control as you move into the higher frequency stages like manual placement and brushing veggies and set dressing.

    Something we after do at the early stages is use our distribution channels as a 4 pack splat and then later switch it our terrain texture "normal" workflow.
    this blocks a procedural approach for iterating, but there are multi-layer methods that can keep that, as we usually define this beforehand anyway and if you have writable maks, then you're just heading down the HZD route.

    it all really depends on your art workflow and how much manual control of what you need at what stage and how much you need to iterate in the engine versus outside of the engine.
     
  17. Recon03

    Recon03

    Joined:
    Aug 5, 2013
    Posts:
    763
    Biomes are typically done by masks, most terrain tools related to textures can be done with just about any texturing tool, PS, Substance Designer, Affinity and many terrain tools already offer masking tools GAIA, World Machine, Terrain Composer, World Creator etc and much more...

    Unity has terrain tools in there package, you also can use GLS, or Micro Splats, for the shader... So it sounds to me more like your wanting a different work flow....

    But Atlas, yes can do this as well, which is non destructive, which is what is different regarding the terrain part.... World Creator using non destructive as well..

    But Houdini, and World Machine are still the two king of the castles when it comes to terrain making Open world and why most companies use them...... Just saying....

    to many people are looking just in Unity for these tools, when the better tools are outside...

    I always end up going to World Machine and Houdini, for larger maps, they have everything you need, which are the only two terrain tools that you can mask out an areas based on slope, height and make seamless cliffs ... No other tool can right now... ( that I have seen yet.) and I used just about every tool on the market.


    Houdini, and World Machine are the only terrain tools I will use to make my open world and larger terrains, as they have everything you need.


    Atlas, World Creator are great to make stamps and smaller areas, to bring into WM, Houdini.. if you want.. I use them for something fast or certain biomes..




    Good luck in your search though.
     
    Last edited: Sep 21, 2022