Search Unity

[RELEASED] Real Ivy - Procedural Ivy Generation Tool

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

  1. iRobi

    iRobi

    Joined:
    May 1, 2016
    Posts:
    170
    Just read theme. It will be really cool if you add runtime growing!
     
  2. Dynamite3D

    Dynamite3D

    Joined:
    Oct 26, 2016
    Posts:
    101
    Hello everybody! Right back from vacation, sorry for leaving this thread alone this month!

    Puf! I think that's more complicated than it seems. There's comunication between some scripts, and there's the preset stuff... Sorry. If you want to try, take a look at the leaves generator script. Maybe you can hardcode something that works for you. Good luck!

    I hope I can add that feature soon!
     
    wetcircuit likes this.
  3. castor76

    castor76

    Joined:
    Dec 5, 2011
    Posts:
    2,517
    Any updates?
     
  4. Dynamite3D

    Dynamite3D

    Joined:
    Oct 26, 2016
    Posts:
    101
    Hello castor. I'm so sorry, I'm not being consistent with my words. My real job is taking a lot of time these months. I will post in this thread with some info when I come back to this project.
     
    tapawafo likes this.
  5. Dynamite3D

    Dynamite3D

    Joined:
    Oct 26, 2016
    Posts:
    101
    Hello everybody! It's a pleasure to me announce that yesterday I started developing the runtime features! I have a couple of weeks with some free time so I'll do my best.

    I will post updates with news and stuff.

    Thank you all! BB!
     
  6. Dynamite3D

    Dynamite3D

    Joined:
    Oct 26, 2016
    Posts:
    101


    As I promessed, here's some progress.
    It's being a bit hard because I had to rewrite a lot of code for performance porpuses. There will be no runtime editions like radius of the branchs or orientation of leaves in order to prevent all that triangles and vertices recalculation. You have to set up this options before the execution.
    In addition the growth will be continous between frames and framerate independent, with a value "speed" that you can change.
    You can see this feature (WIP) in the video.

    Hope you like it!! BB
     
  7. Dynamite3D

    Dynamite3D

    Joined:
    Oct 26, 2016
    Posts:
    101


    Aaaand more progress! Now the tip can be sharp and the transition is better.

    In addition I can tell you the performance is MUCH better than the editor version of the code. I will post some statics soon.
     
  8. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Runtime Ivy 2 looks interesting!
     
    Dynamite3D likes this.
  9. Dynamite3D

    Dynamite3D

    Joined:
    Oct 26, 2016
    Posts:
    101


    Cooming soon!!



    You can see how it optimizes itself. Never optimizes two branchs at a time, so it's pretty optimal! No bottleneck at all.

    I will also write a system for when you have several ivys they don't compute their geometry at the same time.
     
    Last edited: Nov 4, 2017
  10. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Nice indeed. Are there options to chop up the mesh a bit ? in the case of long meshes along the floor like ivy, we can't really make it usable with mixed mode lighting or cull parts of it.

    What happens with mixed mode is in the distance, the ivy would be going from light to dark, but only receive probe lighting where it fades to lightmap. This is because attempting to lightmap thin geometry like this will blow a lot texture ram and lightmaps badly, so you want to leave ivy as a dynamic non static object which can be culled. If it's all one huge continuous object, this makes it hard for culling and hard to avoid using light probe proxy volumes, which also blow ram. I may use LPPV but have managed to avoid it so far.

    These are minor observations though not deal breakers. Good work from what I see in the latest vid!
     
    Dynamite3D likes this.
  11. Dynamite3D

    Dynamite3D

    Joined:
    Oct 26, 2016
    Posts:
    101
    Nop! There's no way of chopping branches or slicing the mesh. At least a built in way. If you want that kind of optimizations you can simply be smart as level designer and instead of generating a huge and long vine, generate a few smaller. However its a good idea and not very difficult to implement. I'll think about it.

    About lightmapping, there's the option of generate lightmap uvs if you want (In the editor time tool). If it's good or not to use LM with this meshes, the artist shall decide! I provide the tools, you use it as you think is better xD.
     
    hippocoder likes this.
  12. Hitch42

    Hitch42

    Joined:
    May 12, 2015
    Posts:
    98
    This might be a strange question, but have you thought about having this be able to generate other types of objects? When I see some of these examples, I wonder if it could generate things like cobwebs, or maybe some weird biological entities in a sci-fi or horror game.
     
    tapawafo and Dynamite3D like this.
  13. Dynamite3D

    Dynamite3D

    Joined:
    Oct 26, 2016
    Posts:
    101
    Yes! I thought about this. Actually the system is flexible enough for create things like tentacules and stuff. Maybe I should create an example or something. Thanks for the suggestion!
     
  14. castor76

    castor76

    Joined:
    Dec 5, 2011
    Posts:
    2,517
    Really, nice. But can their generation be a lot faster? If the generation was slow due to demonstration, it is fine, but when you use this in real time for procedural maps, we typically wants it to generate asap to reduce the level loading time, generation time. I don't mind it taking couple of frames to do it, but not like 10 seconds to do it.

    Also, we do really need that leaf map atlas options. Each leaf gets uv from the grid settings. So we can prepare the leaf map with say 4 variations and each leaf's uv will get random assignment depends on their weight.

    If UI is the issue, we can probably just do with a simple json setting file containing the setups. We don't need fancy UI for this. Just a single slot with leaf setting json file.
     
  15. Dynamite3D

    Dynamite3D

    Joined:
    Oct 26, 2016
    Posts:
    101
    Hello! Castor! As always asking for a lot of things hahaha. That's cool actually.

    For the procedural generation of maps, I thing I can create a little system that iterates over the bucle as many times as you want, so the ivy generation has not to be in real time and you can create the vines at loading time.

    The multi leave system... I'll think about it, but for this update I cannot assure that I make that system.
     
  16. Dynamite3D

    Dynamite3D

    Joined:
    Oct 26, 2016
    Posts:
    101
    Hey! Almost there guys!

     
  17. Dynamite3D

    Dynamite3D

    Joined:
    Oct 26, 2016
    Posts:
    101
    Submitted and pending review! ;)



    And a little tutorial explaining the new stuff. First time speaking english in a video, sorry for my bad pronunciation!
     
    tapawafo, punk and red2blue like this.
  18. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    Wow! It looks fantastic! Very useful for procedural worlds.
     
    Dynamite3D likes this.
  19. Dynamite3D

    Dynamite3D

    Joined:
    Oct 26, 2016
    Posts:
    101
    Yeah! Thanks!

    The new update is available now! Hope you all find it usefull :D
     
    Last edited: Nov 15, 2017
    merlinyx and wetcircuit like this.
  20. castor76

    castor76

    Joined:
    Dec 5, 2011
    Posts:
    2,517
    Awesomeness with realtime stuff!

    When you paint ivy on mesh, if your brush misses the surface, it kinda goes all wrong, because of the obvious reason.
    Do you think we can somehow not let that happen?

    I can think of two solution :

    1. Easy : Just do not continue the ivy creation when brush hits nothing.
    2. Hard : Some how let us draw even on the air space. This could be useful if I wan to draw something and then want to let some ivy to hang around at some point. Right now, every ivy drawing needs to be "stuck" at the mesh only. I am not sure how easy this is going to be. Since the tool probably isn't designed to be used as such. But if we can imagine when drawing on the air is like.. there is invisible wall at view space looking at the camera , we can rotate the camera and draw ivy on the air. Or we can do hybrid approach, where we can toggle between procedural and drawing mode so that we can draw at first and then have some procedural generation at the end to simulate hanging ivys.

    I personally think the second method would be easiest and most flexible.
     
  21. castor76

    castor76

    Joined:
    Dec 5, 2011
    Posts:
    2,517
    I have actually solved drawing on the air by putting a dummy objects to where the air needs to be! I think this method works pretty well! haha!
     
  22. Dynamite3D

    Dynamite3D

    Joined:
    Oct 26, 2016
    Posts:
    101
    Oh! Yesterday I wrote an answer to you telling right that! But I didn't hit the "Post Reply" button xDD.

    I'm happy you found that solution by your own. With that method you can create for example sculptures made only with ivy. May be interesting!

    The idea you gave about drawing in the air, it could be a nice future feature. Thanks for the suggestion!
     
  23. merlinyx

    merlinyx

    Joined:
    Nov 5, 2016
    Posts:
    1
    Amazing that you added the runtime feature!!! Thanks a lot!!
     
    Dynamite3D likes this.
  24. Dynamite3D

    Dynamite3D

    Joined:
    Oct 26, 2016
    Posts:
    101
    Thanks bro! You're welcome :D
     
    Lars-Steenhoff likes this.
  25. brisingre

    brisingre

    Joined:
    Nov 8, 2009
    Posts:
    277
    I bought Real Ivy yesterday, and I love it. I'm having a lot of fun, the plants look great, but I'm having some problems too.

    Most importantly, it freezes a lot. I think all of my freezes so far can either be attributed to growing something too big, which in fairness the docs warn against, or to clicking refine corners. Refine corners seems to freeze a lot.

    Another is that the editor window's hard on performance. Opening the editor window is fine but once I click Start Generating, it starts to slow down, eventually lagging the editor to 15 FPS or less. This persists after I click "Stop generating", it's like the whole ivy's being regenerated every frame, even when nothing's changed. Even if I stamp the ivy, it lasts until I click cancel.

    I also can't have a runtime ivy selected in play mode. It takes about 4 seconds to render every frame, it's hard to even unselect it.

    When I instantiate one at runtime, it makes a very interesting giant first move from where I planted it. It seems to be following some kind of ledge, and not simply growing in the air, but it's displaced quite a bit from any ledge that actually exists. They seem to be displaced away from the center of the world, but it could have to do with the geometry they're being attached to.

    upload_2017-12-3_15-27-14.png
    upload_2017-12-3_16-11-43.png
     
    Last edited: Dec 4, 2017
  26. Dynamite3D

    Dynamite3D

    Joined:
    Oct 26, 2016
    Posts:
    101
    Hello! I'm sorry you are having these troubles. Seems like your computer is not very powerful. What processor do you have?
    Anyway, even with good machines, I highly recommend to not create very long and huge Ivy. It's much more better to have many little Ivy than a giant one. It is safer and everything will work more smoothly.

    I don't understand why you cannot select a Runtime Ivy. It slows down only if you have one selected or what's happend?

    And by last, I'm going to analyze that weird bug of displaced ivys and see if I've messed up with hierarchies or something. It looks bad :S

    Thank you for all this feedback. Hope you can work a bit better with the little advice I give you.
     
  27. Dynamite3D

    Dynamite3D

    Joined:
    Oct 26, 2016
    Posts:
    101
    I just tried adding some crazy hiearchies over the runtime ivys and everything works fine for me... I moved the ivys after creation from place and changed its parent and still works. I don't know what's happening to you.

    If you don't find a solution or workaround, please, send me more information to 3dynamite.unity@gmail.com and I'll try to figure out what's happening ;)
     
  28. brisingre

    brisingre

    Joined:
    Nov 8, 2009
    Posts:
    277
    I doubt it's my computer being underpowered. I have an i7.

    Runtime ivy slowdown only occurs when I have them selected. I think it has to do with drawing the inspector for them.

    Displacement bug happens when I make a prefab of a realtime ivy and spawn it with instantiate().

    I sent you an email with more details.
     
  29. Dynamite3D

    Dynamite3D

    Joined:
    Oct 26, 2016
    Posts:
    101
    Are you the same guy who asked me this via e-mail? xD

    It's very probable that it works in 5.6, because this plugin was originally made for 5.6 if remember well. Anyway, tell me the exact version and I'll try it for you.
     
  30. Dynamite3D

    Dynamite3D

    Joined:
    Oct 26, 2016
    Posts:
    101
    Hey guys! I just sent an update with a utility that makes the generation of runtime ivies during runtime easy.
    With a single line of code, this utility generate an Ivy where you want. There's more info and a example scene in the submitted unitypackage. It will be available in a few days I hope.

    Cya!!
     
    tapawafo, red2blue and brisingre like this.
  31. protopop

    protopop

    Joined:
    May 19, 2009
    Posts:
    1,561
    I love it - thank you for making this. Its very easy to make real looking Ivy.

    The first time i used it the START GROWTH worked great. The second time i used it only the STEP button was working and the place in center of scene (not the click to position). I can still generate ivy using the step clicking but its a slower process.

    Do you think there is some kind of file or setting or something that was created the first tie that stops this the second? Some kind of cookie or something i can delete?
     
  32. Dynamite3D

    Dynamite3D

    Joined:
    Oct 26, 2016
    Posts:
    101
    Hello! Glad you liked it.

    Wow I have no idea. Could you please send me an e-mail to 3dynamite.unity@gmail.com with more info about this issue? (screenshots or a vid or something). I'll do my best to help.

    Thank you!
     
    protopop likes this.
  33. Flurgle

    Flurgle

    Joined:
    May 16, 2016
    Posts:
    389
    FYI @Dynamite3D you should link to this thread from your asset.
     
  34. Dynamite3D

    Dynamite3D

    Joined:
    Oct 26, 2016
    Posts:
    101
    @Flurgle You're alright. I shall do it. Thanks!
     
  35. protopop

    protopop

    Joined:
    May 19, 2009
    Posts:
    1,561
    Thanks - i will look into it and send you what i can find.

    BTW The asset store says the asset is deprecated - is this a temporary thing?
     
  36. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    3,527
    Let me guess, not enough sales to sustain support. really sad because it such a great tool.

    I bought it already, but still would love to see it alive
     
    Rallix and protopop like this.
  37. LazloBonin

    LazloBonin

    Joined:
    Mar 6, 2015
    Posts:
    813
    Argh dang, just wanted to get my hands on this. Is this asset dead?
     
  38. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    The author posted here less than a week ago. I don't think it's dead.

    I'm not even sure he's aware the asset store deprecated it. His last post sounded like he was going to edit the description to include a link to this thread. Asset store has new rules about how each asset creator must meet certain "website portfolio" standards.

    My guess is his update triggered a review of the website info, but that's just me speculating.
     
    Lars-Steenhoff likes this.
  39. Rallix

    Rallix

    Joined:
    Mar 17, 2016
    Posts:
    139
    I would also hate to see this deprecated. It is a great tool.
     
  40. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    3,527
    hope it comes back to the store! :cool:
     
  41. brisingre

    brisingre

    Joined:
    Nov 8, 2009
    Posts:
    277
    Me too!
     
  42. LazloBonin

    LazloBonin

    Joined:
    Mar 6, 2015
    Posts:
    813
    Nope, the author deprecated it for good. I asked as a comment under the YouTube video, they replied:

     
  43. protopop

    protopop

    Joined:
    May 19, 2009
    Posts:
    1,561
    Thanks for the update - that's a real shame, it's a great asset. I would like to see creative artists supported instead of taxed out of operation.
     
  44. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    Oh, that's terrible. I love the animated Ivy. :(
     
  45. Dynamite3D

    Dynamite3D

    Joined:
    Oct 26, 2016
    Posts:
    101
    Hello people! Thank you all for the encouragement. Is very good to me to see you care about my products.

    Just like Ludiq said, I have to leave the business cause of the taxes of my country, which are ridiculous :(
    I'm very sorry! Maybe in the future I can get back if they make laws more fair, but I don't think that's gonna happen soon.

    So, thank you so much for the support for my tools and so. It's been a good journey!
    Wish you the best.
     
    Mister-D and Lars-Steenhoff like this.
  46. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    3,527
    No plans to make it open source / free ?
     
    wetcircuit likes this.
  47. Waterlane

    Waterlane

    Joined:
    Mar 13, 2015
    Posts:
    188
    Would there be any chance of general updates, just to support future unity versions (i.e. without having to create new features). Luckily I purchased this before it was depreciated and it would be great to be able to use it in future projects - it's a really cool asset...
     
    Lars-Steenhoff likes this.
  48. Dynamite3D

    Dynamite3D

    Joined:
    Oct 26, 2016
    Posts:
    101
    I have not intention to work on this right now, I'm sorry.
    I'm moving to France for a new job and I'm gonna focus on this. However, If I see I'm not going to work on this anymore, I'll make a github or something for the people to work on it as open source software.
    Also there's the possibility of in France the law is better and living there I can sell my stuff again. I have to gather information about that...

    Anyway thank you all for your interest and understanding. I think Unity's community is one of the bests :D

    Best regards and merry christmas!
     
    hippocoder, red2blue, corjn and 5 others like this.
  49. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    3,527
    Good luck with the move to France and merry christmas!

    And thanks for keeping us updated
     
  50. Waterlane

    Waterlane

    Joined:
    Mar 13, 2015
    Posts:
    188
    Thanks for the update and I also wish you the best of luck!
    and even if you don't get to update things, thanks Very much for making such a cool asset.
    Have a great Christmas!