Search Unity

[FREE]MicroSplat, a modular terrain shading system for Unity Terrains

Discussion in 'Assets and Asset Store' started by jbooth, Aug 9, 2017.

Thread Status:
Not open for further replies.
  1. ulthien

    ulthien

    Joined:
    Apr 25, 2020
    Posts:
    12
    I actually removed my statement on asset store page after you pointed there is some support somewhere, so i searched and posted here instead.
     
  2. ulthien

    ulthien

    Joined:
    Apr 25, 2020
    Posts:
    12
    And I was in no way rude. It is my duty (as a german engineer) to point out to other people which products do not work.

    If you insist, i can repost this whole "support" style in the review as well?
     
  3. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    So now it's threats to tarnish my review score if I don't do what you want? You really know how to win people over. I don't need people like you in my community or using my products.

    By unity's own rules I am not obligated to give anyone support. My time is not free, and I don't owe you or anyone else it. People who come with respect I will spend my time on. People who come in with disrespect and an attitude of entitlement will be shown the door.

    MicroSplat is shipping in about a dozen quest games, and works fine on the quest. You can't even get your story straight - one minute MicroSplat doesn't work on the quest, the next it does, and in 6 hours between your initial review and the rewrite you somehow spent "2 weeks restructuring your entire app". Maybe you should sell time machines instead of writing software if that's how long it takes you. Or maybe in that two weeks of time you spent, if you had read the documentation, you'd have already answered your own questions. But no, let's blame someone else for our incompetence, then demand they spend their time helping you; then threaten them with bad reviews when they say no.
     
    andrew210 likes this.
  4. ulthien

    ulthien

    Joined:
    Apr 25, 2020
    Posts:
    12
    I am sincerely not sure why you blame me for some kind of "disrespect".
    You attack me for being "rude" though i am not rude at all, nor was I anywhere.

    OTOH, for no clear reason you insult me on and on. I am used to such behaviour only from interrnet trolls so far.

    Still, i trust you to be a genuine developer from what you have written elsewhere & assume you are under a lot of stress, having read your statement about Unity versions from 2018 to 2020 being broken and changing non stop w/o compatibility.

    I will give it a few more days work, as you say, although your intro docu states the stuff i did.

    If you automate stuff and it breaks all over, its your style to blame the consumers lol?

    OK i feel pity with you being overworked etc.

    Will check in a few days more.
     
  5. EveFreeman

    EveFreeman

    Joined:
    Jul 15, 2013
    Posts:
    5
    Hello Jason,
    I hope you are doing well.

    I bought your simple shaders and your better lit shader, and as expected, they have worked flawlessly.
    With that said, I must admit that even though you have made it extremely easy to create custom shaders, my knowledge was much more limited than what I expected and I am still working on learning how to create my own.

    So, I was wondering if you have any examples of billboard type shaders that you would be willing to shared with me.
    Thanks
     
  6. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    You can find examples of these and other effects by looking at surface shader tutorials on the web - the process of converting them to better shaders is pretty easy. I would also suggest Freya's shader tutorials, as she does a very good job of breaking down various concepts and teaching them.
     
    Willbkool_FPCS likes this.
  7. homemacai

    homemacai

    Joined:
    Jul 22, 2020
    Posts:
    74
    Hey there, quick question, I have been thinking on buying the Mesh Terrains Module, but was wondering if the Digger Integration works with it, does it convert the digger caves and overhangs to meshes as well? Thanks!
     
  8. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    No, but digger is already meshes- I believe there's an option to show the game objects it creates in the digger debug menu.
     
    homemacai likes this.
  9. Unlimited_Energy

    Unlimited_Energy

    Joined:
    Jul 10, 2014
    Posts:
    469
    Jason, this is a new personal project Im working on in HDRP. Microsplat looks great as always.
    Terrain For Unity.PNG Canyon rock placement and terrain tesselation.PNG Water added.PNG Better Light matching HDRI sky.PNG
     
    Immu, rockin, ledshok and 4 others like this.
  10. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
  11. chingwa

    chingwa

    Joined:
    Dec 4, 2009
    Posts:
    3,790
    Hi Jason, when I export my MicroSplat terrain to a PC Build I'm running into a problem where the terrain textures are completely scrambled. They get scrambled differently depending on the distance from the camera, but at no point do they show the expected terrain textures. (all looks fine in Editor)



    Any idea what this could be related to?

    I'm using Unity 2019.4.22f1 (Standard Renderer, Deferred), Microsplat Shader Gen 3.8, with only the TerrainBlending module enabled.
     
  12. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    Over the 4gb file size, library corruption, etc.
     
    chingwa likes this.
  13. chingwa

    chingwa

    Joined:
    Dec 4, 2009
    Posts:
    3,790
    4gb limit... whaaaa? I did not realize that was a Unity limitation. I will look into this, thanks!
     
  14. matiasges

    matiasges

    Joined:
    Jan 24, 2021
    Posts:
    142
    Hi. I just wanted to add more terrain textures and as soon as I updated the textures. It did something to the whole textures even the grass. This is how it looks now:

    The grass:




    There are also some (reflections?) or something with a weird shape:
    It's barely noticeable in the picture but is inside the mark area:


    Also this reflections now appears:




    This just happened when I added a new texture and hit the update button.

    I'm using Unity 2020.3.5 standard with the last updated microsplat version.
     
  15. matiasges

    matiasges

    Joined:
    Jan 24, 2021
    Posts:
    142
    I just hit update again and it apparently solved it:




    LOL. Typical, 2 minutes I post an issue the solution comes...
     
  16. Mauri

    Mauri

    Joined:
    Dec 9, 2010
    Posts:
    2,665
    Has been a Unity limitation for years (check this thread). It eventually got (partially improved)/fixed in
    2020.1
    , so you might want to consider upgrading your project if you can as backports weren't possible.
    .
     
  17. chingwa

    chingwa

    Joined:
    Dec 4, 2009
    Posts:
    3,790
    @Mauri thanks. I upgraded to 2020.3 and it all seems to be exporting as expected. Glad Unity finally fixed this issue.
     
  18. ulthien

    ulthien

    Joined:
    Apr 25, 2020
    Posts:
    12
    OK so just a newbie question to anyone willing to answer if Jason is indisposed:

    upload_2021-7-11_12-45-36.png

    Testing how Microsplat performs on a vanilla project for Oculus Quest w Unity 2021.1.11f: this is a Grab Project with a room of grabbable objects (runs at 72 FPS on its own) to which i added example included Microsplat terrain and Skybox from the free Microsplat asset.

    Project settings are as proposed for the VR Oculus - color space linear, 4AA, ASTC etc.
    Seems to be OK with the PC stats showing 5ms rendering for 200sh FPS.... but...

    On the Oculus Quest itself, when i leave the room and walk the terrain, FPS drops to 11-15 FPS and the updates are on the verge of stuttering :(

    I have built my own Unity project before (weeks/months before), with Mixamo walking chars and buildings architecture, terrain and plants, cars etc that runs 25-55 FPS at all times AND JUST WANTED to speed up to needed 72 FPS to avoid nausea.

    Isn't the Microsplat supposed to IMPROVE the terrain rendering performance?

    Thank you in advance, hoping sincerely not to irritate anyone with my newbie (low level) presence/needs/inquiry/post/statement/requirement ....
     
  19. hauwing

    hauwing

    Joined:
    Dec 13, 2017
    Posts:
    69
    Hi, any idea about this error? using 2021.1.12 and URP 11. Just added "Micro Splat Mesh" component to a mesh, converted the material render loop to "URP2020" and this error pop up.

    Microsplat core - 3.8.5.
    Microsplat URP 2020 - 3.8.4
    Microsplat Mesh Workflow - 3.8.0

    Thx.


    upload_2021-7-12_18-47-55.png
     
  20. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    not sure, but I only support lts versions of the render pipelines.
     
  21. fusion242

    fusion242

    Joined:
    May 16, 2014
    Posts:
    17
    If you take a look at the remote profiling window you should be able to identify what is causing the performance drops when on your Oculus at runtime.
     
  22. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    the error listed above is one unity throws when pushing a button caused a long operation to happen- it should have no effect on anything..
     
  23. CaffeinatedCoolaid

    CaffeinatedCoolaid

    Joined:
    May 10, 2021
    Posts:
    59
    I have experienced issues similar before, If I remember correctly they tend to happen when you try to convert existing terrains to microsplat more than once (aka, add component and convert, remove component, add component again and reconvert).

    Check both the terrain settings and microsplat settings and make sure no texture scales got set to zero, re-pack the texture array, put your microsplat shader into bulk edit mode then unselect bulk edit mode (This fixes any compile errors most of the time).
     
  24. DavidBVal

    DavidBVal

    Joined:
    Mar 13, 2017
    Posts:
    206
    I still have exactly the same errors after updating to latest Microsplat, Digger, and integrations. Is this supposed to be fixed?
     
  25. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    mid you are not using the latest patches of unity 2020lts, earlier versions had a bug that would turn the terrain black until you went into play mode and back.
     
    DavidBVal likes this.
  26. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    digger hasn’t been updated to use asmdefs, until it is you’ll have to add a reference to its asmdef files manually
     
    SubT and DavidBVal like this.
  27. ItsaMatt

    ItsaMatt

    Joined:
    Jan 22, 2017
    Posts:
    5
    EDIT: I think I have a good workaround for this now (I modified MicroSplat's terrain shader templates to draw an animated caustics texture onto the mesh, and that works great) - feel free to disregard

    Hi Jason - I recently started using MicroSplat for my Quest 2 project, and I LOVE it. It's incredibly fast, and I love the results it gives. I ended up buying a lot of the addons and have found the whole package to be one of the best tools for Unity. Fantastic work all around.

    I was wondering if you could help me with a caustics effect I'm trying to achieve. In the past, using the built-in pipeline, I used projectors to achieve this effect. I recently switched to the Universal Render Pipeline (URP), which has given me a number of benefits, but projectors are a no-go, and replacing the projector component on URP requires generating a depth texture, which has a big performance cost on mobile devices.

    So I started thinking of more efficient ways to generate caustics. One idea that came to mind was using MicroSplat's emissive layers, which I think gets me closer, but is there a way to only draw the emission based on the height of the terrain? For instance, only draw the emission where y <= waterLevel? Without adding a new texture to the array (my max texture count right now is at 4, and I like the performance I'm getting from that).


    Here's what I have right now. Is it possible to only draw this emission within a certain y range?
    upload_2021-7-15_11-10-9.png

    Any help would be greatly appreciated. Please let me know if I'm going about this the wrong way. Thank you!
     
    Last edited: Jul 16, 2021
  28. iamarugin

    iamarugin

    Joined:
    Dec 17, 2014
    Posts:
    883
    Sorry if it was asked before, how to override Errosion map for procedural texturing for Microsplat Mesh workflow? I see only Cavity map override:
    upload_2021-7-15_23-51-0.png
     
  29. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    Cavity and Erosion are packed into the same texture..
     
  30. iamarugin

    iamarugin

    Joined:
    Dec 17, 2014
    Posts:
    883
    Thank you!
     
  31. iamarugin

    iamarugin

    Joined:
    Dec 17, 2014
    Posts:
    883
    With this settings
    upload_2021-7-26_16-18-55.png

    When Mesh Source UVs set to LightMap UV, generated shader have following errors:
    upload_2021-7-26_16-19-51.png

    Unity 2020.3.12, HDRP 10.5.1
     
  32. iamarugin

    iamarugin

    Joined:
    Dec 17, 2014
    Posts:
    883
    Also could you please describe or point where I can find info about a format how splat weigths stored in the vertex colors in Vertex Mesh workflow? (I am making custom terrain and want to generate that weights by myself)
     
  33. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    there’s no document for this- the easiest way is to look at the packing code in the painter. It packs four weights into each color component; so color.r has the first 4 texture weights, color.g the next 4, etc.
     
  34. superaldo666

    superaldo666

    Joined:
    Aug 30, 2013
    Posts:
    17
    Hello Jason,
    I am very grateful of you work with Microsplat

    I have a silly question after I read all the pages of this thread :]
    is there away to manipulating Per Texture Properties - Metallic parameter in runtime via script? I know I can access to the MicroSplat.mat via MicroSplatTerrain component with something like this:

    Code (CSharp):
    1.           microSplatTerrain.templateMaterial.SetFloat("_LavaEmissiveMult",value);
    2. microSplatTerrain.Sync();
    but is possible to do the same for Per Texture Properties - Metallic parameter ?


    regards,
     
  35. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    There's an API on the MicroSplatPropData object, which you can grab a reference to from the terrain component.
     
  36. gtzpower

    gtzpower

    Joined:
    Jan 23, 2011
    Posts:
    318
    Having some odd lighting issues with my terrain. Any idea what might be causing these squares?
     
  37. superaldo666

    superaldo666

    Joined:
    Aug 30, 2013
    Posts:
    17
    Awesome! found it
    Code (CSharp):
    1. microSplatTerrain.propData.SetValue(4,MicroSplatPropData.PerTexFloat.Metallic,value);
    thank you!
     
  38. gtzpower

    gtzpower

    Joined:
    Jan 23, 2011
    Posts:
    318
    With regard to the lighting issue I posted about above, I have discovered that it happens when there are more than 4 lights on any given area of the terrain. You can reproduce the issue in the "Terrain" scene that ships with MicroSplat by creating 5 spotlights pointing near the same area on the terrain, and as you move one of the lights around, you will see all sorts of oddities like lights appearing to go out, shifting to different locations, etc..

    Would love to find a solution for this if you have one. :)

    Edit: Tested in Unity 2020.3.13f1 and 2020.3.15f2, same issue in both
     
    Last edited: Aug 1, 2021
  39. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    this is likely a unity issue- does it happen with standard terrain?
     
  40. gtzpower

    gtzpower

    Joined:
    Jan 23, 2011
    Posts:
    318
    Indeed it does. Sorry for wasting your time, I should have tried this first!
     
  41. FuhaoXie

    FuhaoXie

    Joined:
    Nov 18, 2016
    Posts:
    26
    Hi Jbooth,
    I update microsplat to 3.8.5 from 3.5 everything goes well, but I find some performance issue.
    RenderTexture size has increased as I profile the build.
    After I dig into this issue. I find this "BaseMap-Hidden/TerrainEngine/Splatmap/...... /_MainTex" Somehow related to microsplat terrain material.
    upload_2021-8-3_23-56-54.png
    And I see you add a tricky code in shader
    // for Unity 2020.3 bug
    _MainTex("Unity Bug", 2D) = "white" {}
    I dont know if this relate to the issue.
     
  42. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    MucroSplat doesn’t use the basemap, but unity will still generates one anyway. It’s only remaining use is they hard coded it to use the basemap for dynamic GI. If you are not using dynamic GI then you can set the basemap size to 8 so they dont take up memory. I used to do this automatically, but don’t anymore since unity hard codes this in their lighting.
     
  43. FuhaoXie

    FuhaoXie

    Joined:
    Nov 18, 2016
    Posts:
    26
    I See~
    Unity2020 bring in a lot of trouble...
    Thank you for supporting~
    Have a good day
     
  44. gtzpower

    gtzpower

    Joined:
    Jan 23, 2011
    Posts:
    318
    Hey Jason, I just picked up the tessellation add-on and I am having some trouble with it turning the terrain black. It works just fine on the example terrain that comes with MicroSplat core, but I cannot get it to work on any other terrains. I tried to create a new scene, add a terrain, convert to MicroSplat, and then add a texture through the MicroSplatConfig. I used the MicroSplat provided "Shore Sand" texture and provided normal, height, smoothness, and AO maps. After turning on Tessellation, if my view is within the tessellation range, the terrain goes black. I can adjust the range in inspector and the terrain textures will appear again when the tessellation "Max Distance" drops low enough.

    On my projects actual terrain, the terrain only turns black in squares up to the "Max distance" it seems, like this:


    Thoughts?
     
  45. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    look for compile errors on the shader? What unity version, render pipeline, etc?
     
  46. gtzpower

    gtzpower

    Joined:
    Jan 23, 2011
    Posts:
    318
    Unity 2020.3.13f1. Using built-in render pipeline. I do not see any errors, however there are warnings present when I enable tessellation:
    All of these same warnings show up on the MicroSplat example shader when I enable tessellation on that, but that example scene works with tessellation.

    EDIT: For what it is worth, I do see that the geometry is there when I fly my camera through the terrain and the clipping plane begins cutting through the ground, it is just black/unshaded.
     
    Last edited: Aug 6, 2021
  47. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    those warnings are from some other shader than MicroSplat. One thing to check is toggling draw instanced on the terrain? Should work in both cases, but it’s the only thing I can think of that might affect it.
     
  48. gtzpower

    gtzpower

    Joined:
    Jan 23, 2011
    Posts:
    318
    Thanks Jason! Checking "Draw Instanced" did the trick!
     
  49. gtzpower

    gtzpower

    Joined:
    Jan 23, 2011
    Posts:
    318
    Another quick question. It sounds like the "Up Bias" should make the displacement move along the surface normal vs world up. This does not seem to have any effect and displacement always occurs straight up in my case. With a large amount of displacement on a near vertical surface, it should be pretty obvious that things are changing when I adjust that slider right? For example:
     
  50. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    this doesn’t work in draw instance because the vertex normal is up. It could be added, but would make tessellation more expensive as it would have to sample the textured normal. Something I might add an option for.
     
    gtzpower and Rowlan like this.
Thread Status:
Not open for further replies.