Search Unity

GAIA - AAA terrain generator, procedural texturing, planting and scene creation

Discussion in 'Assets and Asset Store' started by AdamGoodrich, May 21, 2015.

  1. closetgeekshow

    closetgeekshow

    Joined:
    Jun 6, 2014
    Posts:
    125
    You could use a mask, I think with different colour channels too (the dropdown under Distance Mask allows you to pick which colour), so you could have a single mask image using different colours to indicate placement for different feature type. I think Adam's post here can help put you on the right track.

    In addition, using spawn criteria you can further specify what goes where. Maybe cornfields only happen at a certain height range (and probably a slope range so you don't draw on cliffs, though using the Check Texture option could also be used for that).
     
    BackwoodsGaming likes this.
  2. Thorning

    Thorning

    Joined:
    Mar 17, 2015
    Posts:
    2
    spot on thanks, just what i needed to know :)
     
    closetgeekshow likes this.
  3. Recon03

    Recon03

    Joined:
    Aug 5, 2013
    Posts:
    845
    same here.
     
  4. Recon03

    Recon03

    Joined:
    Aug 5, 2013
    Posts:
    845
    https://www.assetstore.unity3d.com/en/#!/content/38742
    May be able to use something like this with your idea. works with mobile as well, which is a big deal to me, and some others.

    plus its cheap.
     
  5. FargleBargle

    FargleBargle

    Joined:
    Oct 15, 2011
    Posts:
    774
    Here you go. Keep in mind this is a WIP, really more a test bed for game ideas than a game per se. Also, the terrain was done before I got Gaia, so I'm planning on reworking a few things. My main Island uses a 3 layered approach: A terrain is on the bottom, with a carved out mountain mesh on top. I then add a second terrain on top of that to provide nice terrain vegetation and textures on the more level parts at the top. (I turn this terrain off when I go inside the mountain for performance reasons.)

    Island_WIP1.jpg Island_WIP2.jpg Island_WIP3.jpg
    Island_WIP4.jpg

    As you can see, I use lots of mesh features, including a rock bridge on the left side of the first picture, a tunnel into the mountain, a waterfall originating from a cave near the top, to conceal another cave at the base, and a tunnel through the base of a volcano. The last pic is from the editor, showing the waterfall area with the mesh removed. It's not a perfect solution, but I'm still fiddling with it, and hoping Gaia will make it even better.

    @Recon03: I think I looked at that one a while back, but passed when I saw how it worked. I think they make you use a special shader that doesn't support deferred rendering. I'll be looking at the whole thing again soon though, so thanks.
     
    Last edited: Nov 12, 2015
  6. closetgeekshow

    closetgeekshow

    Joined:
    Jun 6, 2014
    Posts:
    125
    How are you doing those roads? that kinda looks like what I've been trying to do, except you know, better :)
     
  7. FargleBargle

    FargleBargle

    Joined:
    Oct 15, 2011
    Posts:
    774
    I did it outside Unity, using a lofted spline for the road, and the same spline as a path to place the pylons. Then I adjusted my terrain around it to make everything fit. ;)
     
    bartm4n and AdamGoodrich like this.
  8. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Thanks :) Yep this is possible right now with spawner masking.
     
  9. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Very cool!

    How did you do the waterfall ?
     
  10. FargleBargle

    FargleBargle

    Joined:
    Oct 15, 2011
    Posts:
    774
    Just a mesh with an animated semi-transparent water texture (using the ScrollUV script), and particle sprays at the top and bottom to make it look more interesting. I had a pre-built waterfall asset a long time ago, but once I saw how they did it, I've just been making my own when I need them lately.
     
  11. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    That reminds me.. Every time I look in the stamper, I see that waterfalls folder and keep meaning to bug you about it.. We need some waterfall stamps in there! heheh
     
    jonfinlay likes this.
  12. twobob

    twobob

    Joined:
    Jun 28, 2014
    Posts:
    2,058
    I have looked into the RTP hole handling system.
    IIRC it required triggers that actually disabled to terrain mesh collider for certain areas. A workaround, not a solution.

    The real solution here, that no-one has mentioned would simply be to support z offsets in the original terrain vertex information. Clearly the use of the word Simply was ironic.

    These works would be undertaken by Unity... I did try quite hard to find the video by an Ex-Microsoft employee who gave a fantastic talk about the shifting z vertex terrain intracacies (just after they had shut down his company) - sadly it was lost in a noise of "HOW TO SET UP YOUR XBOX CONTROLLER" videos... sigh. progress. maybe I will find it one day.
     
  13. twobob

    twobob

    Joined:
    Jun 28, 2014
    Posts:
    2,058
    AdamGoodrich likes this.
  14. Mr-Logan

    Mr-Logan

    Joined:
    Apr 13, 2006
    Posts:
    455
    I just created a new project for only working on terrain stuff, and I noticed a few new knobs and switches I hadn't seen before one of them being a toggle called "ground base" releases a slider called the "base level" when untoggled, however I really can't seem to figure out what any of them do. At first I hoped they might allow you to lift the stamp up, but that doesn't seem to be it, rather it just lifts the yellow layer (base layer) but I can't for the life of me figure out what that's supposed to do??
     
  15. Mr-Logan

    Mr-Logan

    Joined:
    Apr 13, 2006
    Posts:
    455
    Ah, ok. I just discovered that if one also deactivates the "stamp base" toggle it stamps only above the "base layer" (yellow layer)
    upload_2015-11-13_0-13-3.png

    upload_2015-11-13_0-13-16.png

    But is that all it does or is there more? =P
     
    AdamGoodrich likes this.
  16. Mr-Logan

    Mr-Logan

    Joined:
    Apr 13, 2006
    Posts:
    455
    I can see now that I was completely wrong, it does release a new toggle but not the "base layer" rather the "Position Y" and my 3 texts now completely cancel each other out, sorry for the inconvenience! :D
     
  17. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    4,764
    We used Gaia to create the terrain environment for our UniStorm Climate Zone demo below. We used the height of the terrain to create 2 different environments on one terrain using Gaia. We then had UniStorm generate climates based on this height to create a grassland and a mountain climate which allows for different weather based on the snowline height (Rain and Grasslands below 380 units and Snow and Mountainous above 380 units).

    Gaia is too awesome.

     
    Rick-, Mr-Logan, S4G4N and 4 others like this.
  18. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    For those that use Ceto there is a great post here by @John G. that shows how to use Gaia to create your shoreline masks.

     
    Rick-, Mr-Logan and BackwoodsGaming like this.
  19. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Looking very cool! :)
     
    kurotatsu likes this.
  20. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    This is to allow you to exclude the base of the stamp - quite useful in some circumstances when you are fitting stamps together closely.
     
    Mr-Logan likes this.
  21. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Yeah - i keep meaning to sit down and create some :)
     
    FargleBargle and BackwoodsGaming like this.
  22. ZenMicro

    ZenMicro

    Joined:
    Aug 9, 2015
    Posts:
    206
    Just to revisit the topic of decent Textures and Normal mapping tools, Some of the textures I tried from Episcura claimed to be seamless but had obvious tiling issues... i found this site which has free and very good textures...

    http://www.textures.com/search?q=rock&filter=all

    and as for Bump Mapping.. Crazy Bump is not bad and very simply to use (just a few clicks and you're done) however is is not free and only has a 30 day trial. Instead i think the best solution i found is http://awesomebump.besaba.com/about/ it's a little complicated but there are tuts online.

    I found that Normalmap-Online to be a little flat in it's result however easy it is to use (good for a quick fix i guess)
     
    Mr-Logan and AdamGoodrich like this.
  23. mk1978

    mk1978

    Joined:
    Dec 27, 2009
    Posts:
    276
    Does this mean that when using masks for texturing terrain in Gaia you are limited to use only four textures (red, blue, green, etc. channels)?
     
  24. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    You can also use a greyscale mask - and you can create as many spawners, and therefor as many masks as you like - its a bit more cumbersome but it will work. Am looking to add per-rule masking as well in the near future.
     
    BackwoodsGaming and S4G4N like this.
  25. mk1978

    mk1978

    Joined:
    Dec 27, 2009
    Posts:
    276
    Thanks for info! It is good to know that it is at least possible even though it requires the use of multiple masks.

    I see this really good functionality for example when creating parking lots/roads/paths/rivers/etc. into terrain with textures and increasing/decreasing the terrain. Naturally it would be just perfect to be able to scan this kind of multicolor mask/splatmap with single scan and use that for painting all the textures into terrain. But, I also understand there are as many needs as there are users.
     
    S4G4N likes this.
  26. closetgeekshow

    closetgeekshow

    Joined:
    Jun 6, 2014
    Posts:
    125
    I was just about to grab Time of Day on the store but I see it's for Unity 4, do the auto-update tools fix it or do I need to dig in the code myself to do so? I mean Gaia's for 5 so I assume it works but I figured I'd ask you guys first.
     
  27. Pequisto

    Pequisto

    Joined:
    Apr 21, 2015
    Posts:
    66
    I do believe ToD should work out of the box regardless of the Unity version.
     
  28. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    I wouldn't say "regardless of the Unity version", but I haven't heard anyone having problems with it between version it was published with and the current Unity version. A lot of folks in Adam's beta (including Adam) have been using it with different versions of Unity 5.
     
  29. Pequisto

    Pequisto

    Joined:
    Apr 21, 2015
    Posts:
    66
    I'm just going to throw this out there...

    So my first Unity project is set to be a first-person, interactive adventure. Not quite a walking simulator but more of a story-rich, object-collection scheme. Unfortunately, this idea hinges on having a very large terrain.

    I'm aware that chunking the data at runtime would help to keep the high-quality I'm aiming for but I did read further back in this thread that WorldStreamer could be an option.

    Could somebody explain to me whether streaming and/or chunking might be what I'm after? :)
     
  30. Pequisto

    Pequisto

    Joined:
    Apr 21, 2015
    Posts:
    66
    Yeah, you're right. I think what I meant to write was that since it was originally submitted using Unity v4.6.5 and was last updated in July of this year, anything beyond v4.6.5 will likely work out of the box. :)
     
    BackwoodsGaming likes this.
  31. closetgeekshow

    closetgeekshow

    Joined:
    Jun 6, 2014
    Posts:
    125
    SECTR could prove useful, it allows you to divide a large terrain (or any scene really) into smaller chunks that are only visible when a camera can see them (I think that's the VIS component) - there's a STREAM component too.
     
    BackwoodsGaming likes this.
  32. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    Sounds like it. The other option would be loading a scene for the next terrain when they get to a terrain edge. Usually that entails a loading screen while the new scene loads.

    I have no experience with WorldStreamer, but I did play around a bit with Sectr Stream back in early beta. I created a terrain that was huge.. Well not 19k huge, but I think it was an 8k terrain or something like that. I then used Sectr Stream to cut it into a grid of smaller chunks. It has been so long, I forget which neighbor option I used but basically what they do is when you near the edge of a sectr, it loads the neighbor for seamless display. What you have to be careful with is your camera view distance and placement of objects to ensure that they don't see beyond the sectrs that are loaded. But it worked pretty flawlessly for me. This is probably the method I will use when I build my actual world. If you go the sectr route, make sure you read the documentation and if you have questions, contact Nathan. I found him to be very responsive and he seems to support all of his products in the Sectr product line pretty actively.
     
    Pequisto likes this.
  33. closetgeekshow

    closetgeekshow

    Joined:
    Jun 6, 2014
    Posts:
    125
    I got SECTR and it has an Open World example, so I assume you just copy whichever setting they use there.
     
  34. jonfinlay

    jonfinlay

    Joined:
    Aug 25, 2015
    Posts:
    535
    Just a quick question while on the subject of terrain sizes. Is it generally better practice to have 1 x 2048 terrain, or 4 x 512, or 2 x 1024? I couldn't help but notice the textures on my 512 looked much crisper than those on a 2048 terrain.

    Or would it be better to use Sectr and stream a 2048 terrain? Also Shawn, do you mean this free version? https://www.assetstore.unity3d.com/en/#!/content/15240
     
  35. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    Oh cool! I'll have to load it and take a look at that. I was bugging Nathan for an open world example back when I was testing but he was still working on putting it together. I was wondering how to tie in the other Sectr modules but didn't spend too much time with it.
     
  36. closetgeekshow

    closetgeekshow

    Joined:
    Jun 6, 2014
    Posts:
    125
    The free version just lets you divide your scene into groups (called sectors) but it doesn't do anything with those groups, you'll have to code that yourself unless you get one of the paid for SECTR assets. I think VIS (though with such a huge terrain maybe you need STREAM too) is all you need for you don't want to grab the full bundle (but you should contact the dev to confirm).
     
  37. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    That wont give you the stream.. That is just the core that all the different Sectr products use. I think all it does is let you define sectors.. Useful, but not what we need for the streaming.

    As for size, I think it is personal preference and project dependent. I've been playing with 2048x2048 tiles during testing. For production I'd probably cut down to 1024x1024. Not sure I'd ever go down to 512x512, but might since I'm using Stream... I'm still early in prototyping stages and quite a bit out from creating an actual production environment.. I'm still in sponge mode, trying to learn everything I can while trying to figure out what solutions work best for me. heheh
     
    Pequisto and jonfinlay like this.
  38. jonfinlay

    jonfinlay

    Joined:
    Aug 25, 2015
    Posts:
    535
    Thanks guys I'll looking into these options, and World Streamer too
     
    BackwoodsGaming likes this.
  39. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    This was Cgtextures, which I also mentioned. However, to get decent size for your textures, you have to pay and the limits for free are relatively low. Episcura is completely free resource, even for big textures.

    I use Textures.com for many of my textures, a paid account. But you will find that many of them also have tiling issues. It is NOT an issue with the tiling persay, but an issue with prominent features on the tile which show up when you use them. This even happens with expensive paid textures, such as GameTextures.com which provides most of my textures.

    Trick is to take it into photoshop and use the stamp or patch features to get rid of those prominent features. I think I tried every rock on Textures.com and find none that didn't look bad. Increasing the tiling size helps a great deal with rocks.

    There are some tricks, which you can find if you google, that might help you further.

    Oh, and by the way, there are plenty of beautiful textures on Episcura, some better than on Textures.com and not all of them have prominent features that tile badly. :)
     
    twobob, S4G4N, Pequisto and 1 other person like this.
  40. elbows

    elbows

    Joined:
    Nov 28, 2009
    Posts:
    2,502
    Better to ask detailed questions about these other assets on the threads for those assets rather than here. But yeah, Time Of Day was updated a long time ago to work with 5, including the way that lighting and reflections can work in Unity 5.
     
  41. closetgeekshow

    closetgeekshow

    Joined:
    Jun 6, 2014
    Posts:
    125
    It wasn't a detailed question and Adam has shown demos off using it - seemed like a fair question to post.
     
    Mr-Logan and jonfinlay like this.
  42. smada-luap

    smada-luap

    Joined:
    Aug 22, 2013
    Posts:
    945
    Had a bit of a play earlier getting some ambient sounds working with Time Of Day's example scripts. Here's the result (everything spawned in here is done in Gaia)

     
    Rick-, John-G, AdamGoodrich and 3 others like this.
  43. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    There are two Time of Day's...be sure you get the correct one. It is for Unity 5. Someone else has a name similar. The one you want is the more expensive one. lol

    Edited....Time of Day was submitted using Unity 4 but it works with Unity 5. It was submitted that way so that people with Unity 4 could still use it. No worries. Trust me, it works with Unity 5.
     
    S4G4N and BackwoodsGaming like this.
  44. Steve-Tack

    Steve-Tack

    Joined:
    Mar 12, 2013
    Posts:
    1,240
    It looks like there are three assets called Time of Day: Time of Day (Mod Monkeys), Time of Day & Weather System (Tobias Johansson), and Time of Day for Unity5 (Deadly Crow Games). Plus there's a "2D Time of Day."

    I assume the Mod Monkeys one is what folks are talking about in this thread.
     
  45. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    Yup... Requoting Adam's list from a few pages back in thread.. He provided links to the assets he has been playing with.


     
    Pequisto likes this.
  46. Mr-Logan

    Mr-Logan

    Joined:
    Apr 13, 2006
    Posts:
    455
    I just bought the "HQ Photographic Textures Grass Pack Vol.2", and find my self wishing there was a better pipeline for adding multiple "detail" objects. xD

    On a related note, I want to add sort of aloe plants, in small clusters, and just a few of them, how do I go about it?


    upload_2015-11-14_0-59-14.png
    What most of my terrain looks like now,

    upload_2015-11-14_0-59-28.png
    My settings as they currently are
     
  47. smada-luap

    smada-luap

    Joined:
    Aug 22, 2013
    Posts:
    945
    Use the clustered option in the spawner and reduce the max instances to (say) 200

    Change the clusters per spawn ( I think that's what it is - its up near the top of the spawnwer settings near to where you select the clustered option) settings - the higher this value the more are used at each spawn location

    Experiment with these until you get the results you desire

    I'd even go as far as having a spawner purely for this particular event as it's something a lot more specific than your general detail spawning
     
  48. Mr-Logan

    Mr-Logan

    Joined:
    Apr 13, 2006
    Posts:
    455
    That worked perfectly!
    It still needs a little tweaking, but your tips really did the charm, thanks =)
     
    S4G4N and AdamGoodrich like this.
  49. ZenMicro

    ZenMicro

    Joined:
    Aug 9, 2015
    Posts:
    206
    1024 textures are minimum nowadays i guess but i think the size and the results are quite acceptable - for me, at the moment anyway.. don't want to make everything else in the game seem out of place if the terrain is photographic :)

    But still look at this screenshot, I am using RTP (perhaps obviously) with a 512 texture used for the Vertical Texture (Triplanar i think it's called) and 2 other rock textures @ 1024 each one about a 1/4 the way up and the rest is another (not to mention the sand or grass) RTP is magic! no wonder it's called Relief Pack :p

    EDIT: I meant to say one rock texture goes up to about 1/4 of the way, and the other rock texture the rest) and it's RTP Vertical Texture that is colouring the rock, like at the forefront the greyish looking rock is from that, underneath is a red rock texture!

    upload_2015-11-14_13-10-7.png

    I actually think that close up (ie closer than the screenie) looks worse as you will see the tiling.. but from a few meters back and beyond it's got so many effects that it just looks natural, so good.
     
    Last edited: Nov 14, 2015
    S4G4N, runningbird, Mr-Logan and 4 others like this.
  50. Mr-Logan

    Mr-Logan

    Joined:
    Apr 13, 2006
    Posts:
    455
    Is it possible to somehow only stamp terrain on everything that is above the sealevel?
    On my latest terrain I started by raising the center up to about halfway so the terrain would as such "drop" into the ocean around my "island".
    But I have a hard time trying to raise mountains and such on my island now as my seabed gets raised too, and infact gets raised in a square shape which just makes it so much worse xD
     
    ZenMicro likes this.