Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct here to familiarize yourself with the rules and how to post constructively.

  2. Unity 2022.1 is now available as the latest Tech release.
    Dismiss Notice

terrain engine – wishlist

Discussion in 'Wish List' started by larsbertram1, Jan 4, 2009.

  1. larsbertram1

    larsbertram1

    Joined:
    Oct 7, 2008
    Posts:
    6,543
    Altough Unity's terrain engine offers a lot of possibilities some wishes emerged while working on the terrain tutorial:
    http://forum.unity3d.com/viewtopic.php?t=16941
    Many of these have benn spoken out by other users already so i hope they will find their way to Unity 2.5.

    Lars

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Editor

    [essential]
    - Visual representation of the brush size
    - Export/import of splatmaps
    - Possibilty to resize the terrain (incl. heightmap, detail texture and control texture resolution) without loosing your efforts
    - Bake tree shadows to the terrain lightmap using the built in script "Calc. lightmap".

    [nice to have]
    - A tool for paths and roads as a mixture of the "Raising Lowering Height" and the "Paint Height" tool: "Raising Lowering Height by (value)"
    - Possibilty to compress manually edited lightmaps: Does that make sense?

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Trees

    [essential]
    - Correct placement of mesh and billboard trees (see: http://forum.unity3d.com/viewtopic.php?t=16635)
    - Improved fading: At the beginning of the fading between billboard and mesh version there is always a pop...


    [nice to have]
    - Bump mapping for the bark


    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Grass and detail meshes

    [essential]
    - Adjustable pivot for grass textures in order to avoid floating grass:
    A simple slider in the "Add grass texture" window: 0% = bottom (like it is now) to 100% = top. So a value about 50% would have the grass texture countersink half into the terrain

    - Higher density of grass textures and detail meshes: In case you want to paint grass that fits real world dimensions you have to lower its height and width e.g. to 0.3. But using values like this you won’t be able to paint really dense grass.


    [nice to have]

    - nice fade in / fade out of grass and details meshes

    - bending of detail meshes instead of color fading: I don’t know how much this would take but even the support for manually animated detail meshes would help

    - colliders for detail meshes: It is great to be able to paint (small) rocks on the terrain but it doesn’t really help in case you have third person perspective as your avatar would walk through those rocks.

    - bake shadows of detail meshes to the terrain lightmap using the built in script "Calc. lightmap".


    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Shader / rendering

    [essential]
    - Improved versions of the grass- and nature/Soft Occlusion Leaves Shaders in order to avoid alpha transparency problems like small dark borders at the edges of the textures and geometries.

    [nice to have]
    - Support of RGBA terrain textures. Possible?
    - Support of bumped / specular terrain textures.
     
  2. Tom163

    Tom163

    Joined:
    Nov 30, 2007
    Posts:
    1,205
    One more:
    Lighting on grass. Please? So that day/night cycles can work properly...
     
  3. antenna-tree

    antenna-tree

    Joined:
    Oct 30, 2005
    Posts:
    5,325
    Hey larsbertram,

    Very well thought out suggestions for the terrain engine and I agree with 95% of them... the remaining 5% are just suggestions that are extremely hard to implement :wink:

    I wish I could say that they will all be there for 2.5, but the next update is primarily focused on the Windows version and a complete overhaul of the Unity IDE interface... not too shabby for a free update :wink:

    But rest assured that these requests are taken seriously and in fact most are already on the to do list AFAIK.

    Ethan
     
  4. larsbertram1

    larsbertram1

    Joined:
    Oct 7, 2008
    Posts:
    6,543
    Hi Ethan,

    thanks for your answers – so i will look forward to version 2.6.!
    Joachim told me earlier that fixing the floating trees and improving billboarding would be something for 2.6.

    Have you ever thought about publishing a roadmap? I guess doing so would cause some kind of pressure but it it also would give us a better idea of what kind of limitations (or bugs) you are going to work on and which direrction unity might take in further development.

    Lars.
     
  5. NicholasFrancis

    NicholasFrancis

    Joined:
    Apr 8, 2005
    Posts:
    1,587
    The problem with publishing road maps is that people then actually plan their development around it. This means that we need to stick to it - at the moment, it makes the development a LOT faster that we can "just" shuffle around stuff - so if we don't have a road map, we're never "delayed" (Well, we have internal roadmaps deadline, but external developers don't get burned when we miss them).

    So for the time being, public road maps are something we don't want to do (90% of the the time we've promised something, we've come to regret that promise) - maybe when Unity gets a bit older and mature, the development might be in larger chunks. For now, we prefer the flexibility ;)
     
  6. larsbertram1

    larsbertram1

    Joined:
    Oct 7, 2008
    Posts:
    6,543
    Well – I thought so...
     
  7. nickavv

    nickavv

    Joined:
    Aug 2, 2006
    Posts:
    1,801
    I'm not sure if this has been mentioned before, but I have trouble painting grass/trees in the editor, as the cutoff makes them vanish (meaning I'm not sure whether I've placed them or not sometimes). Even with the cutoff turned to the very limit, it's still too small.

    For example, the easiest way for me to paint grass on a map would be an overhead view of the whole map. However, if I zoomed out far enough to see the whole map from overhead, none of the grass I painted would appear.
     
  8. larsbertram1

    larsbertram1

    Joined:
    Oct 7, 2008
    Posts:
    6,543
    Hi Moldorma,
    I guess you can’t zoom out very far while painting due to the detail view distance – in fact doing so wouldn’t make much sense to me as i want control over where to paint grass and where not (e.g. paths or cliffs). So I always just paint on small areas at a high zoom level. (Same with trees: You always have to control whether the tree trunk is placed correctely on the terrain or whether it floats..)
    As I ususally use grass which color nearly fits the color of the ground texture I turn on the "tex/wire" mode while painting in order to get better visual control.

    Have you already had a look at my terrain tutorial? Maybe it helps a bit.
    http://forum.unity3d.com/viewtopic.php?t=16941

    Lars
     
  9. Neodrop

    Neodrop

    Joined:
    Oct 24, 2008
    Posts:
    1,359
    I think, must important for Terrain Wish List is possibility for trees editing operation - like add or remove some tree by the script. I talking about woodcutters, dworwes and game gardeners and about the Custom Terrain Editors ;0)
     
  10. nickavv

    nickavv

    Joined:
    Aug 2, 2006
    Posts:
    1,801
    larsbertram - I'd at least prefer to paint general areas from above, zoom in later to tune fine detail. It doesn't seem intuitive to have to zoom in, paint a small area, move around and paint the next one, not to mention how maddening it is to click somewhere and see nothing happen, only to later on find a tiny patch of grass or a completely out of place tree while playing.
     
  11. Neodrop

    Neodrop

    Joined:
    Oct 24, 2008
    Posts:
    1,359

    Attached Files:

  12. larsbertram1

    larsbertram1

    Joined:
    Oct 7, 2008
    Posts:
    6,543
    Hi neodrop,

    thanks for the offer: But how would you like to share your demo? Do you want to produce and provide a package? Or just a webplayer [that is what I like better than an avi] and some words about it: How is it made/which tools did you use/what where the problems and how did you deal with them?
    Please just fell free to edit the tutorial on the wiki and e.g. add a link to your demo/avi/package. That would be great.
    In case you need any help doing so just let me know.

    Lars
     
  13. Neodrop

    Neodrop

    Joined:
    Oct 24, 2008
    Posts:
    1,359
    Ok. Offcourse, I can share my web composition (or package too) and I'll try to write some usefull info for the Wiki. But my english is not so good for public tutorials. Therefor I need to the corrector, who can clear my errors ;0)

    BTW - This video is presented simply for an illustration of possibilities of Unity Terrain Engine. Not for other things. (I am not completely satisfied. This is very quick and very not detailed demo shot).

    I'll find more time for this as soon as possible.
     
  14. garyhaus

    garyhaus

    Joined:
    Dec 16, 2006
    Posts:
    601
    Neodrop I would love to see the package and any other information you have regarding terrain usage/setup. Thanks in advance for your donation to the community.

    Gary Haus
     
  15. larsbertram1

    larsbertram1

    Joined:
    Oct 7, 2008
    Posts:
    6,543
    Hi neodrop,

    I guess your English won’t be a problem as mine isn’t fine either.

    Lars
     
  16. Neodrop

    Neodrop

    Joined:
    Oct 24, 2008
    Posts:
    1,359
    Ha-ha. I already work but I do not guarantee speed and exact date.

    BTW, my mine is the better place for me on the whole planet. I keep it in my soul.
     
  17. Neodrop

    Neodrop

    Joined:
    Oct 24, 2008
    Posts:
    1,359
  18. Socapex_2K

    Socapex_2K

    Joined:
    Sep 17, 2008
    Posts:
    44
    +1 for all essentials up there. The terrain editor sure needs some work. I'd like to add the tunnel/dungeon feature to this list.
     
  19. chadchat

    chadchat

    Joined:
    Apr 5, 2008
    Posts:
    154
    What you mean is a Flatten brush. This is what more advanced terrain editors use and it allows you to sculpt roads, paths and shape your forms to your heart's content. It's also one of the more useful tools in sculpting apps like Modo and ZBrush.

    A Flatten brush would pull ground verts up towards the mid-point of the brush, which has a variable soft border fall off.

    Another useful height editing function would be to constrain an action to a texture. So you would paint in your path, choose that path texture when selecting your height edit brush and then quickly and gently work over your path area to either raise or lower it slightly - without needing to carefully work the whole path at great length. When painting snow for example, you could use it to give a little bump to the snow so it seems to sit up a bit. Paint in the shape you want a lake, go through the motions and Bam, you have a lake that just needs tweaking. There are many uses.

    Also.. individual settings need to be remembered for different brushes and across height and paint edit functionality. It makes little sense to set up a height editing brush and have those settings translate to the painting you are doing. Assigning keyboard shortcuts to brush size adjustments would be christmas. It would speed up work nicely.

    On the painting side of things, what would really take Unity to the next step as a terrain editor would be slope detection. All the work arounds people go through to assign more realistic splat maps to their terrains could be mostly avoided.

    You'd want the choice of painting 'inside' or outside' given parameters, parameters that you pick from the terrain itself as you do using 'shift' for paint height. However you would also want the option of typing the values in. So for example your terrain is covered in a rock texture. You then paint all over your terrain with a dirt / sediment texture set at 0 - 20% slope. Next you paint over that with a grass texture set at 0 - 16% slope. And in a matter of minutes you have a good looking basis from which to proceed.


    I really think it wouldn't take much to take Unity3D's terrain editing to another level altogether.
     
  20. chadchat

    chadchat

    Joined:
    Apr 5, 2008
    Posts:
    154
    I guess many have seen these vids, Torque 3D at GDC:

    http://vimeo.com/3992810


    There's some nice terrain editing features in there though around 4 mins in. They have an interesting way of displaying the brush size, and the noise brush is a nice feature.
     
  21. ryanzec

    ryanzec

    Joined:
    Jun 10, 2008
    Posts:
    687
    Yea that is one thing that Unity is badly missing. Happily the feedback I submitted about it is under review :)
     
  22. Dakta

    Dakta

    Joined:
    Apr 8, 2008
    Posts:
    492
    I don't think this belongs here, but can we have the setting for turning off light rendering as an in game setting? So that you an see the edges of solid color objects without them just overlapping. Really, we need this.

    Example: With rendering, but no light sources:



    No light source rendering:



    (Model is a sketchup mockup of the CATT done by our 3D artist Alex.)
     
  23. akabane

    akabane

    Joined:
    Apr 26, 2007
    Posts:
    143
    @Dakta: if i understood correctly, what are you asking for is just what the Basic Toon shader does. You'll have that result if you don't put any cubemap in it or, if you put a cubemap, then set the basic color to a bright one, and that's it. (Referred to your model of course. Don't know what it should be for the terrain)
     
  24. Dakta

    Dakta

    Joined:
    Apr 8, 2008
    Posts:
    492
    Okay, I'll give that a try! Thanks!
     
  25. Alec

    Alec

    Joined:
    Mar 11, 2008
    Posts:
    1,331
    light affected grass please!
     
  26. chadchat

    chadchat

    Joined:
    Apr 5, 2008
    Posts:
    154
  27. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,601
    The grid shown there and the one in Torque couldn't be any further different actually.

    The one in the video is the actual geometry of the world at that point.

    the one in torque is just a "pixels of influence" brush if you want to call it like that because Torque has no geometry terrain / world editing, its heightmap like Unity terrain too
     
  28. chadchat

    chadchat

    Joined:
    Apr 5, 2008
    Posts:
    154
    ಠ_ಠ

    I'm just trying to post a few examples if that's ok.

    I don't know these engines in any depth, but I would hazard a guess that they are all heightmap based where you edit the terrain with brushes as you do in Unity.
     
  29. Fishypants

    Fishypants

    Joined:
    Jan 25, 2009
    Posts:
    444
    If I may add my 2 cents:

    Option between using billboarding to fade in / out trees, or to just use a simple "fade out".

    There needs to be the option to have random rotation on the trees because having all of them aligned the same direction is no bueno (meaning we need multiple copies of the same tree just to get variation).

    I understand that the trees need to be oriented the same in order for billboarding to work correctly, but honestly I would rather not have billboarding all together. Simple fading in and out would be more then enough for me, especially if it meant variety in rotation.

    Along with random rotation of trees I think it would be imperative to be able to edit the trees individually, like the ability to move, rotate, scale, and even change which instanced mesh that particular tree is linked to.

    Vue lets you do this, and it really allows for perfect placement of your plants / trees. Would be really nice to have these features! :D
     
  30. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,601
    The tropical island would be empty with this approach.
    Making the whole vegetation system pretty much useless.


    would be much simpler if the vegetation system used 4-6 render textures per tree type (configurable) to catch multiple orientations
     
  31. Fishypants

    Fishypants

    Joined:
    Jan 25, 2009
    Posts:
    444
    How exactly would it be empty?

    I would like to direct you to a little game called World of Warcraft which uses the fade-out approach.


    Doesn't seem very empty to me . . .
    As long as you have a fog layer to mask out the trees in the distance, which I am fine with. Either way the option should be there.
     
  32. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,601
    1. WoW does not fade them as you see on the tree at the hill in the back.
    Thats just fog

    2. You would be restricted to at max 50 - 100 trees or alike on screen, which on the island demo would be about 250 trees less in view than you have in various places.
    There is a reason why imposters (billboard detail levels at further distances) is the common way to approach tree rendering optimizations.

    3. You are hopefully not trying to compare a $200 general purpose tech to a $5 million high specialized tech ... WoW is technology wise above anything else that exists today, including Unreal Technology, because there is no other technology that utilizes functionality from all the various genres to optimize performance and reduce the network bandwidth.
    You will never ever get something alike when not developing it from ground up for this especial usage.
     
  33. Fishypants

    Fishypants

    Joined:
    Jan 25, 2009
    Posts:
    444
    Who's to say that I want more then 50 - 100 trees? I'm not recreating the terrain demo. Just because it exists in the terrain demo doesn't mean I want to do the exact same thing.

    Where are you pulling these magical numbers from? There's nothing specialized about it, it uses the same graphics technology as everything else. There's nothing magical about it. They may have invested a ton of money into the game, but that includes all aspects of it, from art, production, to coding.

    Ok, now you really have proven you have no idea what you are talking about, so I will stop listening to completely, but in any case:

    1) WoW is graphically years behind the curve. There's nothing special they are doing graphics wise that hasn't been done before. To even try to compare that to the Unreal engine and to say that WoW is technically more advanced really shows how ignorant you are.

    2) If you are on the other hand talking about their massive networking capabilities, that is another thing altogether, but still not more technically advanced then anything out on the market. There are other MMORPG's out there you know.

    3) If you are in fact talking about their networking then that's completely off topic and not what I was inquiring about.

    Really? Cause all i'm asking for is to turn the billboarding off, and have a random rotation on the vegetation. Not hard to implement, im sure.
     
  34. antenna-tree

    antenna-tree

    Joined:
    Oct 30, 2005
    Posts:
    5,325
    If you don't want billboarding and you want to be able position/scale/rotate each tree individually why don't you just place each tree individually and set up up your own culling system?
     
  35. Fishypants

    Fishypants

    Joined:
    Jan 25, 2009
    Posts:
    444
    I think I will have to resort to that, but I am worried about performance issues as I think it would be inherently faster through the terrain engine. Plus having it included in the editor would be much easier.

    I mean, this is a "wish list" post is it not? I don't expect these features to be added, it would just be nice is all.
     
  36. antenna-tree

    antenna-tree

    Joined:
    Oct 30, 2005
    Posts:
    5,325
    I hear ya man, almost everything in this Terrain wish thread is something I'd love to see implemented too ;)
     
  37. Zappageck

    Zappageck

    Joined:
    Jul 31, 2009
    Posts:
    26
    Hi, I´m very new to Unity and I´m currently testing it with an architectural project.
    My wishes for the terrain editing arose from the project. If they have already been mentioned just ignore them :wink:

    1. Allow object placement in terrain with smoothing, means imported objects can be placed in terrain, affecting the terrain surrounding.
    Explanation: I put a road object in the scene on generated terrain and want to sink the road with smooth embedding. This would transform the bordering terrain with a smoothing setting and a area of affection setting according to the imported object.

    2. Terrain "painting" affected by objects in scene:
    I place an object in empty scenery and paint my terrain around it with an exclusion for overlapping object-terrain. Embedding terrain objects would be much easier then.

    3. Support for gfx-tablet (Wacom) for the terrain sculpturer: Pressure sensitive support for gfx tablets to be able to paint the terrain in a much better and more precise way than with mouse. I ended up generating an external object for the terrain, creating a hightmap from it and porting it over to unity to get some results. Problem is to set the resolution and scale right to have a 1:1 fit from 3d program to Unity with a hightmapped terrain.

    4. Paint texture on object: Not a strictly terrain bound system, but it would be quite helpfull to have an option to directly paint on imported or created objects within unity as with terrain.

    Thx for your time :)
     
  38. Neodrop

    Neodrop

    Joined:
    Oct 24, 2008
    Posts:
    1,359
    Auto simless edges connecting between adjacent terrains. Like a SetNeighbour() function.

    Ability for multi-terrain texturing and morphing. Through neighbouring terrain edges.

    Ability for water creating. Not just plane, but like rivers, or lake with auto-generated water surfaces.

    Holes and Caves !!!
     
  39. langju

    langju

    Joined:
    Jul 1, 2009
    Posts:
    207
    Does the terrain Generator will allow spherical terrain generation ?

    This can be something really interesting being able to generates spherical world.

    I am ok so to be able to autogenerates rivers (water) like Torque3D / holes Caves ...
     
unityunity