Search Unity

Nature Renderer: Better terrain detail rendering ✅ PBR ✅ Custom Shaders ✅ Shadows ✅ Wind ✅ SRP

Discussion in 'Assets and Asset Store' started by Visual-Design-Cafe, Oct 3, 2019.

  1. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    Glad to hear it is working. Tweaking a material property forces it to get validated, refreshing the internal properties. There was probably some outdated value saved in the material that got refreshed when editing it.

    Adding game objects in the scene is already functional, but we are doing some more UX improvements before we add it publicly :)

    This shouldn't be happening. They only reimport if the plugins changed or if the shaders did not import correctly. Is there any message in the console when this happens?
     
  2. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    It's an issue with the meta files. I recommend to delete the plugin files and then import the latest version, that should fix the issue. Let me know if it doesn't and I'll look into it for you.
     
  3. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    Thank you!

    The URP (and HDRP) features needed shader updates and an update for the internal rendering API to work correctly in Unity 2021, which is why they are mentioned specifically on the roadmap. Note that these features are supported by URP/HDRP by default, it is not a Nature Renderer specific thing. We just had to fully support these features.

    The built-in render pipeline does not have features like SSAO by default, so there is nothing for Nature Renderer to support. If you have a custom shader/tool that renders SSAO in the built-in render pipeline then it will most likely work fine with Nature Renderer.

    The roadmap has not yet been updated since the update was released. Everything on the roadmap mentioned under "What's coming in the next update" is available now. I'll update the roadmap later this week.
     
    SammmZ and PutridEx like this.
  4. Harekelas

    Harekelas

    Joined:
    Feb 3, 2015
    Posts:
    864
    Got this error when trying to build in Unity 2021.3.4f1c1

    ArgumentException: The Assembly VisualDesignCafe.ShaderX.Editor is referenced by VisualDesignCafe.Nature.Editor ('Assets/Visual Design Cafe/Nature Shaders/Plugins/VisualDesignCafe.Nature.Editor.dll'). But the dll is not allowed to be included or could not be found.
    UnityEditor.AssemblyHelper.AddReferencedAssembliesRecurse (System.String assemblyPath, System.Collections.Generic.List`1[T] alreadyFoundAssemblies, System.String[] allAssemblyPaths, System.String[] foldersToSearch, System.Collections.Generic.Dictionary`2[TKey,TValue] cache, UnityEditor.BuildTarget target) (at <df1a03ec30c146379d803c850c515d48>:0)
    UnityEditor.AssemblyHelper.FindAssembliesReferencedBy (System.String[] paths, System.String[] foldersToSearch, UnityEditor.BuildTarget target) (at <df1a03ec30c146379d803c850c515d48>:0)
    UnityEngine.GUIUtility:processEvent(Int32, IntPtr, Boolean&)

    And I've checked the import settings of VisualDesignCafe.Rendering.Nature.Editor and VisualDesignCafe.ShaderX.Editor, they both are only included with Editor
    upload_2022-6-30_17-50-43.png

    upload_2022-6-30_17-51-0.png

    I'm using Nature Rednerer 1.5.2.
    Any ideas?
     
  5. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    Looks like this might be an issue in Unity itself. If the import settings only have "Editor" selected as platform then there should not be any possibility of this error happening. I recommend to report this as a bug to Unity and also try a different Unity version. I'll look into it as well to see if we can reproduce it here.
     
  6. Harekelas

    Harekelas

    Joined:
    Feb 3, 2015
    Posts:
    864
    Ok, thanks, I'll try to upgrade to the latest LTS version and try again.
     
  7. Harekelas

    Harekelas

    Joined:
    Feb 3, 2015
    Posts:
    864
    Is it possible for me to remove the editor dlls before I build my game? They should not affect the functions of Nature Renderer apart from editor GUIs right?
     
  8. HighKeys

    HighKeys

    Joined:
    Jan 6, 2016
    Posts:
    29
    Hi there,

    i updated to the new 2021 Version of NatureRenderer, seems that it got some performance issues at the moment, i created a terrain (1000x1000) and did NOT add vegetation yet, but when i activate NatureRenderer my fps drops about 15frames.

    I tried to profile this but just leads me to "Semaphore.WaitForSignal", i tried to use the GPU Profiler but maybe i did something wrong but it just shows me "Other" as time consuming.

    Any idea what could cause this?

    I didn't notice this with NR 2020
     
  9. Bwacky

    Bwacky

    Joined:
    Nov 2, 2016
    Posts:
    206
    Is there any scripting API yet on how we can access the values of the scripts in DLL form? I want to access the Nature Renderer Camera Settings - Render Distance via script and have a button control the range from 0 to 500, but I can't figure out how to reference the render distance.
    Trying to add it via an event (as on the screenshot) just shows it as <MISSING> for some reason.
    Any advice/help on this?

     
  10. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    You can set the value with a script:
    Code (CSharp):
    1. using VisualDesignCafe.Rendering.Nature;
    2.  
    3. var settings = GetComponent<NatureRendererCameraSettings>();
    4. settings.RenderDistance = 200f;
    I don't think it will work if you directly set it from a Unity event, the value of the slider is not the same type as the value of the render distance property, which is a nullable float. If you need to set it from an event then you can add a custom script with a wrapper function. Something like this:
    Code (CSharp):
    1. using VisualDesignCafe.Rendering.Nature;
    2.  
    3. void UpdateRenderDistance( float value )
    4. {
    5.     var settings = GetComponent<NatureRendererCameraSettings>();
    6.     settings.RenderDistance = value;
    7. }
    Then, you can use UpdateRenderDistance in the On Value Changed event of the slider.

    Edit: Just to clarify. The "RenderDistance" property in NatureRendererCameraSettings is a nullable type. If a value is set then the RenderDistance is overridden in the settings, if the value is set to "null" then the render distance is not overridden.
     
  11. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    It should be possible, although I have not specifically tested it. Before that, I recommend to remove all the plugins and install them again. If for any reasons the meta files got corrupted then a clean install should fix it.
     
  12. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    Do you have any detail objects/trees registered on the terrain? Nature Renderer might be issuing empty draw calls if you have vegetation registered without placing anything.

    Can you report it as a bug with more details and reproduction steps: https://support.visualdesigncafe.com/hc/en-us/requests/new
    Then I'll look into it for you to see if it is fixable.
     
  13. HighKeys

    HighKeys

    Joined:
    Jan 6, 2016
    Posts:
    29
    Hi there,

    yes i prepared the assets i want to use on the terrain, then this is the reason, thank you.

    i also submitted a Bug Report yesterday for another issue i'm facing.

    Thanks for your support
     
  14. Zappyy

    Zappyy

    Joined:
    Jun 9, 2018
    Posts:
    40
    Hello, I would like to be able to chop down trees with my own scripts attached to trees/prefabs. Is this possible with Nature Renderer?
     
  15. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    You can use the regular Unity terrain API to remove trees, it is not possible to directly attach a script to a tree.
    TerrainData.treeInstances can be used to get all the trees on the terrain so that you can find the specific tree that needs to be chopped down. Then you can remove the tree from the list and use TerrainData.SetTreeInstances to refresh it on the terrain. If you need an animation of the tree falling down then you can spawn a new tree game object at the same location as the removed tree, and play an animation on the new tree.
     
  16. Zappyy

    Zappyy

    Joined:
    Jun 9, 2018
    Posts:
    40
    Okay so if I remove the tree from the terrain at runtime then Nature Renderer will detect the change and not render it anymore? That sounds great thanks.
     
  17. Rastapastor

    Rastapastor

    Joined:
    Jan 12, 2013
    Posts:
    589
    Is it a known bug in NR 2021 that I cant get past certain range for grass rendering? I think its like capped at 50 meters or so.

    I added the component for object rendering settings on my prefab, set to 100 and is till render "close to" camera, like 50 meters or even less.
     
  18. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    There's no limit, but your grass may be fading out due to mip mapping of the texture. I recommend to select the grass texture and enable Mip Map Preserve Coverage in the import settings.

    Otherwise, there may be a fade setting in the material of the grass. Nature Shaders has a fade setting that defaults to 50 units, you can change it in the material of the grass: https://v3.visualdesigncafe.com/nature-shaders/docs/2021/material-editor#transparency
    I believe that Nature Renderer 2021 currently does not automatically override this value, I'll have to fix that.
     
  19. Rastapastor

    Rastapastor

    Joined:
    Jan 12, 2013
    Posts:
    589
    It was me beeing stupid xD, there was a lod group on grass and I was totaly blind that the culling % was too high xD. All works great.
     
  20. MaddGameStudio

    MaddGameStudio

    Joined:
    Sep 3, 2021
    Posts:
    13
    This new version of Nature Renderer has a serious memory usage issue, my PC has 64GB of ram and often times I am getting 99% ram usage and even frequent crashes. Also when I place grass from the Realistic Medows Asset, they float off the ground on slopes.
     
  21. MaddGameStudio

    MaddGameStudio

    Joined:
    Sep 3, 2021
    Posts:
    13
    In relation to this question, after i cut down a tree, Nature render takes about a minute to refresh and remove the tree, is there anyway to do it faster?
     
  22. Rastapastor

    Rastapastor

    Joined:
    Jan 12, 2013
    Posts:
    589
    Not sure what happened, but Vegetation Engine grass stopped rendering after new update. There is no error in console.

    Vegetation Engine Trees render with no issues.

    Its on HDRP

    I noticed that Draw is disabled on Terrain i have to manualy force check it...was it changed in recent update that NR disables rendering on terrain ?
     

    Attached Files:

    • tt.png
      tt.png
      File size:
      6.1 KB
      Views:
      159
    Last edited: Jul 12, 2022
  23. Bwacky

    Bwacky

    Joined:
    Nov 2, 2016
    Posts:
    206
    New update has a few bugs, URP has disappearing details for example. Revert to the prior version for the time being and make a bug report if possible. Downgrading worked just fine and the update only added minor fixes for Nature Shaders and something related to Mac.
     
  24. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    Could you let me know what steps/actions you did before the memory issues/crash? It's not something that I can reproduce here and it is not a known issue, so any information would help a lot so that I can look into it for you.

    Can you share the code that you use to remove the tree? It should be near instant to reload and refresh Nature Renderer. We might have missed an edge case that is causing the slow refresh for you. If you can share the code then I'll look into it for you.
     
  25. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    The draw is disabled to ensure that Unity's default renderer is disabled. Nature Renderer takes over the rendering, so the default renderer should be disabled.

    Could you check that you have the latest version of both Nature Renderer and Nature Shaders Essentials in your project? The Vegetation Engine uses a bit of an outdated integration that relies on Nature Shaders, so the issue may be caused by an outdated version of Nature Shaders Essentials.

    Also, please double-check that you have Nature Renderer enabled for the Vegetation Engine shaders in the settings of Vegetation Engine. You can follow the documentation of The Vegetation Engine for how to do this.
     
  26. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    Thank you for letting me know about this, the bug sneaked through our tests. I just published a hotfix for this and a few related issues. You can go to Help > Nature Renderer > Check for Updates to download it. (it's version 2021.1.3)
    Please give it a try.

    By the way, thank you for writing the detailed review. Could you let me know what specific topics you would like to be added to the documentation? I'll be working on extending the docs in 1-2 weeks, so any feedback for things to add would be great.
     
    Bwacky likes this.
  27. Rastapastor

    Rastapastor

    Joined:
    Jan 12, 2013
    Posts:
    589
    Update to 2021.1.3 resolved my issues with HDRP too. Now the grass renders correctly. Thanks.
     
    Visual-Design-Cafe likes this.
  28. Bwacky

    Bwacky

    Joined:
    Nov 2, 2016
    Posts:
    206
    Regarding the documentation, finding it somewhere in an easier-to-grab place would be cool to have, as the documentation site only links to the old 2020 version for the time being, with no 2021 as you can see.


    As for topics that would be great to have, would be a page about ways to just hook onto the values and properties of NR.
    I'm very much a beginner programmer, so what I'm saying might appear dumb to more experienced coders, but I had to bother you for help to figure out how to access something as simple as the RenderDistance value.
    Visual Studio never showed a RenderDistance property and I can't open the script to take a look at the values myself due to the nature of the file, so even having a list of properties we can access via code would be great (unless it exists somewhere already and I just can't find it).
     
  29. Bwacky

    Bwacky

    Joined:
    Nov 2, 2016
    Posts:
    206
    Also, forgot to ask, but where are the trees and grass used in the NR2021 scene from? Would love to get my hands on the trees.
     
  30. Necka_

    Necka_

    Joined:
    Jan 22, 2018
    Posts:
    488
    Hello,
    after years of using a very famous competitor's asset, I now switched to Nature Renderer 2021.
    To be honest I didn't dig too much, it does look neat so far outside of the Demo scene slowing down the whole editor like crazy (performances are ok in play mode in full screen but again, did not dig too much)

    While I do understand that the basic Unity terrain workflow and scripting API works, I did hope to find some helpers components to make life of non programmers easier.

    One example was discussed just above, removing terrain details/trees in some conditions.

    One component that comes to my mind is a Vegetation remover. You add an object (mesh or not) draw points around it and select that it removes/cull details or trees. Very fast workflow for your customers who can add this component to their regular mesh prefabs (spawn a house there: automatic removal of the trees and grass under it)

    I personally have no clue on how to do that with Unity API (yet)

    Now on the topic you mentioned above: documentation

    Well it would be great to have an API documentation. You maybe don't have to list everything possible but at least some convenient methods/properties that can be accessed and modified at runtime (or some sort of FAQ with "How to do this or that")

    I'll now spend more time with this system combined with Vegetation Engine. I do believe Nature Renderer is a solid system. I'm just missing the points mentioned above :)
     
  31. MaddGameStudio

    MaddGameStudio

    Joined:
    Sep 3, 2021
    Posts:
    13
    Hello, how do I fix the grass floating off the ground? Specifically the Grass Patch from the Realistic Medows asset.
     
  32. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    Thanks for pointing that out, I missed those links when updating the docs. They should point to the latest version now.

    That's a good suggestion. I have updated the current articles with some basic API info on how to access the settings and properties. This is mainly for the settings components such as: https://v3.visualdesigncafe.com/nature-renderer/docs/2021/object-settings#scripting-api

    I'll update the website with more API info and examples in the coming weeks. It requires some changes to the website code to implement proper API docs, so it needs to wait a bit until our web developer has the time for it.
     
    Bwacky likes this.
  33. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    That's a good suggestion, thank you. I'll add some example scripts to the demo. It may take a few weeks until they are ready though.
     
    Necka_ likes this.
  34. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    For Realistic Meadow in specific, I recommend to use the smaller grass patches on steep areas of the terrain. (Variant 1 and Variant 2 of all the patches are small and can be used on steep areas). The larger patches can float a bit because it is a single mesh.

    Also, please make sure that you add them as detail objects and not as trees. Trees don't get aligned to the terrain surface, detail objects do get aligned properly.
     
  35. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    The grass and small plants are from Realistic Meadow: https://assetstore.unity.com/packages/3d/vegetation/realistic-meadow-2021-ground-vegetation-221264
    The trees are from Unity's free terrain demo: https://assetstore.unity.com/packages/3d/environments/unity-terrain-hdrp-demo-scene-213198
    The trees were converted with Nature Shaders to work in all render pipelines: https://assetstore.unity.com/packages/vfx/shaders/nature-shaders-2021-221248
     
    Bwacky likes this.
  36. MaddGameStudio

    MaddGameStudio

    Joined:
    Sep 3, 2021
    Posts:
    13

    https://drive.google.com/file/d/1fGvYLUHObrLwlGiypnfywJwXspQNKVxh/view?usp=sharing

    Is there a way to convert the existing grass on the terrain to detail objects, because when I originally got the Realistic Medow asset your website said to add them as trees instead of detail objects because Unity does not support LODs for details (I attached a link of where this process was mentioned above) but now it seems like they need to be details, but I already placed a whole bunch as trees. Some type of conversion tool would be great to move the existing grass to details since you have now changed that process. It also seems like this was a big part of the memory and lag issue I was experiencing in another post.
     
    Last edited: Jul 21, 2022
  37. Ailrau

    Ailrau

    Joined:
    Feb 5, 2017
    Posts:
    24
    Getting these errors on runtime and game will be not playable only build not in editor

    Unity 2021.3.6f1 + Nature Renderer 2021

    Code (CSharp):
    1. NullReferenceException
    2.   at (wrapper managed-to-native) UnityEngine.Terrain.get_editorRenderFlags(UnityEngine.Terrain)
    3.   at VisualDesignCafe.Rendering.Nature.TerrainTreeStreamer.GetBuffersForCellsInRange (UnityEngine.Camera camera, System.Double range, System.Collections.Generic.List`1[T] buffers) [0x00001] in <1f0d2368e0d2488b951f65d2fb97eb2b>:0
    4.   at VisualDesignCafe.Rendering.Instancing.CameraRenderer.RenderObject (VisualDesignCafe.Rendering.Instancing.CameraRenderer+ObjectRenderData obj, VisualDesignCafe.Rendering.Instancing.SceneRenderSettings& sceneSettings) [0x0025e] in <556180418c03414ca74574f833fdd880>:0
    5.   at VisualDesignCafe.Rendering.Instancing.CameraRenderer.Render () [0x0008b] in <556180418c03414ca74574f833fdd880>:0
    6.   at VisualDesignCafe.Rendering.Instancing.FrameRenderer.OnBeginContextRendering (UnityEngine.Rendering.ScriptableRenderContext context, System.Collections.Generic.List`1[T] cameras) [0x00046] in <556180418c03414ca74574f833fdd880>:0
    7.   at (wrapper delegate-invoke) System.Action`2[UnityEngine.Rendering.ScriptableRenderContext,System.Collections.Generic.List`1[UnityEngine.Camera]].invoke_void_T1_T2(UnityEngine.Rendering.ScriptableRenderContext,System.Collections.Generic.List`1<UnityEngine.Camera>)
    8.   at UnityEngine.Rendering.RenderPipelineManager.BeginContextRendering (UnityEngine.Rendering.ScriptableRenderContext context, System.Collections.Generic.List`1[T] cameras) [0x00022] in <fbf5779b092846b08cf20985bc90dcd0>:0
    9.   at UnityEngine.Rendering.RenderPipeline.BeginContextRendering (UnityEngine.Rendering.ScriptableRenderContext context, System.Collections.Generic.List`1[T] cameras) [0x00001] in <fbf5779b092846b08cf20985bc90dcd0>:0
    10.   at UnityEngine.Rendering.Universal.UniversalRenderPipeline.Render (UnityEngine.Rendering.ScriptableRenderContext renderContext, System.Collections.Generic.List`1[T] cameras) [0x0001a] in <cff98358cc0a4b0d90f0ed6e1a8b8e9c>:0
    11.   at UnityEngine.Rendering.RenderPipeline.InternalRender (UnityEngine.Rendering.ScriptableRenderContext context, System.Collections.Generic.List`1[T] cameras) [0x0001c] in <fbf5779b092846b08cf20985bc90dcd0>:0
    12.   at UnityEngine.Rendering.RenderPipelineManager.DoRenderLoop_Internal (UnityEngine.Rendering.RenderPipelineAsset pipe, System.IntPtr loopPtr, System.Collections.Generic.List`1[T] renderRequests) [0x00043] in <fbf5779b092846b08cf20985bc90dcd0>:0
     
  38. TanselAltinel

    TanselAltinel

    Joined:
    Jan 7, 2015
    Posts:
    190
    Code (CSharp):
    1. Obtained 68 stack frames
    2. 0x00007ff627dc7bd7 (Unity) TerrainDataScriptingInterface::ComputeDetailInstanceTransforms
    3. 0x00007ff626af07c6 (Unity) TerrainData_CUSTOM_ComputeDetailInstanceTransforms
    4. 0x00000214fafddb4e (Mono JIT Code) (wrapper managed-to-native) UnityEngine.TerrainData:ComputeDetailInstanceTransforms (UnityEngine.TerrainData,int,int,int,single,UnityEngine.Bounds&)
    5. 0x00000214fafdd003 (Mono JIT Code) [TerrainGrassSpawner.cs:43] VisualDesignCafe.Rendering.Nature.TerrainGrassSpawner:Spawn (int,int,int,int,int,single,VisualDesignCafe.Rendering.Instancing.InstanceMatrix[]&,single&,single&)
    6. 0x00000214fafdca8b (Mono JIT Code) [TerrainGrassStreamer.cs:315] VisualDesignCafe.Rendering.Nature.TerrainGrassStreamer:LoadCell (int,VisualDesignCafe.Rendering.Instancing.InstanceStreamer/Cell&)
    7. 0x00000214fafdae63 (Mono JIT Code) [TerrainGrassStreamer.cs:263] VisualDesignCafe.Rendering.Nature.TerrainGrassStreamer:UpdateLoadCellsAsync (int&)
    8. 0x00000214fafdac4b (Mono JIT Code) [TerrainGrassStreamer.cs:187] VisualDesignCafe.Rendering.Nature.TerrainGrassStreamer:GetBuffersForCellsInRange (UnityEngine.Camera,double,System.Collections.Generic.List`1<VisualDesignCafe.Rendering.Instancing.InstanceBuffer>)
    9. 0x00000214f9f6c1b2 (Mono JIT Code) [CameraRenderer.cs:336] VisualDesignCafe.Rendering.Instancing.CameraRenderer:RenderObject (VisualDesignCafe.Rendering.Instancing.CameraRenderer/ObjectRenderData,VisualDesignCafe.Rendering.Instancing.SceneRenderSettings&)
    10. 0x00000214f9f6b4e3 (Mono JIT Code) [CameraRenderer.cs:277] VisualDesignCafe.Rendering.Instancing.CameraRenderer:Render ()
    11. 0x00000214d0e9db43 (Mono JIT Code) [FrameRenderer.cs:24] VisualDesignCafe.Rendering.Instancing.FrameRenderer:OnBeginContextRendering (UnityEngine.Rendering.ScriptableRenderContext,System.Collections.Generic.List`1<UnityEngine.Camera>)
    12. 0x00000214d0e9ddfc (Mono JIT Code) (wrapper delegate-invoke) System.Action`2<UnityEngine.Rendering.ScriptableRenderContext, System.Collections.Generic.List`1<UnityEngine.Camera>>:invoke_void_T1_T2 (UnityEngine.Rendering.ScriptableRenderContext,System.Collections.Generic.List`1<UnityEngine.Camera>)
    13. 0x00000214d3eeff51 (Mono JIT Code) UnityEngine.Rendering.RenderPipelineManager:BeginContextRendering (UnityEngine.Rendering.ScriptableRenderContext,System.Collections.Generic.List`1<UnityEngine.Camera>)
    14. 0x00000214d3eefe43 (Mono JIT Code) UnityEngine.Rendering.RenderPipeline:BeginContextRendering (UnityEngine.Rendering.ScriptableRenderContext,System.Collections.Generic.List`1<UnityEngine.Camera>)
    15. 0x00000214d3ee77cb (Mono JIT Code) [HDRenderPipeline.cs:1125] UnityEngine.Rendering.HighDefinition.HDRenderPipeline:Render (UnityEngine.Rendering.ScriptableRenderContext,System.Collections.Generic.List`1<UnityEngine.Camera>)
    16. 0x00000214d3ee66e9 (Mono JIT Code) UnityEngine.Rendering.RenderPipeline:InternalRender (UnityEngine.Rendering.ScriptableRenderContext,System.Collections.Generic.List`1<UnityEngine.Camera>)
    17. 0x00000214abdd1913 (Mono JIT Code) UnityEngine.Rendering.RenderPipelineManager:DoRenderLoop_Internal (UnityEngine.Rendering.RenderPipelineAsset,intptr,System.Collections.Generic.List`1<UnityEngine.Camera/RenderRequest>,Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle)
    18. 0x00000214abdd1b78 (Mono JIT Code) (wrapper runtime-invoke) <Module>:runtime_invoke_void_object_intptr_object_AtomicSafetyHandle (object,intptr,intptr,intptr)
    19. 0x00007ff98d1ce4b4 (mono-2.0-bdwgc) [mini-runtime.c:3445] mono_jit_runtime_invoke
    20. 0x00007ff98d10e764 (mono-2.0-bdwgc) [object.c:3066] do_runtime_invoke
    21. 0x00007ff98d10e8fc (mono-2.0-bdwgc) [object.c:3113] mono_runtime_invoke
    22. 0x00007ff62752dac4 (Unity) scripting_method_invoke
    23. 0x00007ff627528644 (Unity) ScriptingInvocation::Invoke
    24. 0x00007ff627163fdf (Unity) ScriptableRenderContext::ExtractAndExecuteRenderPipeline
    25. 0x00007ff628f9d727 (Unity) Camera::ExecuteCustomRenderPipeline
    26. 0x00007ff628fa0093 (Unity) Camera::RenderEditorCamera
    27. 0x00007ff628fa19b5 (Unity) Camera::RenderEditorCamera
    28. 0x00007ff626bec8ef (Unity) Handles_CUSTOM_Internal_DrawCameraWithGrid
    29. 0x00000215a40c5918 (Mono JIT Code) (wrapper managed-to-native) UnityEditor.Handles:Internal_DrawCameraWithGrid (UnityEngine.Camera,UnityEditor.DrawCameraMode,UnityEditor.DrawGridParameters&,bool,bool)
    30. 0x00000215a40b25a3 (Mono JIT Code) UnityEditor.Handles:DrawCameraImpl (UnityEngine.Rect,UnityEngine.Camera,UnityEditor.DrawCameraMode,bool,UnityEditor.DrawGridParameters,bool,bool,bool,UnityEngine.GameObject[])
    31. 0x00000215a40b2023 (Mono JIT Code) UnityEditor.Handles:DrawCameraStep1 (UnityEngine.Rect,UnityEngine.Camera,UnityEditor.DrawCameraMode,UnityEditor.DrawGridParameters,bool,bool)
    32. 0x00000215a40af0b3 (Mono JIT Code) UnityEditor.SceneView:DoDrawCamera (UnityEngine.Rect,UnityEngine.Rect,bool&)
    33. 0x00000215a40a21db (Mono JIT Code) UnityEditor.SceneView:DoOnGUI ()
    34. 0x00000215a40a149b (Mono JIT Code) UnityEditor.SceneView:OnSceneGUI ()
    35. 0x00000214a85a84af (Mono JIT Code) UnityEngine.UIElements.IMGUIContainer:DoOnGUI (UnityEngine.Event,UnityEngine.Matrix4x4,UnityEngine.Rect,bool,UnityEngine.Rect,System.Action,bool)
    36. 0x00000214a85a775b (Mono JIT Code) UnityEngine.UIElements.IMGUIContainer:HandleIMGUIEvent (UnityEngine.Event,UnityEngine.Matrix4x4,UnityEngine.Rect,System.Action,bool)
    37. 0x00000214a87e947b (Mono JIT Code) UnityEngine.UIElements.IMGUIContainer:DoIMGUIRepaint ()
    38. 0x00000214a87e78f4 (Mono JIT Code) UnityEngine.UIElements.UIR.RenderChainCommand:ExecuteNonDrawMesh (UnityEngine.UIElements.UIR.DrawParams,single,System.Exception&)
    39. 0x00000214a87e5ddb (Mono JIT Code) UnityEngine.UIElements.UIR.UIRenderDevice:EvaluateChain (UnityEngine.UIElements.UIR.RenderChainCommand,UnityEngine.Material,UnityEngine.Material,UnityEngine.Texture,UnityEngine.Texture,single,Unity.Collections.NativeSlice`1<UnityEngine.UIElements.UIR.Transform3x4>,Unity.Collections.NativeSlice`1<UnityEngine.Vector4>,UnityEngine.MaterialPropertyBlock,bool,System.Exception&)
    40. 0x00000214a87e2483 (Mono JIT Code) UnityEngine.UIElements.UIR.RenderChain:Render ()
    41. 0x00000214a877e353 (Mono JIT Code) UnityEngine.UIElements.UIRRepaintUpdater:Update ()
    42. 0x00000214a85899de (Mono JIT Code) UnityEngine.UIElements.VisualTreeUpdater:UpdateVisualTreePhase (UnityEngine.UIElements.VisualTreeUpdatePhase)
    43. 0x00000214a87564fb (Mono JIT Code) UnityEngine.UIElements.Panel:UpdateForRepaint ()
    44. 0x00000214a8754f8b (Mono JIT Code) UnityEngine.UIElements.Panel:Repaint (UnityEngine.Event)
    45. 0x00000214a858923f (Mono JIT Code) UnityEngine.UIElements.UIElementsUtility:DoDispatch (UnityEngine.UIElements.BaseVisualElementPanel)
    46. 0x00000214a8588f53 (Mono JIT Code) UnityEngine.UIElements.UIElementsUtility:UnityEngine.UIElements.IUIElementsUtility.ProcessEvent (int,intptr,bool&)
    47. 0x00000214a8588d0f (Mono JIT Code) UnityEngine.UIElements.UIEventRegistration:ProcessEvent (int,intptr)
    48. 0x00000214a8588c2b (Mono JIT Code) UnityEngine.UIElements.UIEventRegistration/<>c:<.cctor>b__1_2 (int,intptr)
    49. 0x00000214a8588a7d (Mono JIT Code) UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)
    50. 0x00000214a8588b36 (Mono JIT Code) (wrapper runtime-invoke) <Module>:runtime_invoke_void_int_intptr_intptr& (object,intptr,intptr,intptr)
    51. 0x00007ff98d1ce4b4 (mono-2.0-bdwgc) [mini-runtime.c:3445] mono_jit_runtime_invoke
    52. 0x00007ff98d10e764 (mono-2.0-bdwgc) [object.c:3066] do_runtime_invoke
    53. 0x00007ff98d10e8fc (mono-2.0-bdwgc) [object.c:3113] mono_runtime_invoke
    54. 0x00007ff62752dac4 (Unity) scripting_method_invoke
    55. 0x00007ff627528644 (Unity) ScriptingInvocation::Invoke
    56. 0x00007ff627521f65 (Unity) ScriptingInvocation::Invoke<void>
    57. 0x00007ff62762aeba (Unity) Scripting::UnityEngine::GUIUtilityProxy::ProcessEvent
    58. 0x00007ff628065e86 (Unity) GUIView::ProcessRetainedMode
    59. 0x00007ff6285adceb (Unity) GUIView::OnInputEvent
    60. 0x00007ff628065c9a (Unity) GUIView::ProcessInputEvent
    61. 0x00007ff6285a6a8e (Unity) GUIView::DoPaint
    62. 0x00007ff6285afead (Unity) GUIView::RepaintAll
    63. 0x00007ff628139bd7 (Unity) PlayerLoopController::UpdateScene
    64. 0x00007ff628137bdf (Unity) Application::TickTimer
    65. 0x00007ff6285837aa (Unity) MainMessageLoop
    66. 0x00007ff62858805b (Unity) WinMain
    67. 0x00007ff62990b42e (Unity) __scrt_common_main_seh
    68. 0x00007ff9fe6054e0 (KERNEL32) BaseThreadInitThunk
    69. 0x00007ff9ff2a485b (ntdll) RtlUserThreadStart
    70.  
    Would this be helpful?

    My project is very large and my terrain has very dense vegetation / detail objects. It is usually fine, but if I ever try to move the camera too fast, i.e. double click on an object which is far away, Unity crashes.

    Unity 2021.3.6 & NR 2021.1.3 with Nature Shaders.
     
    MaddGameStudio likes this.
  39. SunnySunshine

    SunnySunshine

    Joined:
    May 18, 2009
    Posts:
    976
    Hi there @Visual-Design-Cafe,

    Very happy with Nature Shaders 2021.

    I'm wondering if there's a way to bake ambient occlusion for tree assets in nature shaders? Or if not, is there a way for nature shaders to consider pre-baked ambient occlusion? What's the best practices?

    All the best.
     
  40. MaddGameStudio

    MaddGameStudio

    Joined:
    Sep 3, 2021
    Posts:
    13
    Can you share the code that you use to remove the tree? It should be near instant to reload and refresh Nature Renderer. We might have missed an edge case that is causing the slow refresh for you. If you can share the code then I'll look into it for you.[/QUOTE]

    public void Delete(GameObject felledTree, GameObject stump)
    {
    Terrain terrain = Terrain.activeTerrain;
    List<TreeInstance> trees = new List<TreeInstance>(terrain.terrainData.treeInstances);

    Vector3 thisTreePos = Vector3.Scale(terrain.terrainData.GetTreeInstance(terrainIndex).position, terrain.terrainData.size) + Terrain.activeTerrain.transform.position;
    Vector3 thisTreePosStump = Vector3.Scale(terrain.terrainData.GetTreeInstance(terrainIndex).position, terrain.terrainData.size) + Terrain.activeTerrain.transform.position;
    thisTreePos.y = thisTreePos.y + 21;

    fellTree = Instantiate(felledTree, thisTreePos, Quaternion.Euler(-90f, 0f, 0f)) as GameObject;
    marker = Instantiate(stump, thisTreePosStump, Quaternion.identity) as GameObject;
    trees[terrainIndex] = new TreeInstance();
    terrain.terrainData.treeInstances = trees.ToArray();

    Destroy(gameObject);
    }

    This script is attached to a collider which is added to each tree at the time of loading the game. My Terrain currently has over 110,000 trees this number will likely increase to 200,000 before release, so I need this feature to work without lag.
     
    Last edited: Jul 28, 2022
  41. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    Thank you for reporting this, the issue should be fixed in the latest update (2021.1.4) that was just released. You can go to Help > Nature Renderer > Check for Updates to download it.
     
  42. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    We looked into it and we could reproduce this issue on terrains that are not square. Unity's internal API was throwing this error when trying to load a section of the terrain that was outside of the terrain bounds. It has been fixed now in version 2021.1.4. Can you try updating by going to Help > Nature Renderer > Check for Updates?
     
    TanselAltinel likes this.
  43. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    There is no way to convert trees to detail objects unless you use a custom script. If you have a lot of objects to convert and you can't make a custom script then let me know and I can help you after the weekend.

    Adding the prefabs as trees is recommended if you are using Unity's default terrain system. If you are using Nature Renderer then you can add them as detail objects (this is mentioned on the same page in the documentation).

    To clarify:

    Unity + Trees: ✔️ LOD works, ❌ but objects are not aligned to the terrain.
    Unity + Detail Objects: ❌ LOD does not work, ❌ details are not aligned to the terrain.
    Nature Renderer + Trees: ✔️ LOD works, ❌ but objects are not aligned to the terrain.
    Nature Renderer + Detail Objects: ✔️ LOD Works, ✔️ and detail objects are aligned to the terrain.
     
  44. MaddGameStudio

    MaddGameStudio

    Joined:
    Sep 3, 2021
    Posts:
    13
    Its fine, i have already deleted all the grass and re added them as detail objects, it was was quicker than expected because details paint faster than trees. The issue I have that is pressing is that trees still lag about 2.5 secs before being removed in the editor, but weirdly enough they are not being removed in an actual build only in the editor. So I guess I have 2 issues, one being the time to remove the trees the other being that it doesn't work at all in the build.
     
  45. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    There is no official implementation for this yet. You can use the alpha channel of the vertex color for ambient occlusion when using "Unity Tree Creator" as the import format in a Nature Asset, it is already reserved for that usage.

    In the shader you can add
    Code (CSharp):
    1.  
    2. #if defined(_TYPE_TREE_BARK) || defined(_TYPE_TREE_LEAVES)
    3.     output.Occlusion *= input.color.a;
    4. #endif
    5.  
    to use the occlusion. It should be around line 875 of Assets/Visual Design Cafe/Nature Shaders/Templates/Nature Shader.templatex.

    nature-shaders-occlusion.jpg

    An official implementation may be added soon, but I can't promise any specific timeline for when this feature will be available.
     
    SunnySunshine likes this.
  46. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    Thank you for sharing, I have a few additional questions to figure out what the exact cause is:
    • 100,000 - 200,000 trees on a single terrain is a lot. How large is the terrain? You may benefit from splitting up the terrain in multiple smaller terrains so that not everything has to be refreshed when you remove a tree.
      To clarify, when a tree is removed, Nature Renderer has to reload all the trees on the terrain. The only API that unity has is TerrainData.treeInstances which returns all trees of all types, so it is a bit limited how fast Nature Renderer can refresh. Splitting the terrain up will most likely result in much better performance.
    • Do you also have the same issue without Nature Renderer?
    • Could you share a measurement of the performance impact when the tree is refreshed? Does the entire game freeze for a few seconds? Or does the game run fine and the refresh is just delayed?
     
  47. TanselAltinel

    TanselAltinel

    Joined:
    Jan 7, 2015
    Posts:
    190
    I'm sorry, I should've updated my post about it as I've already updated to 2021.1.4 and so far I didn't have any crash.
    Keep up the good work!
     
    Visual-Design-Cafe likes this.
  48. MaddGameStudio

    MaddGameStudio

    Joined:
    Sep 3, 2021
    Posts:
    13
    Before switching to Nature Renderer I was using GPU Instancer with the same script and I had vertually no lag when chopping a Tree, but the slight down side was that with GPUInstancer the frame rate was all over the place, your asset enables a smoother FPS, but the lag when chopping trees is the oly issue right now. The latest build is using Nature Renderer and is currently in the Steam store(Acclimate) so you will be able to see what happens there.
     
  49. DreamcatcherProduciton

    DreamcatcherProduciton

    Joined:
    Sep 29, 2016
    Posts:
    32
    Currently facing an inability to build for Android.

    • OpenXR, Oculus Plug-in, and ARCore Package Manager packages are installed but they are not active in the XR Plug-in Management settings ("Initialize XR on Startup" and the loaders are unchecked).
    • Using Linear Color Space.
    • Using OpenGLES3 with ES3.1, ES3.1+AEP, ES3.2 required.
    • Unity Version 2021.3.6f1.
    • Deferred Shaders disabled ("No Support" selected in the Graphics > Built-in Shader Settings).
    • Building in "Release" mode (no minification).

    Getting the following errors:

    Code (CSharp):
    1. Shader error in 'Nature Shaders/Grass': Non system-generated input signature parameter () cannot appear after a system generated value. at line 3969 (on gles3)
    2.  
    3. Compiling Subshader: 0, Pass: Pass 0, Vertex program with DIRECTIONAL INSTANCING_ON STEREO_MULTIVIEW_ON _COLOR_TINT _LIGHTING_QUALITY_HIGH _SURFACE_MAP_OFF _WIND_OFF
    4. Platform defines: SHADER_API_MOBILE UNITY_FRAMEBUFFER_FETCH_AVAILABLE UNITY_HARDWARE_TIER1 UNITY_LIGHTMAP_RGBM_ENCODING UNITY_NO_CUBEMAP_ARRAY UNITY_NO_DXT5nm UNITY_NO_FULL_STANDARD_SHADER UNITY_NO_RGBM UNITY_NO_SCREENSPACE_SHADOWS UNITY_PASS_FORWARDBASE UNITY_PBS_USE_BRDF3
    5. Disabled keywords: DIRLIGHTMAP_COMBINED DYNAMICLIGHTMAP_ON FOG_EXP FOG_EXP2 FOG_LINEAR LIGHTMAP_ON LIGHTMAP_SHADOW_MIXING LIGHTPROBE_SH LOD_FADE_CROSSFADE PROCEDURAL_INSTANCING_ON SHADER_API_GLES30 SHADOWS_SCREEN SHADOWS_SHADOWMASK UNITY_ASTC_NORMALMAP_ENCODING UNITY_COLORSPACE_GAMMA UNITY_ENABLE_DETAIL_NORMALMAP UNITY_ENABLE_NATIVE_SHADOW_LOOKUPS UNITY_ENABLE_REFLECTION_BUFFERS UNITY_HALF_PRECISION_FRAGMENT_SHADER_REGISTERS UNITY_HARDWARE_TIER2 UNITY_HARDWARE_TIER3 UNITY_LIGHTMAP_DLDR_ENCODING UNITY_LIGHTMAP_FULL_HDR UNITY_LIGHT_PROBE_PROXY_VOLUME UNITY_METAL_SHADOWS_USE_POINT_FILTERING UNITY_PBS_USE_BRDF1 UNITY_PBS_USE_BRDF2 UNITY_PRETRANSFORM_TO_DISPLAY_ORIENTATION UNITY_SPECCUBE_BLENDING UNITY_SPECCUBE_BOX_PROJECTION UNITY_UNIFIED_SHADER_PRECISION_MODEL UNITY_USE_DITHER_MASK_FOR_ALPHABLENDED_SHADOWS UNITY_VIRTUAL_TEXTURING VERTEXLIGHT_ON _ALPHATEST _BAKED_MESH_DATA _COLOR_HSL _EMISSION _LIGHTING_QUALITY_LOW _NORMALMAP _SPECULARHIGHLIGHTS_OFF _SURFACE_MAP_METALLIC_GLOSS _SURFACE_MAP_PACKED _TRANSLUCENCY _TRANSLUCENCY_MAP _WIND

    Code (CSharp):
    1. Shader error in 'Nature Shaders/Grass': Non system-generated input signature parameter () cannot appear after a system generated value. at line 7905 (on gles3)
    2.  
    3. Compiling Subshader: 0, Pass: Pass 1, Vertex program with INSTANCING_ON POINT STEREO_MULTIVIEW_ON _COLOR_TINT _LIGHTING_QUALITY_HIGH _SURFACE_MAP_OFF _WIND_OFF
    4. Platform defines: SHADER_API_MOBILE UNITY_FRAMEBUFFER_FETCH_AVAILABLE UNITY_HARDWARE_TIER2 UNITY_LIGHTMAP_RGBM_ENCODING UNITY_NO_CUBEMAP_ARRAY UNITY_NO_DXT5nm UNITY_NO_RGBM UNITY_NO_SCREENSPACE_SHADOWS UNITY_PASS_FORWARDADD UNITY_PBS_USE_BRDF2
    5. Disabled keywords: DIRECTIONAL DIRECTIONAL_COOKIE FOG_EXP FOG_EXP2 FOG_LINEAR LIGHTMAP_SHADOW_MIXING LOD_FADE_CROSSFADE POINT_COOKIE PROCEDURAL_INSTANCING_ON SHADER_API_GLES30 SHADOWS_CUBE SHADOWS_DEPTH SHADOWS_SCREEN SHADOWS_SHADOWMASK SHADOWS_SOFT SPOT UNITY_ASTC_NORMALMAP_ENCODING UNITY_COLORSPACE_GAMMA UNITY_ENABLE_DETAIL_NORMALMAP UNITY_ENABLE_NATIVE_SHADOW_LOOKUPS UNITY_ENABLE_REFLECTION_BUFFERS UNITY_HALF_PRECISION_FRAGMENT_SHADER_REGISTERS UNITY_HARDWARE_TIER1 UNITY_HARDWARE_TIER3 UNITY_LIGHTMAP_DLDR_ENCODING UNITY_LIGHTMAP_FULL_HDR UNITY_LIGHT_PROBE_PROXY_VOLUME UNITY_METAL_SHADOWS_USE_POINT_FILTERING UNITY_NO_FULL_STANDARD_SHADER UNITY_PBS_USE_BRDF1 UNITY_PBS_USE_BRDF3 UNITY_PRETRANSFORM_TO_DISPLAY_ORIENTATION UNITY_SPECCUBE_BLENDING UNITY_SPECCUBE_BOX_PROJECTION UNITY_UNIFIED_SHADER_PRECISION_MODEL UNITY_USE_DITHER_MASK_FOR_ALPHABLENDED_SHADOWS UNITY_VIRTUAL_TEXTURING _ALPHATEST _BAKED_MESH_DATA _COLOR_HSL _EMISSION _LIGHTING_QUALITY_LOW _NORMALMAP _SPECULARHIGHLIGHTS_OFF _SURFACE_MAP_METALLIC_GLOSS _SURFACE_MAP_PACKED _TRANSLUCENCY _TRANSLUCENCY_MAP _WIND
    6.  

    Code (CSharp):
    1. Shader error in 'Nature Shaders/Grass': Non system-generated input signature parameter () cannot appear after a system generated value. at line 11671 (on gles3)
    2.  
    3. Compiling Subshader: 0, Pass: Pass 2, Vertex program with INSTANCING_ON SHADOWS_DEPTH STEREO_MULTIVIEW_ON _COLOR_TINT _LIGHTING_QUALITY_HIGH _SURFACE_MAP_OFF _WIND_OFF
    4. Platform defines: SHADER_API_MOBILE UNITY_FRAMEBUFFER_FETCH_AVAILABLE UNITY_HARDWARE_TIER1 UNITY_LIGHTMAP_RGBM_ENCODING UNITY_NO_CUBEMAP_ARRAY UNITY_NO_DXT5nm UNITY_NO_FULL_STANDARD_SHADER UNITY_NO_RGBM UNITY_NO_SCREENSPACE_SHADOWS UNITY_PASS_SHADOWCASTER UNITY_PBS_USE_BRDF3
    5. Disabled keywords: LOD_FADE_CROSSFADE PROCEDURAL_INSTANCING_ON SHADER_API_GLES30 SHADOWS_CUBE UNITY_ASTC_NORMALMAP_ENCODING UNITY_COLORSPACE_GAMMA UNITY_ENABLE_DETAIL_NORMALMAP UNITY_ENABLE_NATIVE_SHADOW_LOOKUPS UNITY_ENABLE_REFLECTION_BUFFERS UNITY_HALF_PRECISION_FRAGMENT_SHADER_REGISTERS UNITY_HARDWARE_TIER2 UNITY_HARDWARE_TIER3 UNITY_LIGHTMAP_DLDR_ENCODING UNITY_LIGHTMAP_FULL_HDR UNITY_LIGHT_PROBE_PROXY_VOLUME UNITY_METAL_SHADOWS_USE_POINT_FILTERING UNITY_PBS_USE_BRDF1 UNITY_PBS_USE_BRDF2 UNITY_PRETRANSFORM_TO_DISPLAY_ORIENTATION UNITY_SPECCUBE_BLENDING UNITY_SPECCUBE_BOX_PROJECTION UNITY_UNIFIED_SHADER_PRECISION_MODEL UNITY_USE_DITHER_MASK_FOR_ALPHABLENDED_SHADOWS UNITY_VIRTUAL_TEXTURING _ALPHATEST _BAKED_MESH_DATA _COLOR_HSL _EMISSION _LIGHTING_QUALITY_LOW _NORMALMAP _SPECULARHIGHLIGHTS_OFF _SURFACE_MAP_METALLIC_GLOSS _SURFACE_MAP_PACKED _TRANSLUCENCY _TRANSLUCENCY_MAP _WIND
    6.  

    Code (CSharp):
    1.  
    2. Shader error in 'Nature Shaders/Grass': Non system-generated input signature parameter () cannot appear after a system generated value. at line 15547 (on gles3)
    3. Compiling Subshader: 0, Pass: Pass 3, Vertex program with INSTANCING_ON STEREO_MULTIVIEW_ON _COLOR_TINT _LIGHTING_QUALITY_HIGH _SURFACE_MAP_OFF _WIND_OFF
    4. Platform defines: SHADER_API_MOBILE UNITY_FRAMEBUFFER_FETCH_AVAILABLE UNITY_HARDWARE_TIER1 UNITY_LIGHTMAP_RGBM_ENCODING UNITY_NO_CUBEMAP_ARRAY UNITY_NO_DXT5nm UNITY_NO_FULL_STANDARD_SHADER UNITY_NO_RGBM UNITY_NO_SCREENSPACE_SHADOWS UNITY_PASS_DEFERRED UNITY_PBS_USE_BRDF3
    5. Disabled keywords: DIRLIGHTMAP_COMBINED DYNAMICLIGHTMAP_ON LIGHTMAP_ON LIGHTPROBE_SH LOD_FADE_CROSSFADE PROCEDURAL_INSTANCING_ON SHADER_API_GLES30 SHADOWS_SHADOWMASK UNITY_ASTC_NORMALMAP_ENCODING UNITY_COLORSPACE_GAMMA UNITY_ENABLE_DETAIL_NORMALMAP UNITY_ENABLE_NATIVE_SHADOW_LOOKUPS UNITY_ENABLE_REFLECTION_BUFFERS UNITY_HALF_PRECISION_FRAGMENT_SHADER_REGISTERS UNITY_HARDWARE_TIER2 UNITY_HARDWARE_TIER3 UNITY_HDR_ON UNITY_LIGHTMAP_DLDR_ENCODING UNITY_LIGHTMAP_FULL_HDR UNITY_LIGHT_PROBE_PROXY_VOLUME UNITY_METAL_SHADOWS_USE_POINT_FILTERING UNITY_PBS_USE_BRDF1 UNITY_PBS_USE_BRDF2 UNITY_PRETRANSFORM_TO_DISPLAY_ORIENTATION UNITY_SPECCUBE_BLENDING UNITY_SPECCUBE_BOX_PROJECTION UNITY_UNIFIED_SHADER_PRECISION_MODEL UNITY_USE_DITHER_MASK_FOR_ALPHABLENDED_SHADOWS UNITY_VIRTUAL_TEXTURING _ALPHATEST _BAKED_MESH_DATA _COLOR_HSL _EMISSION _LIGHTING_QUALITY_LOW _NORMALMAP _SPECULARHIGHLIGHTS_OFF _SURFACE_MAP_METALLIC_GLOSS _SURFACE_MAP_PACKED _TRANSLUCENCY _TRANSLUCENCY_MAP _WIND

    Code (CSharp):
    1.  
    2. Shader error in 'Nature Shaders/Grass': Non system-generated input signature parameter () cannot appear after a system generated value. at line 19474 (on gles3)
    3. Compiling Subshader: 0, Pass: Pass 4, Vertex program with INSTANCING_ON STEREO_MULTIVIEW_ON _COLOR_TINT _LIGHTING_QUALITY_HIGH _SURFACE_MAP_OFF _WIND_OFF
    4. Platform defines: SHADER_API_MOBILE UNITY_FRAMEBUFFER_FETCH_AVAILABLE UNITY_HARDWARE_TIER1 UNITY_LIGHTMAP_RGBM_ENCODING UNITY_NO_CUBEMAP_ARRAY UNITY_NO_DXT5nm UNITY_NO_FULL_STANDARD_SHADER UNITY_NO_RGBM UNITY_NO_SCREENSPACE_SHADOWS UNITY_PASS_META UNITY_PBS_USE_BRDF3
    5. Disabled keywords: EDITOR_VISUALIZATION LOD_FADE_CROSSFADE PROCEDURAL_INSTANCING_ON SHADER_API_GLES30 UNITY_ASTC_NORMALMAP_ENCODING UNITY_COLORSPACE_GAMMA UNITY_ENABLE_DETAIL_NORMALMAP UNITY_ENABLE_NATIVE_SHADOW_LOOKUPS UNITY_ENABLE_REFLECTION_BUFFERS UNITY_HALF_PRECISION_FRAGMENT_SHADER_REGISTERS UNITY_HARDWARE_TIER2 UNITY_HARDWARE_TIER3 UNITY_LIGHTMAP_DLDR_ENCODING UNITY_LIGHTMAP_FULL_HDR UNITY_LIGHT_PROBE_PROXY_VOLUME UNITY_METAL_SHADOWS_USE_POINT_FILTERING UNITY_PBS_USE_BRDF1 UNITY_PBS_USE_BRDF2 UNITY_PRETRANSFORM_TO_DISPLAY_ORIENTATION UNITY_SPECCUBE_BLENDING UNITY_SPECCUBE_BOX_PROJECTION UNITY_UNIFIED_SHADER_PRECISION_MODEL UNITY_USE_DITHER_MASK_FOR_ALPHABLENDED_SHADOWS UNITY_VIRTUAL_TEXTURING _ALPHATEST _BAKED_MESH_DATA _COLOR_HSL _EMISSION _LIGHTING_QUALITY_LOW _NORMALMAP _SPECULARHIGHLIGHTS_OFF _SURFACE_MAP_METALLIC_GLOSS _SURFACE_MAP_PACKED _TRANSLUCENCY _TRANSLUCENCY_MAP _WIND

    Code (CSharp):
    1.  
    2. Shader error in 'Nature Shaders/Grass': Non system-generated input signature parameter () cannot appear after a system generated value. at line 23226 (on gles3)
    3. Compiling Subshader: 0, Pass: Pass 5, Vertex program with INSTANCING_ON STEREO_MULTIVIEW_ON _COLOR_TINT _LIGHTING_QUALITY_HIGH _SURFACE_MAP_OFF _WIND_OFF
    4. Platform defines: SHADER_API_MOBILE UNITY_FRAMEBUFFER_FETCH_AVAILABLE UNITY_HARDWARE_TIER1 UNITY_LIGHTMAP_RGBM_ENCODING UNITY_NO_CUBEMAP_ARRAY UNITY_NO_DXT5nm UNITY_NO_FULL_STANDARD_SHADER UNITY_NO_RGBM UNITY_NO_SCREENSPACE_SHADOWS UNITY_PASS_MOTIONVECTORS UNITY_PBS_USE_BRDF3
    5. Disabled keywords: LOD_FADE_CROSSFADE PROCEDURAL_INSTANCING_ON SHADER_API_GLES30 UNITY_ASTC_NORMALMAP_ENCODING UNITY_COLORSPACE_GAMMA UNITY_ENABLE_DETAIL_NORMALMAP UNITY_ENABLE_NATIVE_SHADOW_LOOKUPS UNITY_ENABLE_REFLECTION_BUFFERS UNITY_HALF_PRECISION_FRAGMENT_SHADER_REGISTERS UNITY_HARDWARE_TIER2 UNITY_HARDWARE_TIER3 UNITY_LIGHTMAP_DLDR_ENCODING UNITY_LIGHTMAP_FULL_HDR UNITY_LIGHT_PROBE_PROXY_VOLUME UNITY_METAL_SHADOWS_USE_POINT_FILTERING UNITY_PBS_USE_BRDF1 UNITY_PBS_USE_BRDF2 UNITY_PRETRANSFORM_TO_DISPLAY_ORIENTATION UNITY_SPECCUBE_BLENDING UNITY_SPECCUBE_BOX_PROJECTION UNITY_UNIFIED_SHADER_PRECISION_MODEL UNITY_USE_DITHER_MASK_FOR_ALPHABLENDED_SHADOWS UNITY_VIRTUAL_TEXTURING _ALPHATEST _BAKED_MESH_DATA _COLOR_HSL _EMISSION _LIGHTING_QUALITY_LOW _NORMALMAP _SPECULARHIGHLIGHTS_OFF _SURFACE_MAP_METALLIC_GLOSS _SURFACE_MAP_PACKED _TRANSLUCENCY _TRANSLUCENCY_MAP _WIND

    It should be noted that I am NOT building from the "Build Settings" window. I am using a custom build script and calling BuildPipeline.BuildPlayer manually. However, even building using the Build Settings window results in the same 6 errors.
     
  50. Visual-Design-Cafe

    Visual-Design-Cafe

    Joined:
    May 23, 2015
    Posts:
    721
    Can you submit a bug report with these details and the version of Nature Renderer and Nature Shaders that you are using? You can submit it here: https://support.visualdesigncafe.com/hc/en-us/requests/new
    Then our support engineer can look into it for you.