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. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,782
    Yep. End result is vanilla unity :)
     
    S4G4N and BackwoodsGaming like this.
  2. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,782
    Its designed for and in the UI but not connected yet. There is a distance curve in the UI that you can apply to the fitness function. This enables you to change the fitness that gets generated by distance away from centre of spawner. This will then enable the nice transitions you are talking about.

    I need to set that up and demo it as I think it would look really cool :)
     
    S4G4N and BackwoodsGaming like this.
  3. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    NOOOOO! No head melting!!! At least not until it is done! Ok.. Not after either.. No head melting allowed! lol
     
    AdamGoodrich and S4G4N like this.
  4. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,782
    Ever since I had my breakthrough thought on a new and IMHO better way to do terrains compared to the more traditional way have been super excited about this. The new spawning system on top just makes it more powerful again. I am genuinely looking forward to seeing what you guys do with it :)
     
  5. Whippets

    Whippets

    Joined:
    Feb 28, 2013
    Posts:
    1,775
    We're all super-excited too - hype train is choo-chooing away
     
    chiapet1021 and S4G4N like this.
  6. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    Looking forward to putting it through it's paces.. You already have a lot of us, who have been posting here also, buzzing about it among ourselves on Skype.. I think it is going to be a big hit, at least within our small group! lol
     
    S4G4N and AdamGoodrich like this.
  7. S4G4N

    S4G4N

    Joined:
    Mar 13, 2013
    Posts:
    3,215
    HEHE !!!
    The method is elegant, simple, visual and easy to use, I have seen the ease of creating, the speed and the immediate visual results, you guys just wait.
    I do not have an early version nope, IMHO the hype train is going to choo-choo big time

    It is going to be a BIG HIT across the AS I think
     
  8. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,782
    I have shown Cobus my secret sauce. He likes it as well :)
     
  9. Whippets

    Whippets

    Joined:
    Feb 28, 2013
    Posts:
    1,775
    There's a phrase not to use in the UK lol
     
    smada-luap, S4G4N and AdamGoodrich like this.
  10. S4G4N

    S4G4N

    Joined:
    Mar 13, 2013
    Posts:
    3,215
    ROFL !!!!!!!!!!!!!!!!!!

    Lets call it ingredient then
     
    BackwoodsGaming and Whippets like this.
  11. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,782
    He he. That doesn't sound quite right :)
     
    BackwoodsGaming, Whippets and S4G4N like this.
  12. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    You guys have both did an awesome job of building hype for great products! Well I know Cobus' is great and can only assume from the awesome results Adam has been posting that this one will be too!

    I really love this development method you guys used. Has been fun providing (and reading) feedback along the way!

    Heheh... I wouldn't use it in the US either! lol
     
  13. smada-luap

    smada-luap

    Joined:
    Aug 22, 2013
    Posts:
    945
    I think there's going to be even more excited people once you can show demos of all this in action - either video or just static images with relevant explanations :)
     
    S4G4N, BackwoodsGaming and Teila like this.
  14. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,782
    Ok, a couple of screenshots before i wander off to my day job. The is the Spawner generating terrain vegetation. Took about 10 seconds to place 1.8m chunks of grass. Getting very close to first release now :)



     
    Archania, John-G, Teila and 6 others like this.
  15. smada-luap

    smada-luap

    Joined:
    Aug 22, 2013
    Posts:
    945
    What's the fps like with this?
     
    S4G4N likes this.
  16. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    That is my concern as well.. While my system isn't bad, I'm lagging way behind with the video card.. Wondering how realistic that much vegetation is going to be for a game.. Hoping it is possible because that is really what I'd like to see in my world... rofl
     
    S4G4N likes this.
  17. S4G4N

    S4G4N

    Joined:
    Mar 13, 2013
    Posts:
    3,215
    HAHA, if that performance good, then it won't be ROFL
    It would be ROGL hehe
     
    Teila likes this.
  18. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,782
    Performance is a moving feast isn't it :)

    I run a Nvidia GTX 770 on a large screen, and in editor with all that grass and a lot of trees I am getting about 40 frames per second.

    Taking it out of editor would make a significant difference, and with optimisation as well I could fairly easily double or even triple that on my system.

    Am showing off what the system can do for you - it will be up to you to decide how much richness you want :)
     
    BackwoodsGaming, S4G4N and Teila like this.
  19. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    We all want lush worlds like the picture above, but remember, there are no characters in that scene, few if any buildings, and no animations, props, nothing else. Once you get all the stuff you need on the map, you will find that you don't want to replace NPCs and props with grass. :) There is no way Adam can tell you that you can have that sort of grass coverage. It is beautiful, but in my honest opinion, I prefer more NPCs.
     
    hopeful, BackwoodsGaming and S4G4N like this.
  20. S4G4N

    S4G4N

    Joined:
    Mar 13, 2013
    Posts:
    3,215
    I would use it for generating terrain itself, that for me is the main functions and then carefully select where, maby closer to dwellings or villages less grass, to make room on performance for all the @Teila has mentioned, and less populated areas gets the more dense grassing.
     
    Teila and BackwoodsGaming like this.
  21. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,782
    Yep, it's always going to be a trade-off. This system will generate you gorgeous environments, and then you will need to manage how that richness / performance trade-off works in practice.

    I added another feature yesterday that will help you with this a little. Its called 'Failure Rate' and its a great way to dial back how much detail gets added to the scene.

    As you are spawning each location is tested for 'fitness' from the point of view of the thing being placed there. With the addition of a failure rate, even a fit location will be ignored. Its how i thinned the flowers out in that scene but the concept applies to anything that can be spawned.
     
    BackwoodsGaming, Teila and S4G4N like this.
  22. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    Yup.. Totally agree with what everyone is saying.. Just saying in an ideal world, I would love a terrain that lush.. I'm like Cobus.. I'm mainly looking for the terrain generation itself. Then maybe some spawners in different areas for a more lush terrain where there isn't as much going on.. Still probably half as lush as the demo pictures.. But lush for my world. Lush like Adam's pictures will probably be done for concept photos... heheh
     
    S4G4N and Teila like this.
  23. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    Wow! That sounds awesome! *drools* lol
     
    AdamGoodrich and S4G4N like this.
  24. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    Teila wipes the drool off her head. Geesh, Shawn, control yourself!

    :eek:
     
    AdamGoodrich, S4G4N and John-G like this.
  25. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    Uhm.. Sorry.. Just a tad excited... heheh *hands Teila a beach towel to handle all the future drool moments* At least I'm hoping Adam keeps sharing screen shots... lol
     
    AdamGoodrich, Teila and S4G4N like this.
  26. smada-luap

    smada-luap

    Joined:
    Aug 22, 2013
    Posts:
    945
    I think I could see me using this for general terrain work in the beginning and then probably using the spawners at runtime to populate it with random trees/grasses/etc. to save me the hassle at design time :D lol
     
    AdamGoodrich likes this.
  27. Wylaryzel

    Wylaryzel

    Joined:
    Sep 13, 2013
    Posts:
    126
    I like the sky the most :p Just kidding. I think part of the fun in this area of creation is the game between quality and speed you want to achieve. And the more control we have to influence the quality, the better it is to get to the stage were we have fun during that process :)
     
    AdamGoodrich and BackwoodsGaming like this.
  28. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    Totally agree with this.. I was talking with Teila and a couple other devs about this earlier. I haven't actually dug in enough to play with the graphics quality settings table yet. I'm half wondering if there is something that could be set to where a lush terrain like that would be the ultra top quality setting and only used for promotional materials and Unity could scale things back a percentage for Best, High, Good, Low, and Bare Minimum (or however that table is setup).. I know I'm probably asking too much of Unity to let the graphics quality stuff work like that, but one can always be hopeful! That way if someone is out there that has a $100k system that really should be running as some super graphics mainframe somewhere, they could actually run it full bore, but normal folks would still be able to run in the various modes dependent on systems.

    OR... Is that something that we can easily manage within our games to scale back if the terrain generator had some type of API to generate things like grass and other small detail items (rocks, shells, bones, etc) based off of user settings? That is actually something I don't see on the road map. Any chance of adding an API to give the ability for us to hook into the system within our game's scripts to control some of the seeding aspects? Maybe weather and/or seasons control which plants actually grow or a player plants a crop or orchard which triggers a field to spawn. I'm assuming some of this is in the plans or there thinking back over some of the conversations. (Or was that the other future tool that you and your team are talking about?)
     
  29. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,782
    I have a script that dynamically controls terrain and visual quality at run time, but am a little nervous about releasing it as then i would need to support it. Its something I have extended and is based on something i came across several years go. I am no longer even sure of where the original source was. It does a pretty reasonable job however.
     
  30. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    I'm wondering how much of it Unity might control internally.. I'm tempted to setup an Options Panel with quality selector to try out whenever you finally hit that Submit to Asset Store button!!! :p

    Might be a nice feature to look back into and maybe add with updates if you can get it to a point that you would be comfortable supporting as part of the generator. Might even be something to do like a Cobus update where it is an update that could also be a standalone product. But that might add a whole other support nightmare.. Either food for thought or ramblings of a tired sleep-deprived insomniac that merits ignoring.. lol I'll try to keep rambling and bumbling on to a minimum... heheh *wanders of to make some building prefabs*
     
  31. John-G

    John-G

    Joined:
    Mar 21, 2013
    Posts:
    1,122
    You could possible provide it to customers on proof of purchase of the terrain system, with the understanding that is not supported as part of the system ;)
     
    BackwoodsGaming likes this.
  32. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,782
    Experimenting with different textures and ground cover :)





     
  33. smada-luap

    smada-luap

    Joined:
    Aug 22, 2013
    Posts:
    945
    Nice pics.

    I notice in the first one that you have two trees fairly close to each other and they are identical (same rotation, scaling, etc.) Is it possible to add in a random rotation about any specified axes and/or scaling for any of the objects that it's in control over? This way, even if you're using the same mesh for all the trees, having them at different scales/rotations to each other they may not appear to be the same mesh. (I'm assuming you've used that for tree placement as well as the grass/plants :) )
     
    BackwoodsGaming and S4G4N like this.
  34. Wylaryzel

    Wylaryzel

    Joined:
    Sep 13, 2013
    Posts:
    126
    Nice pics :) missing the house on the beach still :) Are the trees placed as terraintrees or as objects? I think you mentioned currently you place them as part of the terrain or?
     
    S4G4N likes this.
  35. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,782
    They have been placed into the terrain itself, as compared to being placed as a game object. Its completely feasible to do as a game object but not so sure about the same thing in the terrain.

    That said, I noticed that rotation is now a part of the terrain TreeInstance, so I might try changing some settings to see if it actually works. I don't recall seeing it in unity 4x.

    I will experiment with this as it makes a noticeable difference.
     
    BackwoodsGaming and S4G4N like this.
  36. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,782
    BTW. The spawner supports both methods of tree placement.

    You don't get growth in the terrain objects, but you do with game objects.

    Was thinking of adding a tweak to end of growth script to make it a terrain object when done.

    Be curious to measure the perf diff between 2000 trees as terrain objects vs 2000 trees as game objects.
     
    BackwoodsGaming, John-G and S4G4N like this.
  37. Whippets

    Whippets

    Joined:
    Feb 28, 2013
    Posts:
    1,775
    The main issue with ground-cover is it's range. When on less powerful machines, you set the ground-cover to cull closer to the camera. This can lead to a visible cut off arc around the player which looks dreadful. Quite often the ground colour and the overall ground-cover colour are not nearly the same. What's needed is some method of colouring the ground to match the overall/average ground-cover colour and/or some sort of stippling effect at the point of culling.
     
    BackwoodsGaming and S4G4N like this.
  38. chingwa

    chingwa

    Joined:
    Dec 4, 2009
    Posts:
    3,790
    Yes, can do this now. (finally!) :) It makes a huge difference being able to rotate tree instances. Now you can get a pretty believable forest even with a very limited number of tree types.
     
    Last edited: Jun 10, 2015
  39. Wylaryzel

    Wylaryzel

    Joined:
    Sep 13, 2013
    Posts:
    126
    And as far as I know, you can additionally change the height and the width of thee trees for further diversity :)
     
    AdamGoodrich likes this.
  40. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,782
    That's being done already :)
     
    Whippets, S4G4N and BackwoodsGaming like this.
  41. mwituni

    mwituni

    Joined:
    Jan 15, 2015
    Posts:
    345
    I suggest you also add the option to do slight tilts of the Y-axis for a little randomness... and on steeply sloped terrain a slight preference to the slope.
     
    AdamGoodrich and Whippets like this.
  42. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,782
    Can be done with game objects, cant be done with terrain trees - its on the list of things to do for game objects.
     
  43. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,782
    Today's screen shots - added new weighted fittest rule - this mixes things up a little while still ensuring that the best match for the environment gets placed most often. Also added random rotation to terrain trees - looks much nicer. And finally added in some new trees to vary it up a little.





     
  44. witchscroll

    witchscroll

    Joined:
    Jan 17, 2015
    Posts:
    131
    nice screenshots

    another suggestion
    add an alt option to your tool's ui, near tree tab. for place tree lean or standstill. maybe 2 blankbox for user to input the angle of lean. input 0-0 mean's tree will be placed standstill, input 15-30 mean's tree will be randomly placed lean 15 degree to 30 degree. this can make some jungle looks more nature.

    the most time cost thing to me is shape terrian to a desirable look.
    look forward to see how your tool rock it. hope the workflow is simple.
    i wish you release a video demo about it.
    good luck.
     
    AdamGoodrich likes this.
  45. chingwa

    chingwa

    Joined:
    Dec 4, 2009
    Posts:
    3,790
    Golden Hour :D
     
    AdamGoodrich likes this.
  46. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    Wow! Awesome as always! Love the way the trees are looking with the mix!

    I wish I could get my water lined out to look like that. For some reason mine isn't doing the transparency stuff right. Wondering if maybe a suimono shader got overwritten or corrupted at some point when I installed another asset. Going to try reimporting and if I still have problems, might be hitting you up in your thread @chingwa! lol

    Is this something else that can be mixed. Or can we set a rule to indicate if it is on a steeper grade where we might want a little more angled plant instead of straight up and down to place game objects there, otherwise plant terrain objects? Or does the seed area have to contain all of one or all of the other but not a mix?
     
  47. Baldinoboy

    Baldinoboy

    Joined:
    Apr 14, 2012
    Posts:
    1,526
    More teasing! Now you are just being mean.;)
     
    S4G4N and BackwoodsGaming like this.
  48. smada-luap

    smada-luap

    Joined:
    Aug 22, 2013
    Posts:
    945
    He's learnt from @S4G4N :)

    I'm sure they're in cahoots with each other to see who can tease the most with their upcoming projects :D
     
  49. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,782
    No reason why you couldn't run a real time spawner in same space - its smart enough to avoid existing terrain trees... i think that would give the best result with the least perf cost.
     
    S4G4N and BackwoodsGaming like this.
  50. Wylaryzel

    Wylaryzel

    Joined:
    Sep 13, 2013
    Posts:
    126
    I would build it in a similar way as Adam suggested, having two spawners with different requirements on the slope of the terrain. But even if I understand the wish, for me it feels all the time a bit unnatural if its using the same tree prefab for different slopes as normally tree (or palms) tend to grow into the direction of light.
     
    S4G4N and BackwoodsGaming like this.