Search Unity

GeNa - Sophisticated procedural content spawner

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

  1. lundon

    lundon

    Joined:
    Nov 6, 2009
    Posts:
    59
    I created a rock spawner, put 4 instances into the scene and ran the scene. The number of instances field properly still listed 4 after I stopped.

    Then a created a prefab from the spawner and put say 3 instances into the scene. After I had run the scene the number of instances field was zero and I was not able to delete them with ctrl/backspace.

    Is this just the 'nature of the beast' or is it a bug?
     
  2. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Hmm... I changed the way deletion worked in the latest release. It actually keeps a cached list of prefab spawns in memory - which makes deletion much faster and more precise as only instances that were spawned by the spawner are deleted instead of all instances of that type of prefab.

    I don't think that Unity keeps any type of un-delete information after playing. I will look into how to enhance this in the next release.
     
  3. rasto61

    rasto61

    Joined:
    Nov 1, 2015
    Posts:
    352
    would it be possible to add a feature that would allow to use spawning based on texture on a mesh that was converted from a terrain with the T2M tool and does use a shader with a splat map?
     
    pixelsteam likes this.
  4. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Most likely not. It is a very specific use case for a very specific shader. I would somehow have to reverse engineer that shader to determine how and where it applies textures.
     
  5. rasto61

    rasto61

    Joined:
    Nov 1, 2015
    Posts:
    352
    I don't think that the use case is that specific. Anyone who creates terrains using gaia (or anything else...) and then uses T2M to get mesh terrains would benefit from this. That could be many of the people that develop for mobile. You wouldn't have to reverse engineer the shader, you could just get in touch with the maker of T2M. I believe that T2M is the only tool on the asset store that does what it does, and if gena played nicely with that, more people would benefit from that, not just me. Of course it is ultimately up to you whether its worthwhile to do this.
     
  6. RandAlThor

    RandAlThor

    Joined:
    Dec 2, 2007
    Posts:
    1,293
    I have a little problem when i try to spawn trees as prefabs (no speedtrees).
    I only have the green circle but not the green doots that help me to visualize where i can place the trees.
    Also i only can spawn on tree at a time and even no one if i uncheck "Force Spawn" in the advanced settings.
    I looked at the videos and try to find a setting in the doc but nothing let me spawn more then one trees or make a global spawn.

    Please can someone help?

    Edit1:
    Also can someone tell me what the standard advanced settings are or how i can reset them?

    Edit2:
    Ok, after seeing that it work on a sphere i then realize that the slope and in my case the height range is important too and now it is working.

    The question in Edit1 is still valid.
     
    Last edited: Jan 9, 2017
  7. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    You can hover over any setting and a tool tip will show... alternatively everything is documented.

    Looks like either your spawn criteria were excluding the other sections of terrain, or your throw distance was really small.

    There is a bunch of tutorials here: http://www.procedural-worlds.com/gena/tutorials/
     
  8. Palendrome

    Palendrome

    Joined:
    Sep 14, 2016
    Posts:
    3
    Thanks for helping me out with my problem so quickly Adam. Gaia is just irresistible in that you can actually really lose yourself creatively making wonderful environments. Once your done making a landscape, your going to find it really hard to stop exploring! Its a solid, productive and enjoyable tool. Going to check out Gena next.
     
    S4G4N and AdamGoodrich like this.
  9. adndima

    adndima

    Joined:
    Jun 11, 2015
    Posts:
    47
    When I activate Spawn Prototypes, then the tab Placement Criteria /
    Min Scale does not install less than 1 :(

     
    SocketByte likes this.
  10. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Under advanced settings by default it will scale to the nearest whole integer (whole number). This was a performance request from one of my customers. Just switch this off and it will scale as you would expect.
     
  11. adndima

    adndima

    Joined:
    Jun 11, 2015
    Posts:
    47
    I tried to disable Spawn Prototypes, but nothing happens. Try to disconnect you, because I did not get
     
  12. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Please send a private message.. will be happy to walk you through it via Skype :)
     
  13. mk1978

    mk1978

    Joined:
    Dec 27, 2009
    Posts:
    276
    I have been experimenting similar challenges when tryin to add multiple trees. I am having a little "special terrain setup", see below. I have used Mesh to terrain and Terrain Composer to create and texture the terrain.

    When trying to place trees on top part of terrain (+50m) I am getting only plain green circle and not green dots to visualize the pain area and also I am able to place only single trees even though I have increased the number of min/max instances and unticked the check height. But, when painting trees on bottom part (0m level) Gena is working just ok. I am gettting the green dots and I am able to pain multiple trees. Do you have anyh idea what could be the problem?

    I have to admit that I just started to use Gena but I have followed the Speed Tree tutorial but still these problems occur.

     
  14. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Hard to say as I don't use terrain composer. If you are spawning on a mesh, it also needs to have a mesh collider attached to it for Gena to be able to detect and spawn on it.

    When increasing the instances, you also need to make sure that the throw distance is reasonable, other wise the next tree won't grow far enough from the previous tree and the near object collision detection system will abort it.

    Set the throw distance to say 35 or so meters. It needs to be bigger than the size of the thing being spawned.
     
    kurotatsu likes this.
  15. mk1978

    mk1978

    Joined:
    Dec 27, 2009
    Posts:
    276
    Thanks for such a quick reply!

    Short note before I have really considered your answer. I was able to do some more testing and now it seems that the problem was because my special terrain setup. I have been using a plane geometry to cover the lower part of the terrain (this was disabled in my earlier image) and when I took this plane away Gena started to work as planned.
     
    AdamGoodrich and kurotatsu like this.
  16. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Awesome stuff :)
     
  17. hoodoo

    hoodoo

    Joined:
    Oct 19, 2012
    Posts:
    154
    Purchased GeNa last night, thanks Adam! Looking forward to taking it for a spin.
     
    AdamGoodrich likes this.
  18. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    I think you will like it - its actually quite fun to use because the results are so immediate.
     
  19. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    Will it uses instancing to get a level running smoothly with lot of object instances ?
     
  20. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    I implemented instancing into Gena and its not the panacea it seems to be. Sure you can chuck more stuff on the screen at the same time, but you also need to implement script composition, culling, colliders, custom shader support, and all the other goodness that Unity inherently does for you.

    On top of this, Unity is adding instancing support to the standard shader and this should be coming in Unity 5.6, and they already handle all that other stuff for you.

    So in the end I decided to leave it. There is no great value that I can see to re-implementing, documenting and then supporting something that Unity inherently does. When it comes in 5.6 I will explore it, and if necessary add to the optimization and configuration features that Gena already has to enhance what they deliver.
     
    Mark_01 and zenGarden like this.
  21. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    We should not expect so much from instancing. Thanks.
     
  22. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    I communicate with the engineer at Unity who is implementing this quite often. Its very cool being able to speak to the source to get a sense of where things are going :)
     
    Mark_01 and kurotatsu like this.
  23. angel_m

    angel_m

    Joined:
    Nov 4, 2005
    Posts:
    1,160
    I purchased Gaia, and it has good features to make terrains. With Gena it seems the spawn system of Gaia is useless and you have to buy Gena.
    Anyway, the problem of these tools is they are only useful to make beautiful demo scenes filled of trees, rocks and grass. If you think of using your beautiful world in a real game and sell it, you will need to gift your customers with at least a Geforce GTX 1080, if you want they can play it.
     
  24. FargleBargle

    FargleBargle

    Joined:
    Oct 15, 2011
    Posts:
    774
    Gaia's spawn system is not useless just because another tool is available, and you don't have to buy Gena if you don't want to. I still use both systems, depending on what I need to do. Gena's focus is slightly different from Gaia, in that it only does spawning, so maybe it has a few more spawning tricks than Gaia at the moment, but Gaia is still quite capable, as you say, of creating beautiful scenes on its own.

    As for using Gaia in actual games, it seems a few developers disagree with you: Games made with Gaia
    Gaia makes creating great scenery fast and fun, but it's still up to you to find a balance between eye candy and performance. You'd still need to do this even if you were creating your terrains by hand, without Gaia or Gena, so don't blame the tools if you go overboard using them. :rolleyes:

    FYI, if you look on Adam's site, you'll find lots of good information on optimizing games to get the most out of Gaia, without killing your frame rates. Might be worth a look: Optimizing games with Gaia
     
    Last edited: Jan 27, 2017
  25. angel_m

    angel_m

    Joined:
    Nov 4, 2005
    Posts:
    1,160
    You are right, is not the blame of the tools.
    I meant Unity terrain system is not good enough (because performance problems) to make open world games with big terrains filled of trees, grass, rocks ... and with these tools you create the illusion you can do it. :(
     
  26. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    While I would like Unity to more better faster, they are actively working on the engine and this is absolutely coming!

    Its pretty easy in my opinion to optimise games to work well on Unity - and you can get them to look beautiful and get great frame rates if you put a little work in. Btw, I develop on a GTX 770 - a nice card but quite old now. I generally average between 60 - 120 fps. Sometimes worse sometimes better.

    By the same token, most people don't understand how to do this, and by default Unity can be pretty bad. Unity water is a shocker for example and I would never use it in something I wanted to get performance on. AQUAS is really nice and performs quite well.

    Unity 5.5 has GPU instancing on the speed trees, and Unity 5.6 will have this built into the standard shader. Two massive improvements right there - but again you need to be aware of this and configure your assets and scene correctly.

    In Gena 1.5 I added an optimisation system - and this does a brilliant job of reducing bake times, improving lighting quality (a lot of assets not set up properly), and depending on your scenario, can make a very positive improvement to your frame rate.

    Btw.. my knowledge of optimisation didn't just happen - i spend a lot of time reading and profiling as well. If you write games you need to get on top of this.
     
  27. Knightmore

    Knightmore

    Joined:
    May 11, 2012
    Posts:
    227
    You should write an ebook and sell it :D
     
  28. hoodoo

    hoodoo

    Joined:
    Oct 19, 2012
    Posts:
    154
    I would definitely buy it!
     
  29. strav

    strav

    Joined:
    Jan 1, 2017
    Posts:
    2
    I tried using Gena to spawn NPCs into a sample scene (on top of a gaia generated terrain) ... it spawned the NPC prefab fine, but the weapons were floating in mid air in front of the NPC.

    If I drop that same prefab in the scene w/o using Gena, it works fine (npc is holding the sword, etc)

    Thoughts?
     
  30. strav

    strav

    Joined:
    Jan 1, 2017
    Posts:
    2
    Playing around a little more, marking these spawn prototypes as Moving Object fixes it...
     
  31. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    That makes sense. That would be the automatic optimisation system kicking in. I would disable optimisation on the NPC spawners - that way they will spawn as they were originally setup in the prefab.
     
  32. DCrosby

    DCrosby

    Joined:
    Jan 13, 2013
    Posts:
    86


    I'm using the old Terrain Composer / Designer, and wanted to get some rocks based on slope / elevation, and every-time I click on the terrain and add grass, it states this, what am I doing wrong ?

    I tried Setting up the rocks on the first terrain and the current one, I tried control and shift clicking on the terrain nothing....
     
    Last edited: Jan 30, 2017
  33. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Gena can spawn terrain grass, terrain trees or prefabs.

    In order to spawn terrain grass or trees you must first add them to the terrain in the terrains terrain settings.

    Only after this will Add Grass or Add tree be able to use them. Gena is essentially telling you this.

    Note. Trees can be spawned as either terrain trees or prefabs. Depends on how you add them into Gena. To spawn as prefab you need to drag n drop the prefab onto Gena, otherwise you add to terrain and then click Add Tree.
     
  34. DCrosby

    DCrosby

    Joined:
    Jan 13, 2013
    Posts:
    86
    So, I'm a bit confused as Unity Rocks/Static meshes, in the Grass Slot. and that's what I setup and works if I paint in Unity's terrain using terrain tools, but I think Gena may be confused because I have a 3x3 grid of terrain meshes stitched together.
     
  35. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    4,030
    I took the plunge and purchased this. I'm very curious about the automated light probe system and how that works with GI. Thanks for making another great product.
     
    Last edited: Feb 3, 2017
    AdamGoodrich likes this.
  36. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Can Gena modify the terrain around spawned prefabs?

    ie - flatten it, remove grass details, change the texture?

    For example, I want to spawn a campfire in the middle of a field, I'd like to clear the grass details around it for a radius of 1 meter, change the terrain texture to a "dirt" texture for a radius of 2 meters, and flatten it out directly under the prefab (radius 0.5 meters). Is this possible?
     
  37. turboscalpeur

    turboscalpeur

    Joined:
    Nov 29, 2015
    Posts:
    302
    I'm using Gena these last times for spawning almost everything in my Testings Scenes, then had some funs to push still even a little more to create a cool Scene :)

    As I'm currently in my Assets Production, I don't have too much time to play a lot with Unity (only testings), so Gena is just my save life time as often since some months;

    Here are some Screens:












    (Assets used Description)
     
  38. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    4,030
    I'm trying to use Gena with LushLOD Trees, but not quite getting it right. I created a spawner of type (P) and changed Min Instances to 3 and Max Instances to 8. However, whenever I Ctrl-Left Click, it only ever places a single instance. What am I doing wrong?

    @AdamGoodrich I think you might have missed this question. Sorry to be a bother, but I'm stuck at the moment on this issue.
     
    Last edited: Feb 5, 2017
  39. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    4,030
    Is this thread abandoned? I see answers to questions in the Gaia thread, but none here in since last Monday.
     
  40. thomasvanhaeren

    thomasvanhaeren

    Joined:
    Feb 2, 2017
    Posts:
    2
    Hi, I am actually trying to properly build a fence, but I can't seem to get it to work properly. I want to do it so that actually the fence is continuous, one part of the fence is directly connected to the other. Also, it seems that if I use a prefab that has colliders on it GeNa will not spawn it for some reason... Maybe Adam Goodrich can help a bit? I did not find any tutorial, the video presented for fences does not work for me for some reason.
     
  41. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Hmm... I just verified that Gena works find with mesh based details in the grass slot. Gena is also happy on multiple terrains as this has also been tested. Not sure what's up with your scene. Feel free to drop me a private message and I will share my Skype details so you can show me whats going on.

    No but this is a feature I am considering adding. My current focus is Gaia 2.0.

    You will have to rely on the old fashioned terrain tools to handle this for now :)

    Yes sorry, I don't always get notifications. Hard to say whats going on. Usually single instances are caused because your throw distance isn't far enough. The first instance spawns, then another location is tested based on the throw distance. If it isn't far enough away, then the location will fail the point or bounds criteria check and nothing will get spawned there. The usual approach is to increase the throw distance. The throw distance you set needs to take into account the original size of the prefab, and any scaling you might apply to it.

    Yes - in fact it can only work properly when it has colliders on it. The trick is to set the rotation in your prototype to 0.

    2017-02-07_10-50-35.jpg

    Note: The rotation can sometimes be a little off. This is due to the complexity of trying to locate the closet touch point, and I based the rotation on what Unity reports as the closest touch point. If it is a little off, then use the keyboard shortcuts to make final position and rotation changes before spawning the next fence section.
     
    Mark_01 and BackwoodsGaming like this.
  42. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    4,030
    Hmmm. OK, I'll look at that, but it seems strange. I'm just trying to spawn the tree objects on a wide-open generally flat terrain area. Seems odd that it can't find another spot for another instance.
     
  43. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Stunning as usual. Quite apart from the awesome art here, what some people might be interested in is the way in which GeNa was used to place the ferns and other interesting details building and arches etc. Gena can place prefabs onto any mesh provided that it has a collider... and this is a fabulous way of decorating rocks and buildings with plants and vines etc to make them visually more interesting.
     
    kurotatsu, turboscalpeur and magique like this.
  44. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    It's not so much that - its the fact that wherever you click is the first location that is checked. The throw distance is the "up to" distance away from that location that new locations are chosen - this is based on the concept of a tree throwing seeds up to a given range around it - if where the seed lands is good based on your spawn criteria then a new tree will grow there (obviously the algorithm affects this as well).

    So if you have a 30m x 30m tree... having a throw distance of 5m isn't going to help you because you will never check more than 5 meters away from the last spawn.

    This is the point and bounds criteria kicking in. They stop things from being placed within things.
     
  45. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    4,030
    OK, that makes sense. I was just using the default values so I'll definitely try that when I get home.
     
  46. turboscalpeur

    turboscalpeur

    Joined:
    Nov 29, 2015
    Posts:
    302
    Yess, didn't described my workflow and how easy is to setup "meshes on meshes" or simply spawn with Gena !!

    I too don't know myself every settings of it and their right uses; what I can say, yess, I used Gena to spawn on the Terrain: the Buildings, Trees, Rocks, all the Ferns and even all the animated Frogs (hidden those ones btw...) !!

    About the Ferns, some are living on Buildings or Trees for example in true life; so effectively, It have been a really cool saving time to spawn them in different degrees (horizontally on the Church or Trees for example), then Gena does the job and spawn them too in different rotations so this is too very awesome to get even more variations and beautiful areas in no time!!

    Then, did some manuals adjustments, only a few being more drastic on my Scene, but this I'm sure it's due to the fact I'm still not advanced with Gena to get All its Power!!

    Thanks a lot for this @AdamGoodrich !! This is just GeNaART :)
     
    Last edited: Feb 7, 2017
  47. Black-Spirit

    Black-Spirit

    Joined:
    Sep 14, 2013
    Posts:
    67
    Sorry if this has been asked before, cant find much info regarding it.

    Does GeNa's light probe and baking optimization work on existing terrain trees placed via other methods?
     
  48. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Terrain trees don't get any benefits. Newly placed prefabs however do. GeNa wont retroactively touch anything that's already there.
     
  49. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Test post - for some reason I can no longer post in Gaia forum :(
     
  50. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    4,030
    I actually tried this a few days ago and got the same result. I increased throw distance up to 30 at one point and it still spawned only a single tree. When I get a chance I'll have to dig deeper, but I have no idea what would cause this. The tree was not unusually large or anything either.