Search Unity

  1. We are migrating the Unity Forums to Unity Discussions. On July 12, the Unity Forums will become read-only.

    Please, do not make any changes to your username or email addresses at id.unity.com during this transition time.

    It's still possible to reply to existing private message conversations during the migration, but any new replies you post will be missing after the main migration is complete. We'll do our best to migrate these messages in a follow-up step.

    On July 15, Unity Discussions will become read-only until July 18, when the new design and the migrated forum contents will go live.


    Read our full announcement for more information and let us know if you have any questions.

3D Rocky Hills Environment Pack - Development Thread

Discussion in 'Art Assets In Progress' started by florianalexandru05, Jan 23, 2016.

  1. florianalexandru05

    florianalexandru05

    Joined:
    Mar 31, 2014
    Posts:
    1,850
    That's right, and I looked a bit at other vegetation shaders and I think the best way to to it is in another UV set or with a detail mask. I might use vertex position Y.

    Anyway here is a first look at The Toby Foliage Engine. Work is still in progress, especially the tree wind but it's good enough to showcase. I wanted to do a quick comparison with the Vegetation Engine, both in wind and shading. (Note this is in Built-in deferred)

    This shader is made to work by default with any model, vertex painting might not be needed but is optional. The wind even works with the model setup for the Vegetation engine despite intending a different setup so the shader does everything automatically. Still, if the wind looks a bit wonky and branches in the video seem to disconnect that's why. There is no vertex green in those models which I actually needed for my shader to work properly but I'm thinking of doing that automatically in the shader as well.

    Performance stats will come later.

     
  2. florianalexandru05

    florianalexandru05

    Joined:
    Mar 31, 2014
    Posts:
    1,850
    Just realized the "gentil" typo in my vid, curse my Latin habits! Anyway here are some HQ screenshots of the nice gradient shading.

    Shading_01.jpg

    Shading_02b.jpg

    Shading_03.jpg

    And I suppose people are waiting for a performance comparisson. Here is a quick snapshot, comparing with TVE deferred shader, it's mostly the same however, this is not a fair comparison as I have everything set to ON and this is not a good scene for performance tests. With only one wind phase on, the performance is much greater at least 5 to 20 fps more and I have yet to optimize anything or tap into the full potential of the shader yet. I believe I can save up to 30fps more by making some changes.

    Performance_01.jpg

    I will come back with proper performance tests after I finished the shaders.
     
  3. florianalexandru05

    florianalexandru05

    Joined:
    Mar 31, 2014
    Posts:
    1,850
    Here are more amazing screenshots of the beautiful TTFE shading.

    Unity_TTFE_01.jpg Unity_TTFE_02.jpg Unity_TTFE_03.jpg Unity_TTFE_04.jpg Unity_TTFE_05.jpg
     
  4. stigmamax

    stigmamax

    Joined:
    Jun 30, 2014
    Posts:
    327
    The RHEF_CaveTop prefab is missing but I got it from the Light package.
     
    florianalexandru05 likes this.
  5. florianalexandru05

    florianalexandru05

    Joined:
    Mar 31, 2014
    Posts:
    1,850
    The official benchmark map is in the works! (When finished it will be available as a build)
    I have too many distractions this month to be able to focus on finishing the shader so I'm having some fun in the meantime.

    screen_7680x3636_2023-08-13_18-15-2001.jpg screen_7680x3636_2023-08-13_18-15-2002.jpg screen_7680x3636_2023-08-13_18-15-2003.jpg screen_7680x3636_2023-08-13_18-15-2004.jpg
     
  6. florianalexandru05

    florianalexandru05

    Joined:
    Mar 31, 2014
    Posts:
    1,850
    Working on the wind global controllers, 90% done!

    Screenshot_1.jpg
     
  7. florianalexandru05

    florianalexandru05

    Joined:
    Mar 31, 2014
    Posts:
    1,850
    Given the situation with Unity right now I want to announce that after careful consideration I'll finish this asset and continue making assets for Unity while also working with the Unreal engine moving forward!

    See you in the next update!
     
  8. stigmamax

    stigmamax

    Joined:
    Jun 30, 2014
    Posts:
    327
    I hear a lot about Godot these days. You know ?
     
    florianalexandru05 likes this.
  9. florianalexandru05

    florianalexandru05

    Joined:
    Mar 31, 2014
    Posts:
    1,850
    I think Godot has potential but I'm afraid it doesn't attract me because of the lack of features and other issues I have with it. It doesn't seem to be ready for AAA 3D development yet. I remember waiting 10min to import a 4k texture plus it compiled twice. I have no idea if this has been resolved yet but it was the main issue that turned me off. That being said I see it getting as big as Unity at some point. Have you tried it? What are your thoughts?
     
  10. stigmamax

    stigmamax

    Joined:
    Jun 30, 2014
    Posts:
    327
    no because this is the first time I've heard of it. I read this in the forums following the Unity problems
     
  11. florianalexandru05

    florianalexandru05

    Joined:
    Mar 31, 2014
    Posts:
    1,850
    I actually tried it before, back in 2017 because I wasn't happy with Unity. At first, I was impressed but then I started to notice all the shortcomings and issues I had personally with it so I never looked back at it but if you aren't very pretentious you might actually find it fits your needs, give it a try.
     
  12. stigmamax

    stigmamax

    Joined:
    Jun 30, 2014
    Posts:
    327
    I don't code, I mainly use Playmaker on Unity. so for me it's Unity + Playmaker or Unreal, but given my age, I don't want to start a new engine.
     
  13. florianalexandru05

    florianalexandru05

    Joined:
    Mar 31, 2014
    Posts:
    1,850
    I feel the same, for me it's also Unity or Unreal but given that I'm selling assets I might just try the ones that have an open store.
     
  14. stigmamax

    stigmamax

    Joined:
    Jun 30, 2014
    Posts:
    327
    you sell assets, but do you also make games?
     
  15. florianalexandru05

    florianalexandru05

    Joined:
    Mar 31, 2014
    Posts:
    1,850
    I was considering it but I don't think I could do it on my own. I collaborated with someone on a game once but that's about it so I'm just sticking to selling assets for now.
     
  16. florianalexandru05

    florianalexandru05

    Joined:
    Mar 31, 2014
    Posts:
    1,850
  17. florianalexandru05

    florianalexandru05

    Joined:
    Mar 31, 2014
    Posts:
    1,850
    Behold, The Toby Foliage Engine! Quick Renders in Unity.

    TTFE_WIPx2_01.jpg
    TTFE_WIPx2_02.jpg TTFE_WIPx2_03.jpg TTFE_WIPx2_04.jpg TTFE_WIPx2_05.jpg
     
    Last edited: Dec 28, 2023
  18. florianalexandru05

    florianalexandru05

    Joined:
    Mar 31, 2014
    Posts:
    1,850
    Behold, The Toby Foliage Engine! Quick Renders in Unity 2.

    TTFE_WIPx2_06.jpg TTFE_WIPx2_07.jpg TTFE_WIPx2_08.jpg TTFE_WIPx2_09.jpg TTFE_WIPx2_10.jpg
     
  19. florianalexandru05

    florianalexandru05

    Joined:
    Mar 31, 2014
    Posts:
    1,850
    Improved the shading a tiny bit, now the mobile grass has specular.

    screen_3840x2160_2023-09-29_03.jpg
    screen_3840x2160_2023-09-29_02.jpg

    And tested with GI probes.
    screen_3840x2160_2023-09-29_01 - Copy 2.jpg
     
  20. florianalexandru05

    florianalexandru05

    Joined:
    Mar 31, 2014
    Posts:
    1,850
    Second look at The Toby Foliage Engine. Work is still in progress (Note this is in Built-in deferred). A quick look at shading, seasons, and wind.

     
  21. florianalexandru05

    florianalexandru05

    Joined:
    Mar 31, 2014
    Posts:
    1,850
    Just finished all the trees, it was a real pain because I made them by hand hence I took so long.

    Shurb Trees.jpg
     
  22. adifrank

    adifrank

    Joined:
    Dec 11, 2017
    Posts:
    26
    Looks good.
     
    florianalexandru05 likes this.
  23. florianalexandru05

    florianalexandru05

    Joined:
    Mar 31, 2014
    Posts:
    1,850
    Letting you all know I am working on the map and it is going well.

    screen_3840x2160_2023-11-03_18-46-05.jpg
     

    Attached Files:

  24. florianalexandru05

    florianalexandru05

    Joined:
    Mar 31, 2014
    Posts:
    1,850
    screen_3840x2160_2023-11-03_19-56-24.jpg
     

    Attached Files:

  25. stigmamax

    stigmamax

    Joined:
    Jun 30, 2014
    Posts:
    327
    I use the Asset GPU Instancer but half of the trees are invisible as are the rocks
     
  26. florianalexandru05

    florianalexandru05

    Joined:
    Mar 31, 2014
    Posts:
    1,850
    Do you mean the GPU instancing checkbox on the material? Do you have any errors, that's strange? (same Unity version?)
     
  27. stigmamax

    stigmamax

    Joined:
    Jun 30, 2014
    Posts:
    327
  28. stigmamax

    stigmamax

    Joined:
    Jun 30, 2014
    Posts:
    327
    on a test scene it works, but not on my big project. I keep looking...
     
  29. florianalexandru05

    florianalexandru05

    Joined:
    Mar 31, 2014
    Posts:
    1,850
    That's strange, at the moment I don't have a clue, looks like something is wrong with the scene or something else. Worth investigating further...
     
  30. adifrank

    adifrank

    Joined:
    Dec 11, 2017
    Posts:
    26
    How's the progress ? Still on track to releasing before year end?
     
  31. florianalexandru05

    florianalexandru05

    Joined:
    Mar 31, 2014
    Posts:
    1,850
    It's almost finished and I'm reaching the optimization phase but I think I'll delay it a bit further until I'm satisfied, it's still unfinished atm. Might release it next year and I think I'll give it another month or two from now but we'll see, hope it's sooner. I'm going to be posting an update soon!
     
    adifrank likes this.
  32. florianalexandru05

    florianalexandru05

    Joined:
    Mar 31, 2014
    Posts:
    1,850
    screen_3840x2160_2023-11-28_18-23-29.jpg

    Hi guys, thanks for being patient with me! I was about to come up with a quick proof video of my work in its final stages but nowadays YouTube is turning all my videos into mush for some reason so I decided to wait a bit longer. I'll be back again soon!
    _____________

    Last (TTFE) roadmap!
    • Main shaders (grass and tree): 92% (overall already functional)
    • Main Wind gizmo and global controllers: 0%
    • Models: 80%
    • Scenes: 86%
    • Optimization: NA
    To do:
    • Main Wind gizmo and global controllers (Have to code this)
    • Shrubs and bushes + Trees
    • Aspen trees (2)
    • Extra example scenes (small ones)
    • Optimization and testing
    • Make a build
    • Advertisement
    • Publish
    _____________

    New (TTFE) roadmap! 12.17.2023
    • Main shaders (grass and tree): 98% (overall already functional)
    • Main Wind gizmo and global controllers: 97%
    • Models: 100%
    • Scenes: 98%
    • Optimization: NA

    To do:
    • Main Wind gizmo and global controllers (Have to code this)
    • Shrubs and bushes + Trees
    • Aspen trees (2)
    • Extra example scenes (small ones) 97%
    • Optimization and testing 80%
    • Make a build (Tested a few builds so far)
    • Advertisement
    • Publish

    Overall progress: 98% Complete
     
    adifrank likes this.
  33. florianalexandru05

    florianalexandru05

    Joined:
    Mar 31, 2014
    Posts:
    1,850
    Final wind version for the "Toby Foliage Shader" system. Enjoy the quick preview until the next update! Now we can focus on the optimization.

     
  34. florianalexandru05

    florianalexandru05

    Joined:
    Mar 31, 2014
    Posts:
    1,850
  35. florianalexandru05

    florianalexandru05

    Joined:
    Mar 31, 2014
    Posts:
    1,850
    Now I'm working on optimization after finishing the shaders!
     
    adifrank likes this.
  36. florianalexandru05

    florianalexandru05

    Joined:
    Mar 31, 2014
    Posts:
    1,850
    I think I'm on track with the release date. I just finished optimizing my grass shader, only the tree shader is left. It might look a bit overwhelming at first glance but I made everything as readable as possible so anyone who uses ASE can break this down and use the components.

    The wind direction gizmo has been scrapped since it was causing low performance and I was manipulating world space to rotate the wind, not very efficient and not the right way to do it, unfortunately.


    My performance is pretty good so far but I think I'll add mobile version two just in case. Will be back with a new showcase soon!

    TTFE_Ase_01.png TTFE_Ase_02.png TTFE_Ase_03.png
     
    adifrank likes this.
  37. adifrank

    adifrank

    Joined:
    Dec 11, 2017
    Posts:
    26
    Which release date you are targeting ? This looks complicated but hope it looks and works great.
     
    florianalexandru05 likes this.
  38. florianalexandru05

    florianalexandru05

    Joined:
    Mar 31, 2014
    Posts:
    1,850
    Late February, or early March.

    Thanks, it's as complex as it can get for basics but not that complicated. Looks wise I'd say I did a pretty good job. Just finished optimizing my tree shaders, now to just quickly look at the non-foilage shaders and write my scripts.
     
    adifrank likes this.
  39. BornGodsGame

    BornGodsGame

    Joined:
    Jun 28, 2014
    Posts:
    587
    This looks really good and unified. If I can make a small suggestion, maybe a video where the wind is turned down a good bit. It is difficult to really see the details with everything blowing so fast.
     
    florianalexandru05 likes this.
  40. florianalexandru05

    florianalexandru05

    Joined:
    Mar 31, 2014
    Posts:
    1,850
    Thanks, there's no doubt it looks and feels great and the performance is pretty good. I'm on track and I might publish it this month depending on how things go. I'll come back with some videos showing slower wind as you suggested, in the meantime, here are some shots in different lighting conditions.

    SSGI ON
    TTFE_ShootF_01.jpg

    DEFAULT
    TTFE_ShootF_02.jpg

    FROM TOP
    TTFE_ShootF_03.jpg

    SPECULAR
    TTFE_ShootF_04.jpg
     
    Last edited: Feb 24, 2024
  41. florianalexandru05

    florianalexandru05

    Joined:
    Mar 31, 2014
    Posts:
    1,850
    Good news, the project is 100% finished and functional, now I'm just cleaning it up and getting it ready, coding my scenes, adding final touches, etc. The only thing left is the global controller which needs some edits and changes. I might publish in a few weeks or sometime this month, I can't give a precise estimate but I'm making promotional materials now. In the meantime, I will have to do some more tests as well.
     
    adifrank likes this.
  42. florianalexandru05

    florianalexandru05

    Joined:
    Mar 31, 2014
    Posts:
    1,850
    The Toby Foliage Engine - Pre-release Preview



    Quick preview of "The Toby Foliage Engine" for Unity 3d. Made 100% in the Amplify Shader Editor, simple yet complex but elegant, TTFE is a single pivot wind and shading system that tries to emulate multiple pivots per mesh. Versatile and simple to use, no vertex painting is required for the shaders to work on any model you drag and drop in Unity.

    Features: Two wind types; gentle and strong, wind animation mask via shader, PBR shading, self-lighting, season, color change, and more.
    ---

    I might delay the release a little bit so I can polish and do more testing.
     
  43. florianalexandru05

    florianalexandru05

    Joined:
    Mar 31, 2014
    Posts:
    1,850
    So I'm having some issues with the global controller, for whatever reason there's latency when moving the sliders in big scenes. Does anyone have any idea why that could be, I'm not a coder. This is my code, the controller changes 4 shaders at once, could that be the problem?

    Code (CSharp):
    1. using System.Collections.Generic;
    2. using UnityEngine;
    3.  
    4. namespace TobyFredson
    5. {
    6.  
    7.     [ExecuteInEditMode]
    8.     public class TobyGlobalShadersController : MonoBehaviour
    9.     {
    10.  
    11.         #region Inspector Fields
    12.  
    13.         [SerializeField]
    14.         private TobyWindType windType;
    15.  
    16.         [SerializeField]
    17.         [Range(0f, 1f)]
    18.         private float windStrength;
    19.  
    20.         [SerializeField]
    21.         [Range(1f, 3f)]
    22.         private float windSpeed;
    23.  
    24.         [Space]
    25.  
    26.         [SerializeField]
    27.         [Range(-2f, 2f)]
    28.         private float season;
    29.  
    30.         #endregion //Inspector Fields
    31.  
    32.         #region Private Fields
    33.  
    34.         protected TobyShaderValuesModel cachedAppliedValue;
    35.  
    36.         private readonly List<Material> matsGrassFoliage = new List<Material>();
    37.         private readonly List<Material> matsTreeBark = new List<Material>();
    38.         private readonly List<Material> matsTreeFoliage = new List<Material>();
    39.         private readonly List<Material> matsTreeBillboard = new List<Material>();
    40.  
    41.         #endregion //Private Fields
    42.  
    43.         #region Unity Callbacks
    44.  
    45.         protected void Start() => RefreshList();
    46.  
    47.         protected void Update()
    48.         {
    49.             ApplyValues(GetNewValues());
    50.         }
    51.  
    52.         #endregion //Unity Callbacks
    53.  
    54.         #region Public API
    55.  
    56.         [ContextMenu("TobyFredson - Refresh")]
    57.         public virtual void Refresh()
    58.         {
    59.             RefreshList();
    60.             ApplyValues(GetNewValues(), true);
    61.         }
    62.  
    63.         #endregion //Public API
    64.  
    65.         #region Client Impl
    66.  
    67.         protected virtual void RefreshList()
    68.         {
    69.             matsGrassFoliage.Clear();
    70.             matsTreeBark.Clear();
    71.             matsTreeFoliage.Clear();
    72.             matsTreeBillboard.Clear();
    73.  
    74.             var renderers = FindObjectsOfType<Renderer>();
    75.  
    76.             foreach (var ren in renderers)
    77.             {
    78.                 var mats = ren.sharedMaterials;
    79.  
    80.                 foreach (var mat in mats)
    81.                 {
    82.                     RegisterMaterial(mat);
    83.                 }
    84.             }
    85.         }
    86.  
    87.         protected virtual void RegisterMaterial(Material mat)
    88.         {
    89.             if ((mat == null) || (mat.shader == null))
    90.             {
    91.                 return;
    92.             }
    93.  
    94.             if (mat.shader.name.Equals(TobyConstants.SHADER_NAME_GRASS_FOLIAGE))
    95.             {
    96.                 matsGrassFoliage.Add(mat);
    97.             }
    98.             else if (mat.shader.name.Equals(TobyConstants.SHADER_NAME_TREE_BARK))
    99.             {
    100.                 matsTreeBark.Add(mat);
    101.             }
    102.             else if (mat.shader.name.Equals(TobyConstants.SHADER_NAME_TREE_FOLIAGE))
    103.             {
    104.                 matsTreeFoliage.Add(mat);
    105.             }
    106.             else if (mat.shader.name.Equals(TobyConstants.SHADER_NAME_TREE_BILLBOARD))
    107.             {
    108.                 matsTreeBillboard.Add(mat);
    109.             }
    110.         }
    111.  
    112.         protected virtual void ApplyValues(
    113.             TobyShaderValuesModel model, bool isForced = false)
    114.         {
    115.             if ((matsGrassFoliage.Count == 0) && (matsTreeBark.Count == 0)
    116.                 && (matsTreeFoliage.Count == 0))
    117.             {
    118.                 return;
    119.             }
    120.  
    121.             if (!isForced && cachedAppliedValue.Equals(model))
    122.             {
    123.                 return;
    124.             }
    125.  
    126.             //Debug.Log($"{GetType().Name}.ApplyValues(): Test call isForced: {isForced}", gameObject);
    127.  
    128.             var mats = new List<Material>();
    129.             mats.AddRange(matsTreeFoliage);
    130.             mats.AddRange(matsTreeBark);
    131.             mats.AddRange(matsGrassFoliage);
    132.             mats.AddRange(matsTreeBillboard);
    133.  
    134.             foreach (var mat in mats)
    135.             {
    136.                 ApplyValuesToMaterial(mat, model);
    137.             }
    138.  
    139.             cachedAppliedValue = model;
    140.         }
    141.  
    142.         private void ApplyValuesToMaterial(Material mat, TobyShaderValuesModel model)
    143.         {
    144.             SetShaderVariable(mat,
    145.                         TobyConstants.SHADER_VAR_FLOAT_SEASON, model.season);
    146.             SetShaderVariable(mat,
    147.                 TobyConstants.SHADER_VAR_FLOAT_WIND_STRENGTH, model.windStrength);
    148.             SetShaderVariable(mat,
    149.                 TobyConstants.SHADER_VAR_FLOAT_WIND_SPEED, model.windSpeed);
    150.  
    151.             switch (model.windType)
    152.             {
    153.                 case TobyWindType.GentleBreeze:
    154.                     {
    155.                         mat.EnableKeyword(TobyConstants.SHADER_WIND_TYPE_VALUE_GENTLEBREEZE);
    156.  
    157.                         mat.DisableKeyword(TobyConstants.SHADER_WIND_TYPE_VALUE_STRONGWIND);
    158.                         mat.DisableKeyword(TobyConstants.SHADER_WIND_TYPE_VALUE_WINDOFF);
    159.                         break;
    160.                     }
    161.                 case TobyWindType.StrongWind:
    162.                     {
    163.                         mat.EnableKeyword(TobyConstants.SHADER_WIND_TYPE_VALUE_STRONGWIND);
    164.  
    165.                         mat.DisableKeyword(TobyConstants.SHADER_WIND_TYPE_VALUE_GENTLEBREEZE);
    166.                         mat.DisableKeyword(TobyConstants.SHADER_WIND_TYPE_VALUE_WINDOFF);
    167.                         break;
    168.                     }
    169.                 case TobyWindType.WindOff:
    170.                     {
    171.                         mat.EnableKeyword(TobyConstants.SHADER_WIND_TYPE_VALUE_WINDOFF);
    172.  
    173.                         mat.DisableKeyword(TobyConstants.SHADER_WIND_TYPE_VALUE_GENTLEBREEZE);
    174.                         mat.DisableKeyword(TobyConstants.SHADER_WIND_TYPE_VALUE_STRONGWIND);
    175.                         break;
    176.                     }
    177.             }
    178.         }
    179.  
    180.         protected void SetShaderVariable(Material mat, string shaderVar, float value)
    181.             => mat.SetFloat(shaderVar, value);
    182.  
    183.         protected void SetShaderToggle(Material mat, string shaderToggle, bool value)
    184.         {
    185.             if (value)
    186.             {
    187.                 mat.EnableKeyword(shaderToggle);
    188.             }
    189.             else
    190.             {
    191.                 mat.DisableKeyword(shaderToggle);
    192.             }
    193.         }
    194.  
    195.         protected TobyShaderValuesModel GetNewValues()
    196.         {
    197.             var newModel = new TobyShaderValuesModel();
    198.  
    199.             newModel.season = season;
    200.  
    201.             newModel.windType = windType;
    202.             newModel.windStrength = windStrength;
    203.             newModel.windSpeed = windSpeed;
    204.  
    205.             return newModel;
    206.         }
    207.  
    208.         #endregion //Client Impl
    209.  
    210.     }
    211.  
    212. }
    Code (CSharp):
    1. namespace TobyFredson
    2. {
    3.  
    4.     public static class TobyConstants
    5.     {
    6.  
    7.         //Shader Names
    8.  
    9.         public const string SHADER_NAME_GRASS_FOLIAGE = "(TTFE) Grass Foliage";
    10.         public const string SHADER_NAME_TREE_BARK = "(TTFE) Tree Bark";
    11.         public const string SHADER_NAME_TREE_FOLIAGE = "(TTFE) Tree Foliage";
    12.         public const string SHADER_NAME_TREE_BILLBOARD = "(TTFE) Tree Billboard";
    13.  
    14.         //Variables
    15.  
    16.         public const string SHADER_VAR_FLOAT_SEASON = "_SeasonChangeGlobal";
    17.  
    18.         public const string SHADER_VAR_FLOAT_WIND_TYPE = "_WindType";
    19.  
    20.         public const string SHADER_VAR_FLOAT_WIND_STRENGTH = "_GlobalWindStrength";
    21.  
    22.         public const string SHADER_VAR_FLOAT_WIND_SPEED = "_StrongWindSpeed";
    23.  
    24.         //Wind Type values
    25.  
    26.         public const string SHADER_WIND_TYPE_VALUE_STRONGWIND = "_WINDTYPE_STRONGWIND";
    27.         public const string SHADER_WIND_TYPE_VALUE_GENTLEBREEZE = "_WINDTYPE_GENTLEBREEZE";
    28.         public const string SHADER_WIND_TYPE_VALUE_WINDOFF = "_WINDTYPE_WINDOFF";
    29.  
    30.  
    31.     }
    32.  
    33. }
    Code (CSharp):
    1. namespace TobyFredson
    2. {
    3.  
    4.     public struct TobyShaderValuesModel
    5.     {
    6.  
    7.         public float season;
    8.  
    9.         public TobyWindType windType;
    10.         public float windStrength;
    11.         public float windSpeed;
    12.     }
    13.  
    14.     public enum TobyWindType
    15.     {
    16.         GentleBreeze,
    17.         StrongWind,
    18.         WindOff,
    19.     }
    20.  
    21. }
     
  44. florianalexandru05

    florianalexandru05

    Joined:
    Mar 31, 2014
    Posts:
    1,850
    One other thing I'm struggling with right now is GPU instancing. I made extensive tests of all types but it seems they are unreliable since it works differently for someone else testing the same thing as if instancing is broken for me and only works with terrain trees. For the other person not having it on makes performance worse while for me it's the reverse. I'm very confused about this. (Testes were made in a built-in pipeline, I know for a fact in URP the SRP batcher is better)
     
  45. florianalexandru05

    florianalexandru05

    Joined:
    Mar 31, 2014
    Posts:
    1,850
    Performance tests are over and conclusive, it might appear like the shaders are bloated with features and that could make it slower but that is not the case and the performance is stellar compared to other top vegetation shaders. I'm pretty satisfied and hope that so will you. :) I'm on the final stretch working on publishing but I'm sure I won't be making it this month so in March hopefully soon.
     
  46. florianalexandru05

    florianalexandru05

    Joined:
    Mar 31, 2014
    Posts:
    1,850
    The pack is ready for publishing, now I'm working on adding URP and HDRP compatibility. Perhaps it will hit the store sooner.
     
  47. adifrank

    adifrank

    Joined:
    Dec 11, 2017
    Posts:
    26
    Great looking forward to it.
     
    florianalexandru05 likes this.
  48. florianalexandru05

    florianalexandru05

    Joined:
    Mar 31, 2014
    Posts:
    1,850
    Awesome, just a little bit more, can't give an exact date but maybe around the 15th. I am writing the documentation and converting it to URP, it was easy but for HDRP I will have to make some small changes as some things won't work the same way, should't take very long. I think I will take a break during the weekend and get back after, I'm a bit burned out.
     
    adifrank likes this.
  49. florianalexandru05

    florianalexandru05

    Joined:
    Mar 31, 2014
    Posts:
    1,850
    Having to change a few things in HDRP but overall it works well. In the meantime enjoy some HDRP pix.

    screen_3840x2160_2024-03-09_21-40-01.jpg screen_3840x2160_2024-03-09_21-42-40.jpg screen_3840x2160_2024-03-09_21-53-33.jpg
     
    Zimnel likes this.
  50. florianalexandru05

    florianalexandru05

    Joined:
    Mar 31, 2014
    Posts:
    1,850
    screen_3840x2160_2024-03-10_13-03-10.jpg
    screen_3840x2160_2024-03-10_13-07-17.jpg screen_3840x2160_2024-03-10_13-08-00.jpg
     
    Last edited: Mar 10, 2024
    Zimnel and adifrank like this.