Search Unity

  1. Unity 2019.2 is now released.
    Dismiss Notice

SpeedTree for Unity

Discussion in 'Assets and Asset Store' started by Dannyoakes, Jul 12, 2016.

  1. Dannyoakes

    Dannyoakes

    Joined:
    Feb 10, 2015
    Posts:
    117



    SpeedTree 8 for Unity is here, available as a free upgrade for all current SpeedTree Unity subscribers!

    Compatible with Unity 2018.3 and later, SpeedTree 8 brings PBR materials, new tools, more natural geometry, export-only mode, plus a whole new library of trees.


    Important Notes:

    HDRP/LWRP Support: The new SpeedTree Unity shader is currently only compatible with the standard Unity pipeline. We are working with Unity to develop the best approach for SRP shaders.

    SpeedTree 7 Model Upgrades: Models created in SpeedTree 7 can be upgraded using the SpeedTree 8 modeler. However, it will only convert the geometry to matching SpeedTree 8 geometry. Textures will remain unchanged. SpeedTree 7 .SPM files will continue to work in 2018.3 without upgrading.

    Photogrammetry: The new photogrammetry tools are restricted to our
    SpeedTree Games Indie license and full games license.

    New Format: SpeedTrees now come in a modeler file (.SPM) and a runtime file (.ST) The .ST file is what needs to be imported into Unity. We now utilize an "export" process instead of a "Save as" process.

    Revenue Caps: Our Subscription license is restricted to individuals and teams working on projects/games with yearly revenue of less than $100k US.

    If your revenue is over $100k US per year, you can take advantage of our new SpeedTree Games Indie license SpeedTree Games Indie license (revenue under $1M US per year) or our full games license.



    Further Resources:
    SpeedTree Forum: Ask our artists or engineers questions directly. Or just show off your stuff.
    SpeedTree Modeler Tutorials: Covers a range of issues, with more tutorial video in the works

    More coming soon, stay tuned.

    www.SpeedTree.com
     

    Attached Files:

    Last edited: Jan 22, 2019
  2. Dannyoakes

    Dannyoakes

    Joined:
    Feb 10, 2015
    Posts:
    117
    *Reserved*
     
  3. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    25,594
    Stickied because Speedtree is a native integrated feature of Untiy 5, so people seeking to get the best experience like Witcher 3 and so forth need to know how to leverage Unity and what to do for the best possible visuals.

    Starting with Unity 5.4 we should be seeing improvements, which will get documented here.
     
    JamesArndt, n00body, S4G4N and 3 others like this.
  4. makeshiftwings

    makeshiftwings

    Joined:
    May 28, 2011
    Posts:
    3,298
    The biggest problems I see so far with SpeedTree:

    - Performance is still terrible due to no batching and no instancing. In theory, this is coming in 5.4, but it's still not in yet, and we're already eight months into the beta at version 25. I would not at all be surprised to see it pushed back to 5.5.
    - Lighting is still broken, and switching to Lux just is not an option for many people, nor should it be a requirement. Unity's current fix, which also still isn't actually in the beta yet, is ok but not great; it gets rid of white leaves but leaves white edges around all trees.
    - Even assuming lighting is "fixed", the current Unity shaders don't use the specular textures exported from SpeedTree, they only use diffuse and normal, so there is never any specular or glossiness data. It trees all bark and leaves as maximally rough. That's fine for most bark, but leaves should be able to have some shininess to them.
    - SpeedTree's export to Unity is a huge mess of pointless files, most of which aren't used for anything, and then after the export it autogenerates a ton of new files in weird locations that it has to reimport. This could easily be cleaned up: export the Tree prefab and a folder alongside it that contains everything that tree needs, instead of putting all the files next to the prefab.
    - There doesn't seem to be any way to adjust the LOD settings of the trees at runtime, which means developers have to choose the distances to hardcode into their prefabs, and then players have no way to change those distances for their own installations. Given that SpeedTrees are currently one of the biggest performance hits in Unity, this is something that definitely needs to be available.

    In addition to all that, I have concerns about whether SpeedTree will even be a useful part of Unity within a year or two. SpeedTree's current business model relies on making everyone get a subscription because developers are not allowed to share trees with each other. Unity's currently working on a new Vegetation System that is supposed to be the official built in alternative to SpeedTree at some point in the next few versions, which means that we'll then have a way to make decent trees and share them / sell them on the Asset Store, which will make SpeedTree as pointless in Unity as Mixamo became once Mecanim got working animation retargeting. Especially if SpeedTrees continue to perform worse than Unity trees. I don't want to put that much effort into getting SpeedTrees working if they're going to get dumped like the old Unity trees and replaced with something new next year.
     
  5. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    4,337
    But can we generate tree procedurally at runtime?

    With increase in investment in procedural generation speed tree looks like it won't be able to adapt if I constantly need the modeler to create tree .... and we need tree variation at run time too ...
     
  6. Dannyoakes

    Dannyoakes

    Joined:
    Feb 10, 2015
    Posts:
    117
    Some of this I've mentioned in the top post but seeing as you've listed these concerns in a few places, I'm just going to link back to the SpeedTree Forum where our engineer addressed these questions in June:

    Relevant SpeedTree Thread

    I'm not going to speculate on any vegetation system Unity might be developing and how it might compare to SpeedTree. I can only tell you that we've got some really excited stuff in the works for the SpeedTree Modeler and our Assets (Including something that is hinted at in that SpeedTree thread). But I can't talk about that just yet.

    The SpeedTree Modeler is far too computationally heavy to be incorporated into a game engine. Your best bet is going to be to make multiple variations and then have those variations be exchanged at run time, this has the added benefit of allowing you artistic control over your trees. At SpeedTree we believe that procedural tools should serve the art direction, not the other way around.
     
    trilobyteme likes this.
  7. makeshiftwings

    makeshiftwings

    Joined:
    May 28, 2011
    Posts:
    3,298
    Oh hey, I totally missed that reply. Well, thanks, I'm glad one of my many posts finally got an answer. ;)
     
  8. Dannyoakes

    Dannyoakes

    Joined:
    Feb 10, 2015
    Posts:
    117
    Resin, hippocoder, n00body and 3 others like this.
  9. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,627
    Wooo... looks amazing and I just read that they are using Gaia, they must have good taste ;) Check out what Crowfall who are also using Gaia and SpeedTree are doing as well. Amazing how the same underlying technology and tools can create such radically different results.
     
  10. John-G

    John-G

    Joined:
    Mar 21, 2013
    Posts:
    1,112
    Cool, had just backed these guys on kickstarter today, great to see them using both of these products.

    http://kck.st/29UU3jE
     
    Shawn67 and AdamGoodrich like this.
  11. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    25,594
    Also there's a new speedtree shader coming along from UBER's developer:
     
  12. tomaszek

    tomaszek

    Joined:
    Jun 18, 2009
    Posts:
    3,738
    Ehmmm, well. I'm really impressed how my modest screenshot is spreading around like a virus. But I didn't say "it's coming new SpeedTree shader solution", but "I've got new SpeedTree shader solution that might be released as soon as we got funding for our game" (simply we'd like to be unique on this one and other technical achievements). But, well - if Unity community would help with reaching funding goals, SpeedTreeHD will be available to you sooner :).

    Tom
     
  13. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,627
    Looks amazing!
     
  14. makeshiftwings

    makeshiftwings

    Joined:
    May 28, 2011
    Posts:
    3,298
    I was going through old posts and remembered that actually Unity did already say that they would not be able to get any performance fixes into 5.4 and were pushing them back to 5.5:

    http://forum.unity3d.com/threads/gpu-instancing.376635/page-5#post-2677681

    So... currently we're at a "maybe" for better performance only in Deferred and only with a single directional light and all light probes have to be disabled, and only in 5.5 at earliest.
     
  15. Dannyoakes

    Dannyoakes

    Joined:
    Feb 10, 2015
    Posts:
    117

    Attached Files:

    jimmikaelkael and Shawn67 like this.
  16. larsbertram1

    larsbertram1

    Joined:
    Oct 7, 2008
    Posts:
    5,082
    both of them do not... they use custom rendering solutions and models/textures from speedtree but not the unity/speedtree solution like lods/shaders etc.
     
  17. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    4,337

    I have an art background and this make like zero sens!

    We are making games not movies! Game environment can react to players' actions.

    Imagine for example the player is doing bad stuff, I want the next level to reflect that, I need to make tree more twisty, another parameter would make them taller, etc ... I don't want to make all variations by hand and save them when I can save memory and have better visual impact. Now I can't control variation of rythm and composition with an adhoc system static system who don't even know to make lean and light variant anyway and will bloat lower end machine.

    I guess I need to roll out my own solution, I don't see any use to speedtree as now.
     
    ocimpean likes this.
  18. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    25,594
    You do that. I'm using speedtrees. They are by far the best looking.
     
    trilobyteme likes this.
  19. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    4,337
    The real question is why they are the best looking? :D
     
  20. makeshiftwings

    makeshiftwings

    Joined:
    May 28, 2011
    Posts:
    3,298
    Let me preface by saying I still have many issues with SpeedTrees so I'm not pretending they're great. BUT, the SpeedTree EDITOR is pretty great. You can buy one tree from the store or get a free one with the subscription, and then click the "Randomize" button a million times and export a bunch of variations very easily. So if you can spare the disk space you could create versions that were taller/twistier/whatever and put them in Resources, then switch out the prefab references on the terrain while loading the level based on procedural generation. It would be nice if there was a built-in way to have all the variations use the same textures instead of creating tons of identical copies, but still, it's better than nothing.
     
    hopeful likes this.
  21. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    25,594
    Note: This is isn't a complaints thread. It's part asset thread, part information thread. So when speedtree get new information on how best to use it, it will go ahead and post all the data here so customers will be able to use this "native" feature of Unity... currently the ball is in Unity's court, so complaining in this thread will achieve a fat nothing until Unity fixes it. Judging by how many AAA games effectively use Speedtree in high performance with great looks, it's clear Unity has work to do.
     
    JamesArndt and Shawn67 like this.
  22. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    4,337
    I have bigger plan this won't work out, it's good for what is does, even though what it does is limited ;) Anyway I'm not even there in my projects so the need is not urgent right now. I was just probing the potential. I'm still bitter they will deprecate their FREE tree editors.

    @hippocoder
    These AAA games don't run on my computer so this point is moot ;)
    hi performance is relative when it does not run on smaller machine at all.
     
  23. Shawn67

    Shawn67

    Joined:
    Jan 2, 2014
    Posts:
    2,196
    My machines are older hardware. This one only supports dx11 via dx10. But SpeedTree runs fine on it after you tweak the tree models. The place I run into performance issues is too much grass. I've never had problems with SpeedTree after removing unnecessary colliders. :) If you are willing to do some prep work and pair up with some other performance assets, SpeedTree is awesome. There are still some shader issues here and there, but like hippo said.. A lot of that is in Unity's court for getting fixed.
     
    TeagansDad likes this.
  24. Cereal_Killa

    Cereal_Killa

    Joined:
    Oct 20, 2013
    Posts:
    205
    Can I generate billboards with heightmap/normalmap information for use in 2D games (as I cannot export trees to an external application to do this).
     
  25. gian-reto-alig

    gian-reto-alig

    Joined:
    Apr 30, 2013
    Posts:
    756
    Anyone had any luck yet with using spherical windzone to fake foliage/character interaction?

    After a quick test, and some googling I found that while speedtrees are affected by the spherical windzones, the implementation is totally unusable for what spherical windzones were intended for.
    Which is explosions and similar effects. Now, how do you create nice looking "explosion wind" effects when trees take about 2-3 seconds to react to the windzone, and then seem to ignore the range, or totally miscalculate it?

    I understand the answer in the speedtree forums from last year saying that there are better options for precise interactions, like a "pressure map", and skeletal animations.
    But that is far beyond what I am looking for. All I want is a fake interaction system which brings SOME movement into foliage if a character moves through it at a great speed. I don't care if its precise or anything. As long as the system is responsive and at least SOMEWHAT accurate, it would most probably work for 90% of usecases.

    Now I appreciate that I am hijacking the wind system here, but then, the system is already there and active, so inserting some additional wind force should be little additional overhead, right?
    • Shouldn't be to hard to make the transition between zero to full influence once a tree comes into the influence zone of a spherical windzone a parameter, ideally in the windzone itself, so it could be adjusted for different effects. If that is not possible (I aknowledge wind zones are in Unitys hands, don't know about the speed tree system), then at least scale the transition speed up so it happens split second. Something like 1-10 frames instead of full seconds. The tree should take some seconds to scale back the influence to zero once its no longer affected, but the scaling up should happen instantly!
    • Also, what is the problem with making trees react to an EXACT spherical range? I would expect trees outside of the range to NOT be affected. Instead, it seems that at least at low range settings, the acutal range used is far larger.
    • Then I get the feeling that the tree does not really react to the distance to the windzone center. Its either reacting to the windzone fully or it is not. Ideally, the distance to the windzone center would be taken into account for every branch and leave seperately, in case of a large tree it looks off if leaves on the other end of the tree react with the same force to an explosion happening on the far end. But I guess now this is not so easy to do anymore. But one can dream, right? Maybe something to work on for the further future?


    Will we see improvements in this category in the near future (directed either at the Unity or Speedtree folks)? Or is this already possible and I just didn't try hard enough? If yes, coul you give me pointers as what I did wrong?
     
  26. Dannyoakes

    Dannyoakes

    Joined:
    Feb 10, 2015
    Posts:
    117
    Hey Killer,

    So, there's actually a pretty good way to do this. You could use our leaf map maker to generate a single 2d billboard at any resolution you wanted of the entire tree, including normal map information. Here's the documentation:

    http://docs.speedtree.com/doku.php?id=leaf_map_maker
     
  27. docsavage

    docsavage

    Joined:
    Jun 20, 2014
    Posts:
    996
    Hi @Dannyoakes,

    You mentioned somewhere that the speedtrees where being updated on your store account pages for download. Just wondering if this has started yet. I checked on your website but the account page has no changelog or version details so it's not possible to know if there has been an update or not.

    Thanks

    doc
     
  28. Kelos

    Kelos

    Joined:
    May 27, 2014
    Posts:
    11
    Is it difficult to make cartoonish shader for Speed Tree? I'm not a specialist in shaders, аny tip on what it takes to do such shader will be helpful.
     
  29. Dannyoakes

    Dannyoakes

    Joined:
    Feb 10, 2015
    Posts:
    117
    the updates were to just correct a version discrepancy, no actual changes.

    What kind of cartoonish look are you going for?
     
  30. docsavage

    docsavage

    Joined:
    Jun 20, 2014
    Posts:
    996
    Ok. Thought they were being re package for a different folder structure for some reason.

    Thanks anyway
     
  31. Dannyoakes

    Dannyoakes

    Joined:
    Feb 10, 2015
    Posts:
    117
    For anyone interested in giving our modeler a try, use the code STARTGROWING for 50% off your first month!

     
    Shawn67, Xenobite and docsavage like this.
  32. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    4,914
    @Dannyoakes - Can we look forward to a 3rd volume of packaged trees? Or are the two volumes pretty much it, and the rest will always be ala carte ...?

    Just curious. I have plenty of trees by now, but I can be tempted. ;)
     
    Dannyoakes and docsavage like this.
  33. RonanBurgess

    RonanBurgess

    Joined:
    Apr 20, 2013
    Posts:
    107
    Has anyone else had an issue with a noticeable difference in the lighting between the billboard and the tree mesh depending on the lighting angle?
    Specifically if the camera is looking in the same direction as the main directional light then the billboards are all lighter than the meshes. If the cameras is pointed in the opposite direction to the light then the billboards are darker.
    This all makes for a much more visible transition. On the other hand if the camera is a right angles to the light, or also if the light is pointing straight down then then the lighting matches between the billboard and mesh.

    The summary is that it looks like the billboard is more sensitive to the lighting direction than the mesh.

    Is there some way to correct this?
     
  34. scarpelius

    scarpelius

    Joined:
    Aug 19, 2007
    Posts:
    953
    I have an issue with the trees standing out of terrain on slopes. Is there a way to fix this?

    speeedtreeonslope.png
     
    JamesArndt likes this.
  35. Marco-Sperling

    Marco-Sperling

    Joined:
    Mar 5, 2012
    Posts:
    568
    Do actual Unity developers visit this thread? We need top-down billboards and softly fading shadows. The current solution of shadows lerping in over a fixed amount of time is not pleasing to the eye. It should be based on distance.
     
    m4d likes this.
  36. Velo222

    Velo222

    Joined:
    Apr 29, 2012
    Posts:
    1,300
    Hello, I was wondering about SpeedTree "instancing" specifically. Is it implemented and working in 5.4? If not, will it be working in 5.5?

    Thanks for any info.
     
  37. JamesArndt

    JamesArndt

    Joined:
    Dec 1, 2009
    Posts:
    2,671
    I don't really use SpeedTree, but in regular mesh trees this would be solved by simply moving up the pivot point found at the bottom of the trunk. Not sure if in SpeedTree software you can adjust the pivot up a little bit or not? This will solve the planting above the terrain issue.
     
    Last edited: Nov 8, 2016
    scarpelius likes this.
  38. larsbertram1

    larsbertram1

    Joined:
    Oct 7, 2008
    Posts:
    5,082
    unity's current dithering solution produces a lot of artifacts. so i am pretty sure that you do not want it to see distance based but rather vanish as fast as possible : -)
     
  39. Marco-Sperling

    Marco-Sperling

    Joined:
    Mar 5, 2012
    Posts:
    568
    Yeah, that's just another can of worms. A lot of stuff feels half-heartedly integrated. If you 've got fast impostor based tree rendering with nice shadowing up your sleeves we'd buy almost instantly.
     
  40. scarpelius

    scarpelius

    Joined:
    Aug 19, 2007
    Posts:
    953
    @JamesArndt That did the trick, thank you :)
    I had to create a new prefab then I was able to offset the tree mesh and used the new fixed prefab in terrain.
     
    JamesArndt likes this.
  41. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    25,594
    A few games like WoW tend to add a pattern dissolve to the dither so they fade in a non uniform unobtrusive manner, it's quite an improvement on the standard dither which has pattern and draws the eye.
    You really have to look for it in WoW.
     
    hopeful likes this.
  42. turboscalpeur

    turboscalpeur

    Joined:
    Nov 29, 2015
    Posts:
    282
    Since long time I wanted to show off some SpeedTrees...so it's time !

    Just used some of my current Grass, coming ones too and Honey Mesquites + Europeans Aspen, then some others Assets (full list)

    Nothing optimized here just playing & making some quick Tests in a Scene:









     
  43. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,627
    Wow - very cool - what tools did you use to create the environment ?? :)
     
    turboscalpeur likes this.
  44. turboscalpeur

    turboscalpeur

    Joined:
    Nov 29, 2015
    Posts:
    282
    Hehe^^, all the Grasses, SpeedTrees, Rocks...have been spawned with GeNa :)
     
    Shawn67 and AdamGoodrich like this.
  45. Davain

    Davain

    Joined:
    Dec 20, 2009
    Posts:
    24
    Is there any way to turn on specular element in speedtree shades in Unity 5.4.1 ?
    In 5.3.X one could edit the shader file and replace lambert with BlinnPhong and specular would work. In 5.4.x and forward the shader had all its specular part cut out (at least from what I can see) and can't be "turned on". Using an older version of the shader doesn't work either.
     
  46. Davain

    Davain

    Joined:
    Dec 20, 2009
    Posts:
    24
    Never mind, needed to copy the older SpeedTreeCommon.cginc as well
     
  47. Dannyoakes

    Dannyoakes

    Joined:
    Feb 10, 2015
    Posts:
    117
    Random Free SpeedTree Update!

    It's Monday so we're throwing a quick 24 hr flash twitter contest!

    RT+Follow to win $100 of SpeedTrees

    Also It's that time of year, when free Christmas SpeedTrees start making the rounds! Enjoy a free tree on us. Includes Hero, desktop, and mobile resolutions.

    Free Christmas SpeedTree

    CytEk7rW8AA1ubt.jpg
     
    jimmikaelkael, mtornio and No0B25 like this.
  48. matteumayo

    matteumayo

    Joined:
    Jul 25, 2016
    Posts:
    170
    Sorry if this isn't the place for this.

    I'm working in VR, and I can't for the life of me get A2C/alpha blending working for my SpeedTrees in Unity 5.5.0p4.

    I have 4x MSAA enabled, and the free SpeedTrees that come with Unity. I've tried forcing it on in the SpeedTree.shader but I haven't gotten anywhere.

    As you would expect, any aliasing, especially on trees, makes VR unplayable.

    Thanks for any help.
     
  49. Multithreaded_Games

    Multithreaded_Games

    Joined:
    Jul 6, 2015
    Posts:
    121
    Hello all!

    I've looked around for this question and haven't been able to find it so I'll throw it in here. If it isn't the right place to ask then please point me in the right direction.

    First off I want to say that SpeedTree is a great tool! For us it provides the perfect combination of beauty and cost. We've always known trees were going to be one of the biggest expenses in our scenes but we've been able to make room for ample vegetation thanks to this asset. We were unimpressed with the built in Unity Tree builder and when we found SpeedTree we knew we had to have it; it provides what are easily the best looking trees on the asset store.

    My only real issue, though, has to do with the billboards. The transitioning between mesh and billboard is smooth and mostly unnoticeable but we still have to push back the billboard to distances that are unnecessary because of the way the billboards switch while walking around the plant. The closer the tree or bush is when it is a billboard the easier it is to walk around it and see the billboard change from, what I assume to be, one direction's billboard to another. Unlike mesh transitions which are smooth, this is a hard and instantaneous change and very jarring.

    In short, the only thing keeping me from bringing my billboard in closer, and keeping my draw calls and batches down even further, is the fact that walking around a billboard is much more noticeable than the actual transitioning to the billboard. Has anyone else noticed such things and if so how did you get around it?

    -Andy
     
  50. Assembler-Maze

    Assembler-Maze

    Joined:
    Jan 6, 2016
    Posts:
    630
    Yes, it's quite noticeable. One work-around is setting the billboard distance quite far so that the pop is not noticeable. But if draw calls are a problem try a custom system (like mine or another from the store) to get your draw call down and allow you the necessary distance. That is how I managed to fix it.

    For example in my system I also have a plan to do a smooth transition between billboard angles so that they are not popping instantaneously.