Search Unity

[RELEASED] Real Ivy - Procedural Ivy Generation Tool

Discussion in 'Assets and Asset Store' started by Dynamite3D, Apr 25, 2017.

  1. Dynamite3D

    Dynamite3D

    Joined:
    Oct 26, 2016
    Posts:
    89
    EDIT:

    Update 1.2 released!
    This time we have a Runtime Module. Now you can make ivy grow inside your games in real time!



    Update 1.1 released!
    The new star feature is "Ivy Painting". With this you'll be able to paint with the mouse over surfaces and the ivy will grow after him. Very handy when you nees full precission!



    Hello everyone! I just published a tool designed for generate procedurally ivy and climbing vegetation for your scenes.

    Asset Store Link: https://www.assetstore.unity3d.com/en/#!/content/86134

    It's really easy to use and the result is like this:


    Here you can see the tool working.


    These are the key features
    • Presets system
    • Place the "seed" by clicking on the sceneview
    • Normal mapping, reflections and PBR support
    • Lightmap UVs
    • Optimizable meshes
    • Customizable leaves meshes
    • Customizables leaves position, orientation and size
    • Customizable branch shape
    • Activate or deactivate leaves/branches independently
    • Cuztomizable trajectory
    • Save meshes into project
    • Seed Based Randomness
    • Friendly UI
    You can use the materials and shaders that you want, with any feature such as wind effect.

    The workflow is as simple as
    1. Choose a preset
    2. Place the "seed" with a click in your scene
    3. Hit "Start growth button" and see how it grows!
    4. Make final adjustements if needed
    5. Click the "Snapshot" button and save the mesh in your project!


    I have enjoyed a lot developing this tool, and I learned a lot... So I want to say thank you to the Unity's developers community for all the information, pieces of code and support in general that there's on the internet.

    Thank you guys! This community is awesome :D
     
    Last edited: Nov 15, 2017
    alexanderameye, SAOTA and Arkade like this.
  2. Arkade

    Arkade

    Joined:
    Oct 11, 2012
    Posts:
    600
    That is exceedingly cool. Congratulations. Bookmarked for future needs.
     
  3. Arkade

    Arkade

    Joined:
    Oct 11, 2012
    Posts:
    600
    P.s. beyond tweaking initial add position and changing random number seed, can one influence growth (avoid/cover specific points)?
     
  4. Dynamite3D

    Dynamite3D

    Joined:
    Oct 26, 2016
    Posts:
    89
    Hello and thank you!

    Not really. You can change the "pattern" of the growth, but it will be always random based. One of the future features will be something that can be called "draw branches", so you can draw directly on surfaces the paths of the branches.
     
    Arkade likes this.
  5. MinhDao

    MinhDao

    Joined:
    Oct 28, 2013
    Posts:
    155
    This is amazing!

    I have some questions:
    • Does it work runtime?
    • Can I add flowers on climbing vegetation
     
  6. coverpage

    coverpage

    Joined:
    Mar 3, 2016
    Posts:
    385
    Is this mobile ready; are there low poly vegetation. Early adopter sale :D?

    Congrats on the awesome asset!
     
  7. Dynamite3D

    Dynamite3D

    Joined:
    Oct 26, 2016
    Posts:
    89
    Hello and thanks! At this time it doesn't wor at runtime, and you can use any texture as well as mesh as leaves. Simply drag and drop the desired material or mesh on the slots od the UI.

    Thank you! The polycount is a bit heavy. I don't recommend this tool for mobile apps, but it's your choice in the end!

    Early adopter sale? I don't understand I'm afraid xD
     
    coverpage likes this.
  8. recon0303

    recon0303

    Joined:
    Apr 20, 2014
    Posts:
    1,602
    its 20 bucks, that is a sale already more or less, since its that cheap:)/

    To bad, I would of bough this right now if it worked for all platforms. Since I develop for mobile in Unity these days . I may in the future for PC game I'm working on typically use Unreal for PC. . Best of luck , looks great.
     
    coverpage likes this.
  9. Dynamite3D

    Dynamite3D

    Joined:
    Oct 26, 2016
    Posts:
    89
    Thanks bro!

    If you need the tool any time, you know where to find it ;)
     
  10. Dynamite3D

    Dynamite3D

    Joined:
    Oct 26, 2016
    Posts:
    89
    This is a protoype for the next feature. I think it may change the general workflow of the tool!
     
    punk and wetcircuit like this.
  11. punk

    punk

    Joined:
    Jun 28, 2013
    Posts:
    382
  12. castor76

    castor76

    Joined:
    Dec 5, 2011
    Posts:
    1,497
    It would be super awesome to be able to do this in runtime. I am wondering what prevents it from running by runtime , since it seems like it supports preset plugin system? ( which makes using UI not needed for the generation )

    Only thing I can see is to add option to make the growth amount?
     
  13. Dynamite3D

    Dynamite3D

    Joined:
    Oct 26, 2016
    Posts:
    89
    Thanks for the purchase! Hope you enjoy it :D
    Don't forget to rate it in the asset store if you like!

    Is one of the features that I will add in the future! Thanks for the suggestion!

    Aaaand some progress here with this cool new feature!
     
  14. punk

    punk

    Joined:
    Jun 28, 2013
    Posts:
    382
    That's awesome!
     
  15. castor76

    castor76

    Joined:
    Dec 5, 2011
    Posts:
    1,497
    Hi , I have been playing with it. And got a quick question.

    Does leaves polygon created as double sided? Or is it a shader making it double sided? If it is creating geometry to make it look like double sided, there should be option to turn this off as it can be more effectively done using shader.

    -- Edit --

    Ok so after looking at the doc for more info, it looks like I can use a custom mesh for leaves. Excellent.

    Looking forward to the hand painting feature! And runtime build options. Runtime build options with highest optimized profile is going to be super cool! This means we can build profile, simulate it in the editor with some seeds and then generate the ivys during runtime to suit the generated levels! which is ultra super awesome! I tried it using editor function during runtime, and it seems to work fine so I don't see why this is not possible. Any runtime generated meshes don't have to be saved anywhere. Just live in the memory during game play and then gone.

    Also, can we export the mesh in obj or fbx file format? This would be super cool too. Does anyone know some good asset which can export Unity mesh asset into obj or fbx file?

    Cheers.
     
    Last edited: May 17, 2017
  16. castor76

    castor76

    Joined:
    Dec 5, 2011
    Posts:
    1,497
    Also, it would be cool to have feature where the leaf texture is atlas with many variations. So the vine generator picks up different uv coordinates for every leaf. This will give very good chaotic and natural feel. (with vertex color variations too ofcourse)
     
    Last edited: May 18, 2017
  17. Dynamite3D

    Dynamite3D

    Joined:
    Oct 26, 2016
    Posts:
    89
    Hello! Sorry, I'm too late to answer your question, but you figured out the solution, so congrats ;) Next time you can mail to the support e-mail which I check more often.

    The runtime thing is possible, but some restructuring is needed. Many people asked for that so I will priorize it!

    About exportint to obj and fbx, there are free scripts that does it. This for example: http://wiki.unity3d.com/index.php?title=ExportOBJ Maybe I should integrate it to the tool. Thanks for the suggestion.

    And about the variations of the leaves, Yes! It's on the roadmap too hahah. But thanks anyway for the suggestion :D
     
    wetcircuit likes this.
  18. castor76

    castor76

    Joined:
    Dec 5, 2011
    Posts:
    1,497
    any news on the next version update? dates?
     
  19. Dynamite3D

    Dynamite3D

    Joined:
    Oct 26, 2016
    Posts:
    89
    Sadly I cannot say update dates because I work in this project in my free time. But I'd like to submit an update before 15th june with the "draw" feature.
     
    punk likes this.
  20. Dynamite3D

    Dynamite3D

    Joined:
    Oct 26, 2016
    Posts:
    89
    This is how looks the new feature of the tool!


    Now you have two ways of create ivys:
    • Procedural: As usual
    • Painting: Click and drag over your scenes and the branches will follow the mouse, fitted to the surfaces!
    In this video you can see the behavior of the tooL


    In this new mode of creation you can :
    • Create exempt branches (clicking fat from the rest of branches),
    • Insert branches in a previous one (Blue dot in the video),
    • Continue an existing branch if you left it unfinished (Yellow dot in the video)
    • Also, theres a Undo button overlayed in the Scene View that allows you to delete the last branches you created.
    I hope you like it!

    I need some marketing stuff to do, and I will submit it for revision on 10th June, so... if we are lucky It will be updated on 20th xDD Unity is a bit slow with the revisions.

    See you!
     
    Last edited: Jun 5, 2017
  21. castor76

    castor76

    Joined:
    Dec 5, 2011
    Posts:
    1,497
    Can't wait for this!
     
  22. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,099
    Thanks for this, it works great!

    I find the horizontal menu a little awkward to work with as it's unlike most Unity panels, and I wasn't able to use the Place by Clicking when the menu was in a floating window.

    I second the request for leaf variation.
     
  23. Dynamite3D

    Dynamite3D

    Joined:
    Oct 26, 2016
    Posts:
    89
    Thank you wetcircuit!

    I made that horizontal design because of manageability. It could be possible to have a video or picture of you using the tool? Maybe your point of view is useful for me to improve the design.

    This is how the tool is meant to be used if you have little workspace:


    Maybe the vid helps you to improve your workflow!

    Thank you again and best regards!
     
    TeagansDad and wetcircuit like this.
  24. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,099
    Yes, This is how I eventually used it, in a large side-by-side window. ;)

    I normally have a narrow sidebar panel for Inspector, Lighting, etc. It is no effort to re-arrange the workspace while working with a special tool. Normally I'd put it in a floating window and keep it large, but that caused issues with the Place by Clicking feature (it always selected somewhere that I wasn't clicking).

    Once the joy of making ivy (and thorns) grow on every possible surface wears out :p I'll probably just use the tool to "ivy" my scene all at once and then put it away... but while it is still a shiny new toy it is taking up a lot of real estate in my Unity interface. :D
     
  25. Dynamite3D

    Dynamite3D

    Joined:
    Oct 26, 2016
    Posts:
    89
    Ok, ok! Thanks for the info!

    What kind of issues do you mean? I'm a bit worried now haha.
     
  26. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,099
    I'll make a screencap video and PM you.
     
    Dynamite3D likes this.
  27. Dynamite3D

    Dynamite3D

    Joined:
    Oct 26, 2016
    Posts:
    89
    Nice! Thank you so much
     
  28. castor76

    castor76

    Joined:
    Dec 5, 2011
    Posts:
    1,497
    Are the update not reflected yet? :p

    Also we can really use some leaf uv atlasing function.

    Every leaf should get random uv offset according to the how atlas ( sheet ) is set up and uv division number. This should be easy to do!
     
  29. Dynamite3D

    Dynamite3D

    Joined:
    Oct 26, 2016
    Posts:
    89
    The update is sent! Since Monday. I hope they accept it next week...

    The multi-leave system is the next in the list, besides runtime functionality. But sadly this isn't my full time job... I don't know when I'm going to have time to work on this, sorry! I hope soon.
     
    punk likes this.
  30. Dynamite3D

    Dynamite3D

    Joined:
    Oct 26, 2016
    Posts:
    89
    I'm glad to announce Real Ivy 1.1 is released!

    https://www.assetstore.unity3d.com/en/#!/content/86134

    Here's the link so you dont have to search xD

    Hope you guys enjoy the new feature! I'll add more features as soon as possible! Thanks to all of you for your interest, ideas and support :D
     
  31. castor76

    castor76

    Joined:
    Dec 5, 2011
    Posts:
    1,497
    I have just tried this, and my.. this is too good...!

    Except I get a little error every time I try to paint again (after stop painting). Perhaps something to do with loading the presets. But if I close RealIvy window down and then reopen the window, it works again. It's a little bit annoying, but I can still control exactly how it looks, making this asset x10 more useful!

    BTW, when you get to make multi-leave system, please add option for us to adjust random percentage of each leaf.

    error I get is :

    ArgumentOutOfRangeException: Argument is out of range.
    Parameter name: index
    System.Collections.Generic.List`1[System.Collections.Generic.List`1[UnityEngine.Vector3]].get_Item (Int32 index) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Collections.Generic/List.cs:633)
    RealIvy.DrawIvy () (at Assets/3Dynamite/RealIvy/Editor/RealIvy.cs:326)
    RealIvy.OnSceneGUI (UnityEditor.SceneView sceneView) (at Assets/3Dynamite/RealIvy/Editor/RealIvy.cs:289)
    UnityEditor.SceneView.CallOnSceneGUI () (at C:/buildslave/unity/build/Editor/Mono/SceneView/SceneView.cs:2403)
    UnityEditor.SceneView.HandleSelectionAndOnSceneGUI () (at C:/buildslave/unity/build/Editor/Mono/SceneView/SceneView.cs:1721)
    UnityEditor.SceneView.OnGUI () (at C:/buildslave/unity/build/Editor/Mono/SceneView/SceneView.cs:1553)
    System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:222)
     
  32. Dynamite3D

    Dynamite3D

    Joined:
    Oct 26, 2016
    Posts:
    89
    Thanks for the feedback Castor!

    I got the same error sometimes, I can't find the reason, but it don't prevent me using the tool. This works normally. I understand in your case you must close and open the tool for continue using it?

    A way for avoid this error for me is, the first time I'm going to click on a surface don't move the mouse inmediatly, just hold the mouse position. 0,5 seconds is enogh. However in my case, the error simply prompts but the tool works well. Let me know if it's different for you, please!
     
  33. castor76

    castor76

    Joined:
    Dec 5, 2011
    Posts:
    1,497
    Just tried your suggestion, and no... it didn't work.

    No matter what I do, when I start to paint again after clicking on the finish painting, I can't paint again. I tried to wait 1 sec 2 secs before moving mouth but the same error happens and there are no ivy generated. When I close tool and reopen, it works again.
     
  34. Dynamite3D

    Dynamite3D

    Joined:
    Oct 26, 2016
    Posts:
    89
    F***! I'm sorry. I cannot reproduce that bug.
    Could you mail me to 3dynamite.unity@gmail.com and tell me the unity version you are using, and if you have any other tool that maybe are interfering with Real Ivy, please?

    If I understood well, you only can paint one branch and then you must restart the tool?

    Thank you for your time!
     
  35. castor76

    castor76

    Joined:
    Dec 5, 2011
    Posts:
    1,497
    Sent!
     
    Dynamite3D likes this.
  36. Dynamite3D

    Dynamite3D

    Joined:
    Oct 26, 2016
    Posts:
    89
    I answered castor via e-mail but I'll let here the solution just in case someone has the same issue:

    If you're drawing an Ivy and delete the "New Ivy Seed" object manually, you'll have an error and the tool won't work. Simply do not delete manually the seed and use the red button "Cancel" of the tool interface instead and the tool should work fine.

    Anyway I'll fix the bug for the next update, but hope this helps meanwhile!
     
    castor76 and punk like this.
  37. red2blue

    red2blue

    Joined:
    Feb 26, 2013
    Posts:
    200
    Hi there,

    i am interessted in the tool. Before buying I have a question. Is it possible to use your tool on assets I made and sell on the asset store? So selling the created ivy mesh with my models?

    If anybody is missing it. The tool is right now at the 24h sale 30% off. So if anybody is interessted, you should buy now!!!!
     
  38. Dynamite3D

    Dynamite3D

    Joined:
    Oct 26, 2016
    Posts:
    89
    Yes of course! You can sell assets with ivys inside, just like if you modeled them in any other software. But thanks for asking :D
     
    red2blue likes this.
  39. punk

    punk

    Joined:
    Jun 28, 2013
    Posts:
    382
    @Dynamite3D check this out



    There's some great ideas for future features in real Ivy, the physic may be tricky, but plant snipping would be a very cool addition
     
    Weendie-Games, iRobi and wetcircuit like this.
  40. castor76

    castor76

    Joined:
    Dec 5, 2011
    Posts:
    1,497
    I found that while creating procedural ivy was cool, the performance cost ( mesh rendering cost ) soon became some problem. Which is why I am loving the hand painted feature because I can basically control how much it needs to generate and grow with the look that I want. For real in game purpose I found that the procedural growth was almost never needed.
     
    punk likes this.
  41. Dynamite3D

    Dynamite3D

    Joined:
    Oct 26, 2016
    Posts:
    89
    Yes! That's a good point. Thank you for share. There's a lot of awesome ideas you all propoes, but I've got not time T.T I'd like to work more in my little tool hahaha!

    Yes... The rendering cost is a bit high. I think my tool is good for foreground environments specially. You could use it on mobile, but in a very few cases.

    A trick you can use is to disable the branch generation for the ivys that will be far. That will reduce drastically the polycount, and from far will look almost the same.
     
    punk likes this.
  42. punk

    punk

    Joined:
    Jun 28, 2013
    Posts:
    382
    :) Yeah totally understand! it's a great tool tho as is, saves tons of time ;)
     
  43. castor76

    castor76

    Joined:
    Dec 5, 2011
    Posts:
    1,497
    Yes. We could possibly do it by LOD. Disable branch polygon when far.
     
    Teila likes this.
  44. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,746
    Excellent! This would help a lot.
     
  45. EmeralLotus

    EmeralLotus

    Joined:
    Aug 10, 2012
    Posts:
    1,317
    Great asset. Would love to have it work during game play. +1 for Runtime please.
     
  46. castor76

    castor76

    Joined:
    Dec 5, 2011
    Posts:
    1,497
    @Dynamite3D

    Can you let us know when we will be able to check out the next version please?

    I am particularly interested with multi leaf atlasing.

    To recap what is needed :

    We should be able to set list of leaf models to be used, that are already custom uv mapped for the atlas custom leaf texture map. In this way, you don't need to implement any auto atlas functions at all. All you have to implement is let us set up the list of the leaf meshes to be used along with some control over how much each type is spawned randomly. (weighted random) So if I have two leaf mesh , one with normal leaf and one with say a flower , then I want to set 80% leaf spawned and 20% flower spawned.

    Creating actual texture and model should be done by the user. You don't need to provide any auto solution for that.
     
    wetcircuit likes this.
  47. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,099
    And the ability to weight where they are more prominent, at the beginning or end of the vine.
     
  48. Dynamite3D

    Dynamite3D

    Joined:
    Oct 26, 2016
    Posts:
    89
    Hello! Sorry for the late responses! But I don't know why Unity doesn't notify me now :S

    Thank you! The runtime feature is going to be added for sure!

    This feature too!
    And that's interesting! Maybe a leaves brush... or something like that, what do you think?

    And about dates... I'm not sure yet. Now I'm working in another tool and learning to code better. After this tool I'll remake the Ivy tool in a better and more flexibe and expansible way, with the new features you all ask for. Maybe in September! I think.
     
    red2blue, punk and wetcircuit like this.
  49. castor76

    castor76

    Joined:
    Dec 5, 2011
    Posts:
    1,497
    Sep!

    That is way too far than I hoped for.

    I don't need any complicated leaves brush feature, but just be able to do exactly what I have asked for. And that feature should be simple enough. Hell, let me know where in code I should be looking at , then I would try do it.
     
  50. iRobi

    iRobi

    Joined:
    May 1, 2016
    Posts:
    170
    Hi! Looks really cool! Im planning to buy this. Can ivy grow up in runtime?