visualdesigncafe / nature-renderer

Nature Renderer is a plugin for the Unity game engine to efficiently render vegetation on your terrains.
https://visualdesigncafe.com/nature-renderer/
0 stars 0 forks source link

Nature Renderer doesn't recognize terrain #5

Closed NoelWidmer closed 6 months ago

NoelWidmer commented 6 months ago

Describe the bug The Nature Renderer component doesn't recognize the terrain. Note that this was working before and stopped working about a week ago. I have deleted the "Visual Design Cafe" directory and reimported the package multiple times without improving the situation.

To Reproduce This happens 100% in my project with any terrain (even new ones). But I cannot reproduce it in a new project.

Expected behavior I would expect to be able to add detail meshes to the Nature Renderer component. Instead I see the message "No terrain found".

Screenshots This is what the issue looks like: image

The demo scene is also unable to be run. the loading bars in the game view just keep loading on a black background and I get warnings. The scene view does not show any vegetation: image

Project:

System:

maxplooi commented 6 months ago

Thank you for reporting this issue. This can potentially happen if the device or platform does not support procedural instancing, there is currently no specific error message for that scenario. I have added a warning message to the inspector for the next update.

To verify whether your device supports procedural instancing, can you add the following script to your project and then run Tools > Print System Info from the menu in the Unity editor?

using UnityEngine;
using VisualDesignCafe.Rendering.Nature;

public class PrintSystemInfo
{
    [UnityEditor.MenuItem( "Tools/Print System Info" )]
    public static void Print()
    {
        Debug.Log(
            "System supports procedural instancing: "
                + NatureRendererUtility.SystemSupportsProceduralInstancing() );
    }
}

If everything is supported then you will see a message printed in the console with "true", otherwise "false". If you believe your hardware should support procedural instancing then could you double check that the active platform for your project is one that is supported? (Generally, every platform except for WebGL, you can check the list of supported platforms)

NoelWidmer commented 6 months ago

Thank you for solving this mystery. I knew that WebGL is not supported since I also deploy to WebGL for playtest purposes. I read it in the docs and I experienced it myself while testing. But I wasn't aware that this limitation also applies to my Editor running on Windows while the selected platform is WebGL.

This also explains while it suddenly stopped working.

The adjusted message will be useful fur future developers and would have helped me too. Thank you!