Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Dismiss Notice

Hi, I work at SpeedTree...

Discussion in 'General Discussion' started by Dannyoakes, Feb 17, 2015.

  1. gameDevi

    gameDevi

    Joined:
    Oct 14, 2015
    Posts:
    155
    Hello Dannyoakes,

    Is there any information on how to change the shape of the trunk? I've read in another thread that you could use displacements but the links are no longer available.

    are there any plans to introduce a more direct method. Plant factory has a pretty good method of sending the trunk or branch direct to zbrush. after editing in zbrush you can click Goz and send it back. quick and easy.

    what are your plans in this area?

    Thanks
     
  2. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,927
    You can change the trunk in the modeler!
     
  3. Dannyoakes

    Dannyoakes

    Joined:
    Feb 10, 2015
    Posts:
    118
    Hey GameDevi,

    So, in terms of shaping the trunk. Displacement allows you to add noise to the shape of the trunk. To get an idea of what that means see below:

    Basic Trunk
    upload_2016-2-22_15-41-16.png

    Basic trunk with displacement:
    upload_2016-2-22_15-42-47.png

    So displacement applies noise to the trunk but it doesn't sculpt the trunk in the same way that Zbrush does. It's found in the "Displacement" section of the tree properties window in the modeler. However, keep in mind when you're exporting from plant factory to zbrush, you are likely working on VFX trees where your triangle count might be in the millions. This allows you a lot more vertices to sculpt than if you tried to take our 312 triangle broadleaf sample tree and sculpt it.

    We don't have anyway to export our meshes into other programs for modeling however, you can model a trunk in zbrush and import it into SpeedTree to grow branches off of. This would be a good solution if you had a specific hero model you needed to show off. Doing this however wouldn't allow your trunk to benefit from SpeedTree wind effects and texture welding would also be missing from the branches.

    In terms of future plans in this area, we don't have any plans to add a pipeline to zbrush right now, but as with most things in life, this could change.

    Hope that helps,

    Danny

    p.s. Your avatar is terrifying. I mentally blocked that scene from Zoolander until now.
     
  4. VertexSoup

    VertexSoup

    Joined:
    Nov 25, 2014
    Posts:
    44
    Hi can anyone explain exact purpose of default shaders that come with SpeedTree? Eg Leaf, Frond, Branch etc. Could not any info when to use which or what their advantages are. Thank you.
     
  5. Dannyoakes

    Dannyoakes

    Joined:
    Feb 10, 2015
    Posts:
    118
    Hey! The difference is in how they react to wind. Leaves need to be able to rotate in the wind while branches only sway. Fronds also react differently (e.g. Palm trees).

    However, this wind effect only applies to SpeedTrees (Store-bought or made in the modeler).
     
  6. mwituni

    mwituni

    Joined:
    Jan 15, 2015
    Posts:
    345
    So, in Unity theres a thing called AssetBundles. Perhaps you SpeedTree developers can have a look at it?

    The idea is you compile asset bundles of groups of assets, and can load them into your game when/if needed. Most larger games will need them.

    However, they don't work with SpeedTrees ... because it seems your developers have duplicated things like materials ... and when building an assetbundle it fails as it cannot have 2 materials with same id.
    eg.
    > African Baobab
    >> African_Baobab_Desktop_1 Materials
    >>> LOD0
    >>>>Branches_0
    >>>>Branches_1
    >>>>Branches_2
    >>>>Branches_3
    >>>>Fronds_2
    >>>>Fronds_3
    >>>>Leaves_3

    >>> LOD1
    >>>>Branches_0
    .... (and more duplicates)

    >>> LOD2
    >>>>Branches_0
    .... (and more duplicates)

    This duplication is across LOD levels, as well as between trees, eg. Baobab1 and Baobab2.

    In all ST examples I've looked at, the materials are identical. So no reason to have duplicates. In general, duplication is a bad thing, files should be unique else re-use the original.

    I don't see why each and every one (of your thousands of) customers should need to go and edit to fix bugs like these, only to have the fixes undone when we next update. These should never have made it past QA ... assuming there is QA.

    Heres an example of a failure error:

    Building AssetBundle failed because hash collision was detected in the deterministic id generation.
    Conflict happened between Asset "Assets/Desktop_Tree_Package_2/African_Baobab/African_Baobab_Desktop_1 Materials/Billboard.mat" and "Assets/Desktop_Tree_Package_2/African_Baobab/African_Baobab_Desktop_2 Materials/Billboard.mat".
     
    Last edited: Mar 3, 2016
  7. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,927
    You can replace your prefabs with the same materials. I do this all the time. It helps and makes it easier when you want to change the texture color or tint it differently.
     
  8. mwituni

    mwituni

    Joined:
    Jan 15, 2015
    Posts:
    345
    Yes, I know that, which is why I said I don't see why thousands of customers should have to work around these bugs.

    Unfortunately, many customers will not know that. And most of the rest might not want to change the materials, textures, and/or tints as you do - so be doing all this work for no reason - specially when they already have scenes with Speedtree trees on them ... ie. it's not that easy to replace each with a new custom prefab.

    The point is, why? SpeedTree is not a one-man show, its a large company that makes a lot of money selling expensive trees. Yet the quality level of the assets being delivered is well below average. Surely they know about things like AssetBundles in Unity ... they must have some Unity testers. And if not, must have heard some complaints about it - yet after so long, its still an issue. I refer here to the earlier (now fixed) texturing issues on their trees too. If this were a one man start-up instead of a branded company it would be different, as he would have to prove himself, or fail.
     
  9. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,927
    Actually, using prefabs is really the way you should work.

    Still, you can do it easily.

    If you have 10 different trees in your scene, then put each of the trees on the terrain, somewhere you can easily work. Then remove un-needed colliders, change the materials to all be from the same material, rather than multiple ones. Make any tint or color changes.

    Now open your terrain tree area and just replace the trees in their with the prefabs you have made. This makes it REALLY easy to making changes to your trees in game, such as tint for seasons, or whatever. You only have to change the prefab and hit apply.

    If you are placing meshes instead, then yeah, you will have this problem. Use prefabs.

    I get that it is a pain to do it again, but the prefab system is really important and all of us Unity users should know that by now or sadly, we have learned the hard way like you just did. I did the same thing..used meshes and had to go back and replace them. But I realized it would make my game better so I did it without coming on and slamming the developers.

    It is your job to know how to use Unity, not the developer's job, especially third party developers, to teach you or change their software to work for you individually...especially where there is way to do which should be standard procedure for all Unity objects, not just Speedtrees. It is not a bug..it is a feature. :)

    We all do it, we all learn. You are no different from the rest of us. :) I am sure you will be fine.

    Edit: Hey! Did not recognize the name. lol Just ignore the stuff that doesn't apply to you. lol
     
    Last edited: Mar 3, 2016
  10. Dannyoakes

    Dannyoakes

    Joined:
    Feb 10, 2015
    Posts:
    118
    Hey,

    I get the frustration here. This has to do specifically with some decisions made during the implementation of SpeedTree into Unity. We'll be looking into how best to address the duplication issue and how that affects the bundling process. We'll update here as soon as we have some information in that regard!
     
  11. Cascho01

    Cascho01

    Joined:
    Mar 19, 2010
    Posts:
    1,347
    ... missing Top-Down-Billboards.

    Thanks!
     
  12. mwituni

    mwituni

    Joined:
    Jan 15, 2015
    Posts:
    345
    If everyone does all that, that's millions of wasted hours and frustration, where SpeedTree could do it in a few hours.

    Trolling again. I'm not interested in biting .... please jog on.

    Thank you!
     
  13. VertexSoup

    VertexSoup

    Joined:
    Nov 25, 2014
    Posts:
    44
    Please can you advice me how to prepare mesh if I want to use provided shaders with custom geometry. Eg, what vertex color controls what. I'm missing this basic info as technical documentation. I might be able to figure it out from shader but it would be much more helpful if this information is given publicly so anyone could find it.
     
  14. mike_kennedy989

    mike_kennedy989

    Joined:
    Feb 5, 2014
    Posts:
    51
    RE:
    missing Top-Down-Billboards.
    RE : transitions are still bad.

    We work in Arch Viz too and this is the biggest issue we run into as well.
    Are there now versions that work better,
    of course like everyone we keep a lot of our packages locally to save time :)
     
    Marco-Sperling likes this.
  15. makeshiftwings

    makeshiftwings

    Joined:
    May 28, 2011
    Posts:
    3,350
    A roundup of current SpeedTree issues and questions I have:

    1) Major issue - shader doesn't work in Deferred rendering ( http://forum.unity3d.com/threads/speedtree-shader-broken.399099/ ) - this has been around basically since SpeedTree was first brought to Unity, still no fix; note the experimental fix in that thread still isn't particularly great due to white borders on leaves.

    2) Moderate issue - Speed tree does not have PBR textures. This could be fixed by either the exporter or the importer. Trees will be almost entirely not metal, so the metalness channel can be black. Glossiness texture is just the inverse of a roughness texture, and if that's not available, can be faked pretty well by toning down a shininess texture. Currently both the SpeedTree side and the Unity side have been throwing their hands up and saying it's impossible to fix since day one. It's not. Come on, people.

    3) Issue/question - As far as I can tell, the only way to adjust LOD distances for trees is within the editor and they have to be "baked" into the prefab, meaning there's no way for a player to adjust tree LOD distances in-game. I feel that this is a serious drawback. SpeedTrees are currently the biggest performance hit of almost any asset in an outdoor scene due to their huge poly counts and inability to be batched or instanced like a normal mesh, so letting devs implement a slider for the player to change the LOD quality in-game is important. Can anyone answer if there is indeed a way to change the LOD settings at runtime? If not, can this be added?

    4) Request - The exporter into Unity creates a mess of disorganized files. Could this be changed to export the tree prefab with a subfolder for that tree that contains everything else it needs, and have auto-generated material folders also put into that subfolder? Right now, trying to find trees in the project window is a huge pain. Also, can the exporter export all of its textures, including the AO information? Even if the current shaders can't use most of the textures, it would be good for those with custom shaders. After all the current shaders don't use the specular texture but that still gets exported.
     
  16. BornGodsGame

    BornGodsGame

    Joined:
    Jun 28, 2014
    Posts:
    580
    Since this got kinda necro´s I guess I might as well voice my opinion.

    The way the packs are set up in the asset store isn´t very logical. Most of us publish for a platform, and having the packs based on tree type doesn´t make sense.

    Or at the very least break more of them apart like you did with a few trees and sell the desktop version alone, or create more packs with ´all desktop trees´ etc. I wouldn´t mind buying particular desktop trees for $10, but buying a pack for $30 just to never use the hero or mobile version doesn´t work.
     
    Dannyoakes likes this.
  17. Socrates

    Socrates

    Joined:
    Mar 29, 2011
    Posts:
    786
    The game "7 Days to Die" has a tree LOD quality settings that affects when trees starting going to lower quality or billboards. They added Speedtrees in Alpha 11 and I believe they are still using them.

    I don't know how they did it and haven't tried looking at the code, but there might be discussion of their process on the forums or somewhere buried in Google.
     
    makeshiftwings likes this.
  18. makeshiftwings

    makeshiftwings

    Joined:
    May 28, 2011
    Posts:
    3,350
    Thanks for the info! I'll see if I can figure out what they did. The old school Unity Trees have adjustable LOD but so far I haven't been able to get anything to work with SpeedTrees.
     
  19. docsavage

    docsavage

    Joined:
    Jun 20, 2014
    Posts:
    1,015
    hopeful and Martin_H like this.
  20. Dannyoakes

    Dannyoakes

    Joined:
    Feb 10, 2015
    Posts:
    118
    Just an update: We've got free trees for anyone subscribed to the SpeedTree modeler as well as a new model (That's one of my new favorites) Red Gum is now available at our store and the Unity Asset Store.

    Check out the bonus content here: July Bonus Content
    • Eastern White Pine, Hero Resolution, 3 models, 6 leaf map makers
    • Red Maple, Desktop Resolution 6 models, 3 needle map makers
    • Colorado Blue Spruce, mobile resolution 3 models 3 needle map makers

    Red Gum.jpg
    July_2016_Wide.jpg

    In regards to Lux's Shader, I can confirm it's working well by cutting out the Specular. I know the unity team is hard at work getting things sorted out for an official fix, in the mean time this certainly cuts out the gray leaves
    LUX.jpg
     
    docsavage, makeshiftwings and frosted like this.
  21. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,927
    Thanks for the free trees, Danny! The red gum is beautiful. Love the colors on the trunk.
     
  22. ippdev

    ippdev

    Joined:
    Feb 7, 2010
    Posts:
    3,789
    I have been making custom trees from photos of local species bark and leaves. I use custom leaf meshes often and try to place the axis at 0,0,0 with Z pointing forward, Y up and then model the leaf branches with the joining branch origin in the image at the axis origin. I think I have tried most everything to get a weld to the geometry branch and still get floating image leaf branchings that no matter how I sweep, roll, offset weld etc. What is the precise method to achieve this?

    Second. I wish to create JUST billboards with the highest performance for distant treelines with some stipulations.
    1. The treelines could be up to 7km away.
    2. The treelines may be placed on meshes as opposed to Unity terrains...if possible to keep whatever LOD system I set up for those in the Modeller.
     
    Last edited: Jul 2, 2016
  23. makeshiftwings

    makeshiftwings

    Joined:
    May 28, 2011
    Posts:
    3,350
    Better a year late than never, I guess.
     
  24. Dannyoakes

    Dannyoakes

    Joined:
    Feb 10, 2015
    Posts:
    118
    This thread has become a bit of a zombie, coming back to life periodically. I've started a new thread to better handle issues, fixes, updates, and tips here:

    http://forum-old.unity3d.com/threads/speedtree-for-unity-5.415561/

    Update for our SpeedTrees on the Unity asset store:

    Some of our packages were incorrectly labeled as incompatible with earlier versions of Unity 5.x All our SpeedTrees are compatible with Unity 5.0.0+

    For Trees purchased via our store at Store.SpeedTree.com we are in the process of replacing our .zip files with Unity packages for added convenience. These will be added to the store over the coming weeks.
     
    Marco-Sperling and docsavage like this.
  25. IEI_Aaron

    IEI_Aaron

    Joined:
    Jun 24, 2013
    Posts:
    3
    Since you work at Speedtree you might have an answer for this. If I place Terrain grass with Speedtree and Bake Nav Mesh, it will cut out the Nav where the grass is. How to I get ST and Unity to not do this? I have looked EVERYWHERE for an answer and there doesn't seem to be one. Help please?
     
  26. chingwa

    chingwa

    Joined:
    Dec 4, 2009
    Posts:
    3,784
    Remove the geometry collider on the grass prefab?