Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

[Official] New Terrain System

Discussion in 'General Graphics' started by bibbinator, Jul 4, 2014.

Thread Status:
Not open for further replies.
  1. djweinbaum

    djweinbaum

    Joined:
    Nov 3, 2013
    Posts:
    533
    Who are you?
    I'm an ex environment artist for the games industry, now a full-time indie developer.

    What kind of game are you trying to build or would like to build?

    I'm building Eastshade, which is a non-violent, open world, first person game who's mechanics revolve around exploring. Its currently for PC.

    How does terrain fit into that?

    I'm using the terrain system for the ground only. I don't use the terrain system for vegetation (I've given up on the terrain vegetation system since it so severely limits what shaders I can use), rocks, cliffs or caves, or any other details.

    What use-cases, features, workflows do you have or would like to see?

    I use largely generate my height and splat map in World Machine and import it in, but often during design I need to modify the terrain's features and textures. My world is 2km by 2km, detail resolution is 1024, detail resolution per patch is 8, and currently its painfully slow to make modifications of any kind. That's my biggest problem. Undoing a single step is quite a debacle.
    Other than making terrain editing performance better, I'd like more brush features. For instance, I'd love a brush mode that sampled the normal of a spot on the terrain, and painting would make a patch of terrain that was sloped like that normal. I used such a brush in a proprietary engine in the past and it was awesome. One can make slopes, ramps, mountain sides, etc with such a brush. I'd also like to see height/importance blending of terrain textures.
     
  2. botumys

    botumys

    Joined:
    Apr 16, 2009
    Posts:
    707
    Who are you?

    A hobbyist who loves create environments in unity.

    www.botumys.net
    https://www.youtube.com/channel/UCbo_inACHCpiSxzKEjdxrAQ

    What kind of game are you trying to build or would like to build?

    An asynchronous online adventure/survival game


    How does terrain fit into that?

    Large terrain, far view distance, dense vegetation, realistic rendering.

    What use-cases, features, workflows do you have or would like to see?

    -voxel based engine
    -runtime terrain creation
    -a mix of hand made and procedural generation based on a nodal interface system
    -details/grass shadows
    -no more floating grasses (terrain normal orientation)
    -better lod for trees
    -tree rotation
    -better sculpting tools, faster feedback, custom brushes, slopes, river road..
    -better placement tools for details (random pick in a list of grasses selected by the artist,..)
    -better placement tools for meshes (based on rules, slopes, layers)
    -optimized water. Water for lake, sea, rivers.
    -dynamic weather system
    -build-in meshes/terrain blending shader
    -optimized
    -A powerfull 2014 terrain engine that everyone would envy us.
     
  3. Whippets

    Whippets

    Joined:
    Feb 28, 2013
    Posts:
    1,775
    As usual, Lars explains and offers solution possibilities better than anyone else... Just take Lars' post as the blueprint for new non-voxel terrains. (Obviously we'd need a voxel solution too).
     
  4. sqallpl

    sqallpl

    Joined:
    Oct 22, 2013
    Posts:
    384
    Who are you?

    Indie dev/hobbyist

    What kind of game are you trying to build or would like to build?

    first person/open world/natural environment

    How does terrain fit into that?

    It's a very important part of the game.

    What use-cases, features, workflows do you have or would like to see?


    Navmesh connected with terrain:

    As there is actually a lot (and there will be much more) Unity games, that will use a lot of terrain as a main level it would be great to see some function to connect a navmesh to the terrain without baking it additionally.

    I don't even know if its possible, but maybe navmesh can just use the actual terrain mesh data instead of baking it before? It would be also great if terrain trees/bushes (let'say you can set the obstacle radius for every tree/object in the tree editor/SpeedTree) will automatically affect the terrain navmesh.

    Let's say that you have your terrain navmesh automatically adjusted and you only need to bake additional pieces for your additional architecture and assets. That would be awesome.


    Terrain holes:

    Ability to paint holes in the terrain.


    Stamp Tool:


    A simple "Photoshop-style" stamp tool for geometry, texture, tree and grass layers.

    You can select the layers you want to duplicate, place a marker on the source position and just clone/paint the same stuff somewhere.


    Selection tool:

    A simple selection tool so you can select a part of the terrain (one or more layers - texture, trees, grass and other available layers) and copy/paste, rotate and maybe scale it. It would probably only for for texture, tree and grass layers in this case and not the geometry.

    It would be also great if you can save your stamp and your 'selection' as a template to use it later.

    Witcher 3 devs created a stamp tool and selection tool for their terrain engine and it become the most popular tool for their terrain designers.

    It's a very nice approach because after designing, lets say a small great looking part of a forest, you can clone it or clone just a part of it paste it in a different place. Then you can just make some smaller changes to diversify it.


    Heightblend:
    Texture blending based on the uv heightmaps


    I would try to add more ideas later.
     
    Last edited: Jul 7, 2014
  5. Deleted User

    Deleted User

    Guest

    Lars has a good post, but lacking some features like terrain tools and ocean / rivers and you need to reset to origin just like it's done in UE4. But for the most part agree with everything he says..

    Terrains are complimented by other dynamic features. For me it should include rivers / oceans / roads and dynamic (weather / TOD). Just like CE and UE4...

    Performance is obviously important and Lars goes into some nice detail on that, in short look how CryEngine does it and come back to us :D. I don't think I've seen better terrain come out of another engine (yet).
     
    Jaqal and sqallpl like this.
  6. Whippets

    Whippets

    Joined:
    Feb 28, 2013
    Posts:
    1,775
    @ShadowK - yeah, agreed, Cry levels of performance and beauty are exactly what we need.
     
    sqallpl likes this.
  7. larsbertram1

    larsbertram1

    Joined:
    Oct 7, 2008
    Posts:
    6,899
    hi there,

    just some more annotations:

    - vectorfield displacement might become a bit heavy or complicated if it comes to a first person perspective, physics and pathfinding. so may be it is just out of scope. (halo wars uses a heightfield based representation of the geometry to do all physic calculations which is ok for a top down perspective but not for a first person perspective.)

    - triplanar shading: cd project red showed an interesting approach for witcher 3 using "blend zones" to minimize the amount of pixels needing triplanar shading – so if one would use this method and generally limit triplanar shading just to 1 or 2 detail textures (probably some kind of rock) it should be rather fast – and most flexible which i guess is pretty important to a unity built in tool:
    http://twvideo01.ubm-us.net/o1/vault/GDC2014/Presentations/Gollent_Marcin_Landscape_Creation_and.pdf

    lars
     
    Jaqal likes this.
  8. sqallpl

    sqallpl

    Joined:
    Oct 22, 2013
    Posts:
    384
    This is same presentation where they're showing the stamp tool that I've mentioned before.

    Example landscape from Witcher 3:
    http://gigjets.com/wp-content/uploads/2013/06/The-Witcher-3-Screenshot-Landscape.jpg

    I really encourage everyone who is interested in terrain system (and the Unity people who are responsible for terrain system :) ) to check out this great presentation.

    They have a lot of great solutions there.

    Just for example. They use a pigment map to change the grass color that is placed on the ground so it wont stand out and it looks much more natural (you don't need to use different grass texture for every splat texture). It automatically adds much more diversification to places where there is only one type of grass, because you can paint splat under it and it is diversified. You can see examples and screenshots in the presentation.
     
    Last edited: Jul 7, 2014
  9. Deleted User

    Deleted User

    Guest

    Got to admit that looks beautiful..
     
  10. Jaqal

    Jaqal

    Joined:
    Jul 3, 2014
    Posts:
    288
    Who are you?
    Independent Developer

    What kind of game are you trying to build or would like to build?
    Large world survival

    How does terrain fit into that?
    Very important. Creating large natural terrains or zones a player can explore and interact with in a realistic way.

    What use-cases, features, workflows do you have or would like to see?
    The lack of an easy way to create holes and cliffs makes completing my current project very difficult. As does a straightforward method for in game interaction with the terrain trees. It is currently very time consuming and unreliable to use trees as game objects on a large scale while keeping acceptable performance. As well as losing all of the great built in features of the terrain tree system. Any complex in game interaction with the terrain trees is very difficult and often produces unpleasant results.
     
  11. merpnderp

    merpnderp

    Joined:
    Dec 8, 2012
    Posts:
    4
    Being able to rotate terrains would be huge.
     
  12. Deleted User

    Deleted User

    Guest

    I'm actually stunned nobody picked up on that yet :D.
     
    merpnderp likes this.
  13. StarManta

    StarManta

    Joined:
    Oct 23, 2006
    Posts:
    8,773
    I would like the ability to apply terrains to spheres (or sections of spheres). Right now, if I want any kind of planetary world, I have to code everything about the terrain from scratch (much like they've had to do in Kerbal Space Program, and because of that, their terrain generation is a performance hog in addition to not being multithreaded - and it still represents an enormous investment on their part). I don't know how this would work in the API, I just want to put it on the radar as something that would be good to have.
     
  14. ecurtz

    ecurtz

    Joined:
    May 13, 2009
    Posts:
    640
    Who are you?
    Independent Developer

    What kind of game are you trying to build or would like to build?
    I mostly work on tools actually, but like to build small explorable environments for fun.

    How does terrain fit into that?
    Better terrain tools improve the results of a huge number of projects from everyone, so they're vital. For me it would mean more time doing the fun parts and playing around and less time fighting to get the tools to match my vision.

    What use-cases, features, workflows do you have or would like to see?
    There have been replies from some heavy hitters in this thread so the best advice I have is to do what they say. But obviously looking at the competition is a great start, that paper about Witcher 3 and similar resources should be read by everyone there involved in the planning. Also I'd love to see the tools become smarter - e.g. rather than just pushing terrain down the brush should be doing more natural erosion, or raising rocky outcroppings rather than just pushing up in a mask shape. This might mean tools would (optionally) affect multiple layers such as the height field and textures and vegetation all at the same time in a more integrated fashion rather than having these features completely separated. In an extreme case this could be more like terrain substances, rather than smoothing the terrain, updating the texture and removing the vegetation I'd paint an area with the river tool.

    Edit: Similarly it would be nice if the brushes were more sophisticated. Rather than a tree type I'd like to be able to paint an entire microclimate with a whole set of trees, grasses, and underbrush all part of the same tool.
     
    Last edited: Jul 9, 2014
  15. Marco-Sperling

    Marco-Sperling

    Joined:
    Mar 5, 2012
    Posts:
    620
    No time for lengthy introduction. But here's what I'd like to see.

    Make the terrain work with other Standart Assets out of the box - e.g. the "pro" Water4 and terrain billboards are not what I'd consider best friends.

    Make terrains respect their transforms rotation (or at least make them rotatable by 90 degree steps).
    Make terrains respect their transforms scale (or at least make them scaleable by negative 1 to allow mirroring).

    Automatic loding of neighbour terrains as long as they are lining up (no need to try this with arbitrarily rotated terrain patches).

    Clone stamp areas from one area to another.

    Roads and ramps.

    Zoning/Streaming of terrain patches based on where the player is.

    Next-Gen Terrain shading ("global" colormap, splatmap, normalmap for each Terrain patch) with several texture blending pptions (e.g. blend by mixmaps/heightmaps), POM, Support for specular maps of detail textures...

    Make grass and detail objects blend seamlessly with the Terrain - or at least offer the ability to read the Color of the underlying Terrain to better match the grass to the underlying ground
     
    Last edited: Sep 29, 2014
  16. dbarrero

    dbarrero

    Joined:
    Jul 22, 2013
    Posts:
    1
    Who are you?
    Senior Programmer on a midsized RTS team working closely with designers and artists

    What kind of game are you trying to build or would like to build?

    RTS style type of game

    How does terrain fit into that?


    Given that is an RTS terrain is one of the most important features of the game, specially since it has to match or surpass our previous titles made with an in house engine that is recognized by having good terrain, it is one of the most important graphics features in the game.

    What use-cases, features, workflows do you have or would like to see?


    Improved terrain sculpting and material painting tools: e.g. ramp tool to connect parts of the terrain, better height map import/export settings, support for dynamic terrain brushes (having to create brushes for every possible edge hardness value is a hassle), terrain clone/stamp tools, etc. or at least better access to internal terrain functionality to be able to implement these tools more efficiently.

    Multi-select multiple terrains to work so it is possible to paint height maps/materials across adjacent terrains to merge seamlessly without having to re-implement the whole terrain painting interface on our own tools to accomplish this.

    Access to the terrain tiles or at least be able to have functionality to link terrains easily to have large terrains be composed of terrain chunks that can be streamed off or culled more efficiently and allow big parts of the terrain to be turned on off.

    Improved support for additional material parameters on the terrain tiles, currently the whole terrain interface has to be basically duplicated/hacked in to be able to support gloss, height map blending, etc.

    Being able to have rectangular height maps instead of being limited to squared power of 2 ( +1) sized height maps to avoid artifacts.

    Nice to have but not that important as are easy to implement on the shaders by the user: tri-planar mapping, more than 8 tile materials per terrain (this could be solved easily with support for texture arrays in unity, or if the terrain system supported automatic texture atlasing of tile materials )
     
  17. eskovas

    eskovas

    Joined:
    Dec 2, 2009
    Posts:
    1,373
    Who are you?
    Indie developer

    What kind of game are you trying to build or would like to build?
    Realistic multiplayer first person shooter, with medium to large scale worlds

    What use-cases, features, workflows do you have or would like to see?
    I think most of what i wanted has been said here by others, so i would like to leave here some presentations of how some of the most popular engines do the terrain in their Engines. Hopefully it will help Unity see what most developers want:

    Witcher3 ( pdf ): http://twvideo01.ubm-us.net/o1/vault/GDC2014/Presentations/Gollent_Marcin_Landscape_Creation_and.pdf

    Battlefield 3 ( pdf ): http://dice.se/wp-content/uploads/GDC12_Terrain_in_Battlefield3.pdf
    ^great presentation with lots of information

    Battlefield 4 ( video ):


    Halo Wars ( video/presentation ) http://www.gdcvault.com/play/1277/HALO-WARS-The-Terrain-of

    Crysis 3 ( video/presentation ) http://www.crytek.com/cryengine/presentations/the-rendering-technologies-of-crysis-3

    There are even more presentations but i'll just leave these ones here.

    Obviously, realistically this will probably not be implemented, at least not as well, but gives some idea of how terrains are in today's engines.

    EDIT:
    I couldn't find any info about how they do the terrain in Arma3, but it looks very good.
    http://arma3.com/features/terrain
    The largest terrain (Altis) is 270 km2
     
    Last edited: Jul 10, 2014
    Eric2241 likes this.
  18. Garrett-Brown

    Garrett-Brown

    Joined:
    Mar 21, 2013
    Posts:
    46
    Hi all,

    It's time to add to terrains to the discussion of systems we're upgrading!

    As with our other discussions, we'll start with a clean slate and see where it goes. We'll summarize and add our own ideas later on, but we really want to hear from you all first.

    As usual, it's super helpful to know something about you when you comment because it helps us understand much better the use-cases and goals you're trying to achieve.
     
  19. ChrisV

    ChrisV

    Joined:
    Mar 3, 2013
    Posts:
    57
    Who are you?
    Team developer, Lead artist at Rimfrost Software.

    What kind of game are you trying to build or would like to build?
    Adventure/puzzle/action game, similar to Tomb Raider and Uncharted.

    What use-cases, features, workflows do you have or would like to see?


    - The terrain plays a huge role in creating beautifull, breathtaking environments for the player to walk in and explore.
    - Grass or vegetation should have collision detection, not float partially above steep angles, but align to the terrain angle properly, have normal map and specularity slots (and work with the IBL feature in Unity 5), and an option to paint the grass depending on height and/or slope that can be turned on/off.
    - Terrain materials should look much better (Cryengine is a very good example), and it should also be possible to paint these textures depending on height and/or slope angle.
    - Create holes (for caves, tunnels, etc...) in the terrain, and possibility to sculpt overhangs.
    - As already mentioned by someone else, a good terrain system also needs a much better water/ocean/river system, and a breathtaking day/night/weather system.

    That's it for now...i might add more later on...;)

    Thanks for taking the time to ask our opinions!! :)
     
  20. Soul-Challenger

    Soul-Challenger

    Joined:
    Dec 30, 2010
    Posts:
    152
    Who are you?

    Animation filmmaker sticking his nose into game development

    What kind of game are you trying to build or would like to build?


    Open-world driving adventure

    How does terrain fit into that?

    Right under the wheels o_O





    What use-cases, features, workflows do you have or would like to see?


    I've got terrain deformation running but the CPU impact is still heavy. Even with a multithreaded solution and invoke at 0.2f. Any speed-up of Get/SetHeights or alternative would be great.

    Bendable trees - possibility to add a hinge joint at least. Or via shader, as in Lars's advanced foliage solution.

    More LOD stages for trees - not just full-poly/billboard.

    Random or preset Yrotation while painting tree prefabs to reduce visual repetition.

    Ability to seamlesly paint and sculpt over multiple terrains.

    Multiple terrain tiles loading/unloading + floating point error solution.
     
    Last edited: Jul 17, 2014
    Baldinoboy likes this.
  21. Camtrack

    Camtrack

    Joined:
    Jan 1, 2013
    Posts:
    27

    I really think that is the one , hire that guy and make it fits in unity

    really great system
     
  22. mgc90403

    mgc90403

    Joined:
    Dec 24, 2013
    Posts:
    20
    Who are you?
    Blackthorn Media - Creative Director. We're a small studio of former visual effects artists (Life of Pi, Snow White and the Huntsman) who've jumped into games and VR. We've got a game in development called Dragonflight, for which you can see work in progress here: blackthorn-media.com

    What kind of game are you trying to build or would like to build?
    We're working on two games at the mo. Dragonflight, as well as a myst-like world exploration game, with a gothic/fantasy undertone.

    How does terrain fit into that?
    Terrain figures dramatically in our plans. I was very surprised to learn that you guys don't support pressure sensitivity in your terrain toolkit. We'd love that feature implemented. I'd also love to see an option to rotate trees randomly when painted (perhaps I'm missing the option somewhere?)

    What use-cases, features, workflows do you have or would like to see?
    Please add wacom support for terrain. It'd save oceans of time, and yield much nicer results.
    It would also be wonderful to be able to sculpt surfaces that have gone vertical. I understand that you're using a simple height map, but I suspect you could cook up a means of making this work... pre-deform your mesh according to a broad sculpt stage (perhaps controlled with hierarchical subdivs or nurbs), then use your height map along the normal of the pre-deformed surface.
     
  23. ensiferum888

    ensiferum888

    Joined:
    May 11, 2013
    Posts:
    317
    Who are you?

    My name is Hugo I'm a hobbyist

    What kind of game are you trying to build or would like to build?

    One year into the development of a city-building game similar to Banished and The Guild but set in a Manorial environment.

    How does terrain fit into that?

    Terrain is extremely important as this is what the player will most likely be looking at when playing. My main gripe with the current system is it's really hard to modify through script, and when a solution is actually there it's pretty slow.

    What use-cases, features, workflows do you have or would like to see?

    My two biggest requests is to get better performance when having a lot of trees on screen and when updating AlphaMaps. All my terrains are generated on the fly when the player starts a new game.

    I don't understand why when I paint using a huge brush in the editor it's very smooth but when painting a 10 x 10 square in game I get big hiccups.

    Since my game is played from birds eye view the transition from mesh trees to billboard is very very apparent not only because of the view angle but also because of the shadow popping in and out.

    I recently started playing with grass generation and for now the only way to access this via script is using the DetailsLayer and that does not offer enough control for manual placement.
     
  24. AndrewGrayGames

    AndrewGrayGames

    Joined:
    Nov 19, 2009
    Posts:
    3,821
    Who are you?
    I'm Asvarduil, a one-man band. Pleased to meet you (again).

    What kind of game are you trying to build or would like to build?

    I'm creating a cut-down RTS, Zombies vs. Knights II. I've also got a JRPG project on the back burner that I'm considering my approach for, and a few other concepts that center around adventuring in a country or world.

    How does terrain fit into that?

    As noted above, terrain is a major part of my plans. A previous project used blocks to create a level, much as one might stack Lego bricks, but it had some associated problems, particularly in general aesthetics. A more standard terrain system, such as the one that ships with Unity, is much more suited towards making a believable, but stylized world for my players to explore and experiment with.

    What use-cases, features, workflows do you have or would like to see?

    While the terrain system is generally useful as is, there are a few things that could be included. In order of descending priority (most useful things first:)
    1. Ability to clear and restore polygons to the terrain. Let's say I want to create a cave in the same scene as the map it is found on, such that the player naturally descends from the 'overworld' to the cave with no loading screen or scene transition. This is impossible in the current system. This is a feature that Torque's map editors had way back in the day, that I was originally rather shocked to find didn't exist in Unity.
    2. More transparent way to choose shaders for terrains. I've read articles about how people have hacked the Unity terrain system to use more advanced or just different shaders, but if people are having to hack your system to do it, I'd say as a matter of principle that's a red flag that you're missing a feature! What if, instead of the normal diffuse shader, I want to implement a toon shader on my terrain? What if I want to use a low-footprint mobile shader instead?
    3. Supplementary pixel maps for terrain. This one might be a little odd, thus why it's dead last. Pretty much, the way terrains currently work, is a texture/shader is associated to a color in a bitmap file; this determines what texture appears on a terrain face. The same applies for heightmapping. The ability to add user-defined pixel maps to a terrain, and an associated API that lets us read from or write to these would allow for a vast set of possibilities, including mappable AI (blue pixels indicate a viable path for the AI), the ability to code footfalls on a terrain (blue pixels indicate a 'stepping on grass sound', red is 'stepping on dirt', etc.), and so forth.
     
    Last edited: Jul 22, 2014
  25. StephanieRowlinson

    StephanieRowlinson

    Joined:
    Jul 23, 2014
    Posts:
    137
    Who are you?

    A developer for a serious game company.

    What kind of game are you trying to build or would like to build?

    A large open world forest fire fighting training tool.

    How does terrain fit into that?

    We've created a 90 by 90 kilometer island using splatmaps, heightmaps and vegetation maps generated by World Machine. This terrain needs to be set on fire to simulate a forest fire.

    What use-cases, features, workflows do you have or would like to see?

    -Make it easier and less computationally heavy to switch tree instances at run time. We need to "burn" our trees and this means swapping the treePrototypes for a lot of treeInstances, the impact of this on the performance is fairly big.

    -Make it possible to add treeProtoypes at runtime. I now have to add all the trees I might need to each of the terrain tiles in the environment so that I'll have them if I do need them.

    -Better documentation for the new system would really make life a lot nicer.
     
    AndrewGrayGames likes this.
  26. p87

    p87

    Joined:
    Jun 6, 2013
    Posts:
    318
    What use-cases, features, workflows do you have or would like to see?

    I am gonna list the limitations and quirks of the current system that make it unusable for me:

    • Texture selection for terrain doesn't allow you to use Substance procedural textures
    • Terrain system is undocumented. Where are the height maps and data for each terrain saved? inside the terrain asset itself? Who knows.
    • Not easy to work with, you create a new terrain and it just adds "New Terrain" to the root of your project/ Then It's hard if not impossible to move the terrain asset.
    • I don't trust the terrain system because it's too easy to completely blow away all of your terrain data on accident. Changing resolution, or even downloading an asset that contains a "new terrain" that will overwrite yours
    • Hard to extend
    • Outdated shaders, look really bad. Only diffuse + normal..
    • Inability to easily stream terrain chunks
    • No automatic /procedural terrain tools built in (think: built-in world machine)
    • Have to rely on third-party assets to get the terrain to look good. It's harder to get support from third party developers. Assets are prone to bugs, and/or being abandoned/neglected by developers.

    I would really love to see some kind of innovative terrain system (perhaps, more than one style). For example, the existing terrrain system based on a height map works great if it meets your requirements. Many games now days are using voxel systems. I would love to see unity take a swing at a native voxel based terrain system.

    I would also like to see more native terrain tools. Procedural / automatic terrain generation tools would be awesome. Both for generating the terrain and texturing it. A built-in World Machine style system for procedural terrain generation and texturing would be awesome.

    Also, the shaders are horribly outdated. Please look at Relief Terrain Pack... acquire that asset/developer, built it into unity terrain native, and make it more intuitive and easy to use. RTP looks great, but it's not intuitive to use at all.

    Also,. It has to work on mobile!
     
    Last edited: Aug 11, 2014
  27. R. Smith

    R. Smith

    Joined:
    Jan 29, 2013
    Posts:
    18
    Who are you?

    Sound Designer + Asset Producer

    What kind of game are you trying to build or would like to build?


    I would like to build an RPG with the map generation of Minecraft, multiple playable characters like in Diablo 2, a shared storage space where characters can transfer items from one character to another. A rather slow-paced, pressure-free game world where there's no story to follow, just a whole world to explore, again like in Minecraft. A rich, vibrant color scheme and lots of catchy sounds, music, and particle effects. And above all, a game that's easy for people to edit and modify, because I love playing mods and so do a lot of others.

    How does terrain fit into that?


    Generally speaking, terrain should give the player lots of space to navigate and move around in most of the time.

    What use-cases, features, workflows do you have or would like to see?


    When I actually learn how to use Unity, I'll come back to this one. :)
     
  28. HolBol

    HolBol

    Joined:
    Feb 9, 2010
    Posts:
    2,887
    Who are you?

    Me. Indie hobbyist and freelance programmer.

    What kind of game are you trying to build or would like to build?


    A traditional turn-based RPG, story driven

    How does terrain fit into that?


    Well, the player's gotta walk somewhere, right? Unfortunately due to the limitations of using a terrain on mobile devices I can't currently use it and have opted for a normal mesh-based option instead.

    What use-cases, features, workflows do you have or would like to see?

    Proper mobile support. Caves. More vegetation shaders. Use of terrain shaders on non-terrain objects so that they can be blended in with terrains.
     
    Eric2241 likes this.
  29. andererandre

    andererandre

    Joined:
    Dec 17, 2010
    Posts:
    683
    Who are you?
    Facepunch Studios

    What kind of game are you trying to build or would like to build?

    Open world survival, massive terrain size (8000x8000 world units)

    How does terrain fit into that?

    We generate this massive terrain procedurally on level load and we had to reimplement almost all parts of the terrain system to get this working. At this point we only use the Unity terrain system to generate its tile meshes from a heightmap, everything else (vegetation, decor, texturing, shading, data management, ...) is done by our custom systems - pretty much all of which should be part of a modern terrain system.

    What use-cases, features, workflows do you have or would like to see?

    • Maintain procedural generation support that's as good as or better than the current system
    • Thread-safe terrain math getters (height, splat, slope, normal + [0,1] / interpolated versions thereof)
    • Terrain child tile access (e.g. their meshes)
    • Better navmesh generation support (possibly dynamic / terrain-only navmesh build according to some slope)
    • Complete rewrite of the grass system (i.e. grass tiles with LODs, possiblity of grass meshes at close range, highly configurable, lower memory footprint)
    • Complete rewrite of the tree system (less hacks, fading normal mapped billboards, support for fast dynamic placement even if that comes at the cost of reduced batching, everything SpeedTree supports)
    • Cutout transparent + shadow casting support (at least if enabled in the shader)
    • No more splat shaders, combine all splat layers into a sort of mega texture cache instead (see Arma, Battlefield, ...)
    • Height based texture blending between splats
    • Native color mapping support (see CryEngine - use highpass filtered splat textures and add the lowest frequency color back in by multiplying those with a color map in the shader - can be used to have better transitions between splats, add noise to reduce visible tiling and have varying splat color tones in different biomes of the world, like desaturated grass in arid areas)
     
    Last edited: Aug 5, 2014
  30. Cygon4

    Cygon4

    Joined:
    Sep 17, 2012
    Posts:
    382
    Unity Pro customer for 2 versions, hobbyist, trying to build up an indie studio.

    Working on a 2.5D platformer which uses a very wide but not very deep strip of terrain for the background.

    In the future, I would like to build a classical RPG for which streaming terrain with overhangs, caves and long viewing distance would be ideal.

    For the platformer, it allows me to place vegetation and trees (from the terrain's tree system) in the scene. It gives the platformer some perspective and allows sections to take place in forests and mountains. It also allows enemies to arrive in the scene from various hiding places (instead of just the ever same hole in the ground thingy).

    In the classical RPG I would like to build, terrain plays a vital role in terms of immersion and the ability to build an interesting world. Having freedom in vertical features (eg. city build into a mountain) and being able to build caves and dungeons without having to carefully work out each individual entrance with an artist and being limited to externally modeled geometry underground.

    - Rectangular terrain. This is possible to some degree currently, but terrain cells and all tools become rectangular as well, making it hard to shape terrain in a way that does not look weirdly stretched.

    - Overhangs. Most of the research work for voxel terrains has been done by the developer of the C4 engine, his algorithm is free and unencumbered by patents. Work would be required to efficiently store these terrains (eg. sparse arrays, r-trees) and to enable streaming (i.e. stitching or skirts).

    - Erosion and other editor features that help make terrains look realistic without long tweaking phases and/or exporting the whole thing into external editors.
     
  31. goat

    goat

    Joined:
    Aug 24, 2009
    Posts:
    5,182
    I would like to see Unity come bundled or have available via download, a low poly mesh, minus the man-made structures, of the Earth, say at Google Earth resolution when you have you feet on the ground and that be easily useable as a Unity Terrain. True, it's easy enough to use something like Terre Sculptor Pro and satellite data though so I guess what I'd really like is once I adjust satellite map data to the approximate right scale I'd light to save it and use it in Unity as a obj mesh that I can still use Unity Terrain to plop trees, plants, and buildings onto but I suppose that the Speed Tree and Unity have taken care of all of this already.

    ++++
    ummm....so to be really 'greedy' I'd ask that Unity allow me to use my Wacom Bamboo 'drawing pen' (I understand there would be big lag between the stroke and the placement and rendering of the models) that I can switch 'tips' on: some tips draw rivers, lakes, glaciers, seas, oceans (it matters) and some draw hills, plains, plateaus, canyons, mountains (it matters), some draw highways, streets, roads, expressways, toll roads, interstates with the ability to designate overpasses, underpasses, exits, entrances, interchanges, intersections, traffic control devices and tags (it matters), and tips draw airports, railways, dams, and ports.

    Then if Unity wanted to add to all that a 'Speed Urban', 'Speed Town', 'Speed Village', 'Speed Suburb' but not necessarily the low poly models used to populate those areas with the 'Speed Urban' pen tip for example that would be cool. These boundaries would be useful for zoning AI behavior.

    More or less that would make creating a game environment in Unity (when one can avoid the temptation to include to many models as a substitute for varied and interesting game play) almost as easy a child drawing a big city skyline or a wood line in crayon when they were children.
     
  32. sqallpl

    sqallpl

    Joined:
    Oct 22, 2013
    Posts:
    384
    That's probably on your list already but I will definitely remove the maximum billboard distance of 2000 in the new terrain shader.

    This. Tomasz ( @tomaszek ) is doing a great job with RTP. He would probably do much more than on his own when working with you/for you on the new terrain engine.

    I will also post this link one more time (it was posted before) because in CDPRed, they are doing great job for their terrain engine and this is just for one or two games (The Witcher and Cyberpunk 2077). BTW. They are using SpeedTree (and Umbra for OC but that's probably not very related to ther terrain engine), so there are some similar points. Just take a look at this gameplay demo:



    Presentation of their terrain system: http://twvideo01.ubm-us.net/o1/vault/GDC2014/Presentations/Gollent_Marcin_Landscape_Creation_and.pdf
     
    Last edited: Aug 27, 2014
  33. bajeo88

    bajeo88

    Joined:
    Jul 4, 2012
    Posts:
    64
    Who are you?

    Programmer for VR Simulators of various kinds

    What kind of game are you trying to build or would like to build?

    We have made several simulators with huge realistic worlds based on real world locations.

    How does terrain fit into that?

    At the moment we cannot use the Unity terrain at all due to the size of the terrains we make 210x210km which can be viewed from +30,000ft down to ground level with full detail. The memory required for each terrain is our biggest issue as the editor falls after approximately 100 tiles and the detail is not enough if we stretch the terrains to the size. We currently have to by pass the entire unity terrain and use our own models generated from unity terrains.

    What use-cases, features, workflows do you have or would like to see?

    Our workflow is probably very different to what you would be able to implement but any of the follow features would be handy:
    - CBT converting/streaming (we have to do this ourselves for the moment and the conversion time is very long)
    - DTED (height map split over several terrains... or a single terrain containing multiple height maps automatically stitched together)
    - Height map blending between nearby terrains (over different LODs aswell)
    - Ability to stretch edge of terrain off into infinity to remove the sharp edges (without using a unity plane or something else)
    - Any reduction in draw calls would be useful
    - Built in noise to randomise tiled textures
    - Mega texture support
    - Ability to generate random but natural looking terrains (e.g. Desert/mountain range etc...)
    - Ability to place roads/rivers/ocean/shorelines

    Most of these probably come closer to a world building feature rather than terrain but just throwing them all out there.
     
  34. Jamster

    Jamster

    Joined:
    Apr 28, 2012
    Posts:
    1,102
    Who are you?
    Mainly 1 man team, depends how I feel :)


    What kind of game are you trying to build or would like to build?

    Nothing requiring terrain at the moment


    How does terrain fit into that?

    Well A lot of my games require changing the terrain via script (when I use it), eg craters etc.


    What use-cases, features, workflows do you have or would like to see?

    A documented API would be nice, unlike the current documentation.

    That's all :)
     
  35. janpec

    janpec

    Joined:
    Jul 16, 2010
    Posts:
    3,520
    Who are you?

    Jan, I am 3D artist.

    What kind of game are you trying to build or would like to build?

    Dynamic sandbox project with elements of RPG / survival / engaging combat.

    How does terrain fit into that?

    Its extremely important as overall size of world is rather large and it will require multiple terrains to cover it. This means that i am going to use relief terrain shader pack V3 which allows stiching of that many terrains on decent performance and seamless shader. The downside is that performance is not as good as it could be with proper seamless solution like UE4 Landscape where LOD and texture shader system is all handled trough dynamically without any welding, at least not seen to artist.

    What use-cases, features, workflows do you have or would like to see?

    -Performance improvement with multiple terrains
    -easy to use welding system or rather full landscape system as one massive terrain
    -advanced terrain shader supporting decals, environment lighting from Unity 5 (same as Skyshop terrain shader)
    -support for custom modeled foliage (not trough SpeedTree or Tree editor)
    -voxels are not that much needed for project i am developing, support for hole into terrain is rather easier solution and good enough, since most of clifs should be modeled anyways, and mostly the caves need hole into terrain only
     
  36. Elecman

    Elecman

    Joined:
    May 5, 2011
    Posts:
    1,369
    Who are you?
    Hobbyist. Bought Unity pro 4 and 5 for fun.

    What kind of game are you trying to build or would like to build?

    Flight simulator.

    How does terrain fit into that?

    Terrain is one of the core components of a flight simulator.

    What use-cases, features, workflows do you have or would like to see?

    -Fewer draw calls. 130 draw calls for a 256x256 terrain with no trees, grass, etc and only 2 textures is just insane.

    -Ability to bake vegetation and terrain into a single mesh and one atlassed texture, all with only 1 draw call. This would be good for a small single island scene, viewed at a distance.

    -No texture stretching at steep cliffs.

    -Elevation data / texture streaming, a-la Google Earth. Terrain viewable at a large distance requires more work on floating point and camera z resolution issues as well. A hacky solution like this only works at low altitudes:
    http://unity3d.com/learn/resources/talks/gis-terrain-unity

    -Substance support for terrain.

    -Dynamic tesselation with smooth transitions like these:



    -Some more feedback:
    http://feedback.unity3d.com/suggestions/improved-unity-terrain-core-engine
     
    Last edited: Oct 31, 2014
  37. gsus725

    gsus725

    Joined:
    Aug 23, 2010
    Posts:
    250
    Add support for huge terrains. The size of Skyrim for example. Maybe Unity can dynamically break a terrain into chunks and load them in and out as the player's position changes. But when editing the chunks they share parent attributes with every other chunk in their group, so you feel like you are editing an entire huge terrain when you are really just editing 1-2-3-4+ chunks at once. There are tons of ways to make it feasible but you guys know better ways than I do.
     
    shkar-noori likes this.
  38. laurentlavigne

    laurentlavigne

    Joined:
    Aug 16, 2012
    Posts:
    6,225
    Hello there, Laurent of Elefantopia, we made McDROID and will make a game that will use nature with a lot of user generated content.
    What we'd like to see is:
    • Runtime deformation and update API. The current terrain has huge overhead when
    • Some form of compact hierarchical storing of the data: rough hull gets subdivided, then you add detail , only hull + details get stored
    • Hull = navmesh
    • Voxel off course because any type of topology makes authoring difficult
    • Merge object: import a Maya polymesh of a statue, paint the terrain with statues.
      • API to convert mesh to voxel
    • Select volume of terrain and transform (and expose this via API)
    • Switch to relative brush size, as you zoom in, the brush retains it screen size
    • Auto conversion to imposter
     
    shkar-noori likes this.
  39. shkar-noori

    shkar-noori

    Joined:
    Jun 10, 2013
    Posts:
    833
    @Unity any news on the improvements or your plans?
     
  40. Not_Sure

    Not_Sure

    Joined:
    Dec 13, 2011
    Posts:
    3,546
    Who are you?

    Hobbyist/Dreamer/Tinkerer

    What kind of game are you trying to build or would like to build?

    I would love to make platformers, ARPG's, FPRPG's, sandboxes, and anything. But the truth is I really just love playing around with Unity.

    How does terrain fit into that?

    Terrains are hugely interesting to me and I would LOVE to be capable of making a large scale fantasy world.

    What use-cases, features, workflows do you have or would like to see?

    1) Ability to paint textures and geometry with one brush.
    2) Ability to paint textures based on slopes.
    3) A noise brush.
    4) An optional 3d skybox camera.
    5) Billboarding accessibly outside of the terrain editor.
    6) Ability to move and tweak trees that have been painted on the terrain.
    7) Improved splatmap importing.
    8) Terrain stitching.
    9) In terrain particle tools for dust, mist, fog, wind, and what-not.

    And if we’re batting for the fences.

    10) The ability to paint out a map in 2d then have the terrain do a rough layout.
    11) Roads, rivers, and large bodies of water tools.
    12) Day, weather, and season cycles.
    13) Water effects tools (such as laying down textures for water’s edges).

    Really looking forward to seeing what you guys come up with.
    Thanks for all your hard work!
     
    Eric2241 likes this.
  41. FargleBargle

    FargleBargle

    Joined:
    Oct 15, 2011
    Posts:
    773
    Who are you?

    Indie developer.

    What kind of game are you trying to build or would like to build?

    VR Worlds / Adventure Games for PC platform.

    How does terrain fit into that?

    Want varied, realistic natural environments - from rock canyons to tropical jungles to caves to seafloors (possibly all in the same scene).

    What use-cases, features, workflows do you have or would like to see?

    Most of these have already been mentioned, but here goes:
    • Holes/Caves/Overhangs - either voxel based, or at least a seamless way to integrate meshes that provide these features, complete with blended textures and vegetation. Holes are most important, since they would allow mesh caves. Then if we had a seamless way to blend meshes, overhangs wouldn't be a problem either. How about being able to flag mesh objects as being part of the terrain when adding vegetation, or shoreline effects?
    • Better in-terrain sculpting tools, and the ability to actually SEE terrain details, up close or from a distance, while working on it.
    • Support for normal, specular, and triplanar textures on terrains and terrain meshes.
    • Tiled terrains for use with large playing areas. I want to be able to get into a flying machine on one island for instance, travel to a nearby island, get out, and walk around. Using one big terrain doesn't usually cut it, for performance reasons, and hiding distant tiles may not be enough either, due to wider visibility from altitude. Using progressive LODs or even billboards for distant tiles would be best.
    • Elevation and slope based distribution of trees and other objects, preferably on a per object basis, so that each type of vegetation for instance could have its own distribution rules.
    • The ability to use distribution maps, or spline based layouts for trees, vegetation, roads, rivers, and other features.
    • Water (rivers, lakes and ocean) integration. Unity has some good water features already, but they don't work well when you need to fly above an ocean (with a realistic horizon), land on a beach, and then go for a swim. Yet another place for well thought out, seamless LODs. This really needs to be integrated with the terrain, to allow breaking waves and foam, wet sand, rivers flowing into larger water bodies, etc.
    • Edit: Support for massive amounts of vegetation, to create realistically dense and varied ground cover, with all trees having colliders, without a massive performance hit. Maybe tree collider checking could be disabled outside a certain radius of the player to ease the physics calculations. An improved billboarding system, that didn't do strange things to tree orientation, would also be nice.
    That's about it. I'm really not asking for much. :)
     
    Last edited: Sep 14, 2014
    Not_Sure and Eric2241 like this.
  42. steego

    steego

    Joined:
    Jul 15, 2010
    Posts:
    969
    Just a quick one, that I think you can do today, add pressure support for painting.

    I noticed that there actually is an Event.current.pressure, which seems to work as expected, so it should simply be a matter of multiplying the painted value with this. I did some experimentation with this myself thinking I would make a fortune on the asset store with a pressure sensitive terrain editor, but when I realized I'd have to rewrite the whole terrain inspector to add this, I kinda lost my motivation.
     
  43. Eric2241

    Eric2241

    Joined:
    Dec 2, 2012
    Posts:
    642
    Who are you?
    I am a US high school who does programming and game dev in his free time
    What kind of game are you trying to build or would like to build?
    An loosely scripted storyline based rpg game with fps mechanics.
    How does terrain fit into that?
    Heavy use of terrain with in the game, creating beautiful environments is a must.
    Here is something I've made with the current unity pro trial. But compared to games such as Witcher 3 as mentioned above this is really not that comparable to current or next gen. The performance is pretty bad and overall default bumped specular shader quality is pretty bad.
    What use-cases, features, workflows do you have or would like to see?
    Better normal mapping support, specular map support, diffuse texture height map/displacement map support. Better fog, new ambient lighting system, that doesn't require 5 (exaggeration more like 3) lights to look sufficiently good. Procedural terrain generation though that would be absolutely amazing, better vert/tris reduction, perhaps through terrain splitting by height map into fourths and splat map into fourths, if so seamless blending. Better support for detail meshes; option to use material from prefab. GI illumination with the terrain. Better standard terrain shader, roads, bridges, procedural terrain detail placement, perhaps through slope, height, marked areas, and water detection. Maybe better skybox support, sun, sun flare through azimuth and altitude parameters and more. Oh yes the option to change the height map res in editor, the other resolutions without wiping the splatmap. So maybe a compression system that is able to resize the splatmap or something. Also as mentioned above seasons, days, and weather would be very nice! One last thing: voxel terrain.
     
    Last edited: Sep 14, 2014
  44. KheltonHeadley

    KheltonHeadley

    Joined:
    Oct 19, 2010
    Posts:
    1,685
    Use a mesh. >.>
     
  45. Eric2241

    Eric2241

    Joined:
    Dec 2, 2012
    Posts:
    642
    Yeah but unfortunately there aren't many options for grass population, splat map generation and other things one could easily do with terrain. Also maybe ambient lighting could be influenced by skybox color through a intensity factor. Or the color tint.
     
  46. shkar-noori

    shkar-noori

    Joined:
    Jun 10, 2013
    Posts:
    833
    The New Ambient Lighting in U5.0 is coming, and its awesome.
     
    Eric2241 likes this.
  47. KheltonHeadley

    KheltonHeadley

    Joined:
    Oct 19, 2010
    Posts:
    1,685
    Splaterrain, Tom's Terrain Tools allow for Splats and the latter allows foliage and such.
     
  48. shkar-noori

    shkar-noori

    Joined:
    Jun 10, 2013
    Posts:
    833
    Unity officials, how do we know what feature that we mentioned here will be in the in your plan?
     
  49. FargleBargle

    FargleBargle

    Joined:
    Oct 15, 2011
    Posts:
    773
    I'm kind of curious about this as well. Since bibbinator's first post back in July, there have been lots of great suggestions from users, but no feedback at all from Unity. I'd like to think this is because they're working diligently on our suggestion list, trying to find a way to implement them all, while adding even more cool features we never thought of... but it's more likely they're simply overwhelmed by them all, and at a loss as to how to respond. Either way, I'd like to hear from them, to get an idea which suggestions they think they can work with, and which are pipe dreams.
     
  50. Eric2241

    Eric2241

    Joined:
    Dec 2, 2012
    Posts:
    642
    Though toms terrian tools cost money, and it's a plugin. Not native core stuff.
     
    shkar-noori likes this.
Thread Status:
Not open for further replies.