Search Unity

  1. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

GeNa - Sophisticated procedural content spawner

Discussion in 'Assets and Asset Store' started by AdamGoodrich, Oct 22, 2016.

  1. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,778
    The skies are both Tenkoku and True Sky Alpha... I think they are both awesome packages!

    The ones with the more interesting clouds are True Sky Alpha. For these I also added DeekSky Haze for the atmospheric scattering - i think it needs it. You don't need that with Tenkoku - it has lovely haze out of the box.

    The first two images are Tenkoku only, and the next two are True Sky Alpha plus DeepSky Haze.

    Naturally Gaia made the terrains and textured them. Gena added the other stuff where it exists in the scene. The water was AQUAS. The trees, grass and sunflowers are SpeedTrees. The post fx are the new Unity beta post fx - they are really nice!

    Tenkoku:

    Grab 20161112132525 w1900h1200 x-335y157z146r147.jpg

    Grab 20161112092321 w1900h1200 x203y63z260r273.jpg

    True Sky Alpha + DeepSky Haze:

    Grab 20161107212535 w1900h1200 x773y119z-301r111.jpg

    Grab 20161107205741 w1900h1200 x1101y70z1225r265.jpg
     
    Last edited: Nov 12, 2016
  2. Whippets

    Whippets

    Joined:
    Feb 28, 2013
    Posts:
    1,775
  3. Gua

    Gua

    Joined:
    Oct 29, 2012
    Posts:
    455
    I would argue that last screenshot isn't awesome. Looks like water ignores fog.
     
  4. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,778
    I guess you better ask the author of AQUAS about that.

    A lot of assets have issues with unusual lighting conditions, however in general I think that AQUAS does an awesome job :)

    I passed your comment onto the author of AQUAS for his thoughts.
     
  5. dogmachris

    dogmachris

    Joined:
    Sep 15, 2014
    Posts:
    1,375
    Yes, AQUAS unfortunately can't receive fog that relies on the z-buffer. For weather systems that use the z-buffer for fog, AQUAS has a custom fog parameter that can be set to blend in smoothly with the rest of the environment. @Adam might have just forgotten about it in his enthusiasm. :p
     
    Shodan0101, Mark_01, one_one and 7 others like this.
  6. longroadhwy

    longroadhwy

    Joined:
    May 4, 2014
    Posts:
    1,551
    A road asset would be great.
     
    Whippets likes this.
  7. Whippets

    Whippets

    Joined:
    Feb 28, 2013
    Posts:
    1,775
  8. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    +1
     
  9. longroadhwy

    longroadhwy

    Joined:
    May 4, 2014
    Posts:
    1,551
    @Shawn67

    Maybe @AdamGoodrich can make it easy and just create a single asset that does both Rivers and Roads. :)
     
    Mark_01 likes this.
  10. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,778
    Last edited: Nov 14, 2016
    Mark_01, S4G4N, FargleBargle and 12 others like this.
  11. KarelA

    KarelA

    Joined:
    Dec 30, 2008
    Posts:
    421
    Adam. Is it possible to apply gravity on objects that have been already set up in the scene?
    For example i am building a ruins scene where i have already set up 500 gameobjects manually (without Gena). I would ideally like to lift ruins objects above the ground around 5 meters, apply gravity and let if fall down in order to make a natural looking mess. Can this be done? Can i add objects to Gena spawner that are already existing in the scene?
     
    S4G4N and AdamGoodrich like this.
  12. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,778
    Unfortunately not - I actually have to do a fair bit of object manipulation to make the gravity feature work and this is a multi step process.

    Yes - just make them into prefabs and then Gena can spawn them.
     
    S4G4N and KarelA like this.
  13. Himanshuchahar

    Himanshuchahar

    Joined:
    Apr 15, 2016
    Posts:
    42
    First of all thanks for the great package, your package has made it very easy to create amazing terrain for the games of almost all genre.
    I have couple of doubts about the package, can you please help:

    - I am targeting mobile platforms only, so just wanted to ask how is the performance on mobile? Do I need to focus on particular settings for mobile platform?
    - Can I create fog, cloud, sand storm and rain? If yes can I do that at runtime?
    - Can I add roads as well using this package?
    - Can I create endless terrain? for example creating and deleting terrain tiles at runtime?
    - Does all the features support Unity free version?
    - And last but not the least, how is it different from Gaia? Is it compulsory to buy both the packages? My understanding is, GeNa has all the features of Gaia + powerful spawning system. Please correct me if I am wrong.

    Cheers!!!
     
    Last edited: Nov 14, 2016
  14. mzr

    mzr

    Joined:
    Jul 25, 2014
    Posts:
    35
    Great tutorials! The package seems amazing too, especially the spawn everywhere functionality.
    I don't have time right now to have some fun with it, but I have a question:
    Can you use the spawn on the whole scene functionality for the spawner you made in the last video? For example to put random fruits on all the tables at once? That would be great, especially that you could add more than fruits that way.

    BTW, you're like a rock star of the asset store, you release a package, there are no videos showing how it works, there is no unity store sale (which acts as an ad tbh) and yet you immediately get to the top place in most popular assets with it :D
    Good job!
     
    S4G4N, AdamGoodrich and TeagansDad like this.
  15. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,778
    Not at this stage... the spawner always needs to know what object to treat as "ground". So while it could place multiple random things on a table, it would only be on the table you clicked on, not all tables.
     
  16. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,778
    Performance in mobile is dependent on how you make your scenes. Gena itself has no impact on mobile performance.

    Gena can place any prefab, so if you made prefabs to do this, then yes it could.

    Gena does not do roads - I am considering making another asset that does.

    Gena is not a terrain tool, it is a spawner, so no.

    Yes.

    Gena does not do terrain - it is an intuitive and powerful spawner. Gaia does terrain and spawning.

    Gena is different in that it brings a bunch of new features to the things it is capable of spawning, and will continue to be developed into a super spawner. Amongst other things part of the power of Gena is the dynamic way in which it interprets the object you click on and quickly allows you to select for similar places in your scene.
     
  17. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,778
    Wooo... new feature incoming... :)

    The ability to trigger multiple child spawners from one master spawner - which in the image below is using perlin masking, and inverse perlin masking to cause the grass to grow in alternating patches... looks rather neat!

    Grab 20161115163343 w1900h1200 x22y72z-144r77.jpg

    Just love all of the grasses from turboscalpeur - always really stunning! A bit of variation really sets it off. This is the Acorus from HQ Photographic Textures Grass Pack Vol 1.

    Grab 20161115170249 w1900h1200 x23y74z-171r54.jpg

    And because this only takes a few clicks with Gena - here are some of the new Small Holdings from 3D Forge Village Exteriors Kit - the latest update :) This is an example of the POI spawning I showed off in one of the videos. To place all that just right was one click! My spawner has 12 different small holdings and this is the one that was randomly chosen for me. By adding more POI into a spawner you can build up a bank of cool points of interest, and then have Gena apply either just where you click, or across entire terrain - again just 1 click and super fast!

    Grab 20161115165618 w1900h1200 x58y70z-146r285.jpg

    The trees above are Alaska Cedars from SpeedTree - Desktop Tree Pack - also just 1 click added into the the entire scene!

    The lighting, skies and atmospheric scatter is from Tenkoku.
     
    Last edited: Nov 15, 2016
    Mark_01, Hans, turboscalpeur and 4 others like this.
  18. S4G4N

    S4G4N

    Joined:
    Mar 13, 2013
    Posts:
    3,210
    Yip, those 12 Included pre-done ones works very well :):):)
     
    TeagansDad and AdamGoodrich like this.
  19. antoripa

    antoripa

    Joined:
    Oct 19, 2015
    Posts:
    1,163
    @AdamGoodrich what I miss from Gaia is the capability to get terrain information when I click .. I am not sure if feature is up in GeNa ...
     
  20. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,778
    No - but Gena inherently knows about it though. I will add it to my list of things to do.
     
  21. turboscalpeur

    turboscalpeur

    Joined:
    Nov 29, 2015
    Posts:
    302
    These times I find @AdamGoodrich very inspired in all his last Screens!! Great Work again and just Beautiful :)
     
  22. antoripa

    antoripa

    Joined:
    Oct 19, 2015
    Posts:
    1,163
    Any eta for API call ?
     
  23. Hitch42

    Hitch42

    Joined:
    May 12, 2015
    Posts:
    98
    It looks like you can either spawn objects that conform to the landscape or are oriented straight up and down. Would it be possible to have objects spawn somewhat in-between? I can imagine situations where it would look more natural for some objects to lean into a contour just a bit. Could objects spawn straight, but maybe lean a certain percentage into the contour of the landscape, or vice-versa?
     
    S4G4N likes this.
  24. S4G4N

    S4G4N

    Joined:
    Mar 13, 2013
    Posts:
    3,210
    Hi,
    When you grab and make a POI (Point of Interest) like a small holding / farm, then you have many prefabs, house, fences, wagon parts, well, stables and whatever else you want to place. You can in the POI select which ones you want to conform and which ones not. By default a prefab that makes out part of a POI has the conform to terrain checkox checked. Open and uncheck say for the house and the well. Then spawn that POI and only those two items stand upright and the rest all will conform to the terrain, giving a very natural looking result.

    Here is the very easy to follow tutorial video for that.


    Cheers
    Cobus
     
    antoripa, Adrad and TeagansDad like this.
  25. Hitch42

    Hitch42

    Joined:
    May 12, 2015
    Posts:
    98
    I have seen that video; it's what caused me to ask this. I appreciate that different items can conform or not conform, but it seems that they do so in absolute amounts. What I'm wondering is if GeNa could spawn items that conform to a certain percentage amount. For instance, if I want to spawn some columns, say as ruins, and I wanted them to stand up mostly straight, but maybe lean 5-15% along with the contours of the landscape.
     
    S4G4N likes this.
  26. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,778
    Next few weeks. You can do it now - you need to set up your variables and then make a call to Spawn. It is in the Spawner class.

    You can assign either fixed or semi random (random within a range) position and rotation offsets to spawned items in your prototype details. So you can get this now by specifying it with conform to normal disabled.

    However, conform to normal currently an exact thing. I will modify this to also add that range to the normal so you can get variation based on the normal as well.
     
  27. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,778
    I was asked "could Gena spawn on a sphere" today so i decided to try it....

    2016-11-16_7-00-45_Sphere.jpg

    Then, I had previously answered no to "could Gena spawn on a wall", so i tried that...

    2016-11-16_7-03-37_Wall.jpg

    Would appear I was wrong :) The SpeedTrees have been spawned as game objects rather than terrain trees.

    The one caveat here is that the thing you are spawning onto needs to have a collider.
     
  28. Badin

    Badin

    Joined:
    Jul 21, 2015
    Posts:
    14
    API call means realtime spawning?
    Can I use it to spawn enemies?
     
  29. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,778
    Yes and yes. In the next release I will be tidying this up a bit and providing some examples of how to use it.
     
  30. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,778
    Here is a preliminary exploration of Australian Landscapes for Brett Leavy and Virtual Songlines.

    The scene in the images below was put together in about 20 minutes using Gaia for terrain and texturing and GeNa for everything else. Coincidentally the name GeNa comes from the Aboriginal word "ge-na", which means "to plant" or "to place". I wanted a name that has Australian significance.

    Fascinating then to have the opportunity to collaborate with Brett on the Virtual Songlines project. Virtual Songlines is all about exploring, preserving and sharing Australian Aboriginal culture.







     
  31. antoripa

    antoripa

    Joined:
    Oct 19, 2015
    Posts:
    1,163
    Thanks .. it works fine .. I got more from SpawnerEditor class.
    I did a small test creating a runtime terrain using a Perlin Generator , put just 2 textures and spawn tree with Gena
     
    AdamGoodrich and S4G4N like this.
  32. Zac-Yeates

    Zac-Yeates

    Joined:
    Jan 23, 2015
    Posts:
    20
    What part of Australia are you trying to recreate? Just needs to be a bit thicker and it'll be my backyard
     
  33. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,778
    Its a massive project - all the major cities - and a bunch of regional towns.
     
    S4G4N, TeagansDad and BackwoodsGaming like this.
  34. ArtisticSliz

    ArtisticSliz

    Joined:
    Jan 4, 2014
    Posts:
    40
    Adam, as always, your product is beyond high-quality. I'm extremely excited to use GeNa. One thing I think is a crucial update is being able to "sink" objects spawned using your gravity system. Or really for all of your spawning. Being able to age a spawned group, in order to make it feel more like part of the terrain would add SO much to the realism of mountainous, ancient terrain. One could spawn, gravitate, and then sink huge, old boulders, and then spawn and gravitate younger shards and stones to give a truly "fallen in" look, before allowing trees and weeds to spawn in.

    Gaia could benefit from an aging brush or aging system, in general, to meld odd terrain features together using hydraulic action and wind-cutting, giving the impression of deep geological timescale for open terrain, especially in area like the American Southwest or the Outback.

    Maybe I'm dreaming too hard, but these features would dramatically improve the feeling of realism missing from most too-groomed environments.

    Keep killin' it, man. You do the whole community credit.
     
  35. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,778
    Thanks :)

    This is an awesome idea... added it to my dev road map!

    Once i have Gena bedded down, I will be focussing on the next release of Gaia, and erosion is one of the things I am looking at. Have a bunch more ideas as well, and multi-tile support will be in there as well.
     
  36. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,778
    I am considering doing a Gaia + Gena twitch session.. is there any interest in this ?
     
  37. Whippets

    Whippets

    Joined:
    Feb 28, 2013
    Posts:
    1,775
    +1
     
    Hans, AdamGoodrich and S4G4N like this.
  38. S4G4N

    S4G4N

    Joined:
    Mar 13, 2013
    Posts:
    3,210
    I will raise you +2 :)
     
    Hans and AdamGoodrich like this.
  39. Whippets

    Whippets

    Joined:
    Feb 28, 2013
    Posts:
    1,775
    Informal Twitches whilst deving/ playing are a much nicer more inclusive way to learn than the more formal youtube vids :)
     
    AdamGoodrich likes this.
  40. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,240
    I'm trying to use the Gravity feature, but the rocks have huge, offset cube colliders--see screenshots. What am I doing wrong?

    rock.png spawned.png
     
  41. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,778
    Looking at your original prefabs, the base scale is 1.3, update them and set the original scale to 1. I suspect on stuff that gets scaled up that this is throwing the calculations off.

    If that doesn't fix it then PM me. I will need to get your original rock assets and work out whats going wrong.
     
  42. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,240
    Tested more -- colliders are perfect for the rocks included in Gaia, but way off (size and placement) for rocks from several other packs. I'll PM one of those models to you.
     
  43. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,778
    Hey everyone - here is something that's coming in the next release of Gena - due probably tomorrow!

    It is intended to be a demonstration on how to do run time spawning - but its also contains quite a handy little growth script to do things like living trees etc.

     
    Adrad, BackwoodsGaming, S4G4N and 2 others like this.
  44. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,778
    Here is an image of the growth script. This is particularly cool when coupled with run-time spawning.

    You add this to the object you want to "grow", and can control the scale it grows through, the time it grows, and whether or not it should die at the end.

    It's all controlled via co-routines, and the only phase of operation in which it is actually relatively expensive is in the growth phase as it scales the prefab continuously over the time you specify.

    At the end you can also destroy the object, so that you can create objects that only live for a certain amount of time... could do a whole lot more with this - will put it out in the next release and see what the feedback is like :)

    upload_2016-11-20_13-38-57.png
     
  45. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,778
    And a quick example of its use including object removal. Note: You don't need to use the growth script - you can just spawn things.. I just added it as a bit of fun.

     
  46. tomraegan

    tomraegan

    Joined:
    Mar 28, 2016
    Posts:
    137
    I'm trying to get this to work, but for some reason it's a struggle.

    - Created new project (latest Unity and GeNa versions)
    - Import GeNa
    - Create cube and enlage x10
    - Create smaller cube, make prefab and add to GeNa prefab list
    - Shift/L-Click, then Ctrl/L-Click

    The small cubes spawn above the model (see screenshot).

    I really like the asset and it's probably something I'm not doing, but I would appreciate some help please.
     

    Attached Files:

  47. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,778
    Please make sure you set the x,y,z of the prefab to zero. Then also set the x,y,z of the prototype to zero. Then it will spawn as intended.

    GeNa always assumes that you have set things up correctly, and that if these are non zero, then this is the intended behaviour.

    Please take a look at the tree spawner video above - you will see me do the same thing when i set the prefabs up.
     
    S4G4N likes this.
  48. tomraegan

    tomraegan

    Joined:
    Mar 28, 2016
    Posts:
    137
    Thanks. It worked.

    I appreciate the help.
     
    AdamGoodrich likes this.
  49. tomraegan

    tomraegan

    Joined:
    Mar 28, 2016
    Posts:
    137
    It's a good asset for sure. I've been using Easy Scatter and Simple Fence Builder and the real reason I wanted GeNa was for the Global Spawn.

    Is there a trick to Global Spawn when using meshes? I don't work with terrain and I can now do pretty much everything I want with GeNa except for the Global Spawn. I don't know if you've used DunGen, but when I generate my dungeons, Global Spawn tends to result in GeNa prefabs ignorning the mesh and heading directly for 0,0,0.

    Anyway, please let me know if you have any suggestions.
     
    S4G4N likes this.
  50. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,778
    I will take a look. The global spawn was tested mainly on terrains and i suspect you found a bug. Aiming to push another release out today, or at latest tomorrow, and will test for this in there as well.
     
    TeagansDad and S4G4N like this.