Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

[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. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    Sounds like you have an older version of MicroSplat- that was fixed several versions back..
     
  2. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    I believe Unity has not gotten texture arrays working on webGL yet.,
     
  3. DevIsDave

    DevIsDave

    Joined:
    Aug 8, 2017
    Posts:
    19
    Interesting, SystemInfo.supports2DArrayTextures returns true when running in webGL and according to the manual it is supported for webGL 2.0. I will follow up with Unity to get further clarification on it.
     
  4. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    That error indicates it’s expecting a 3D texture somehow.
     
  5. DevIsDave

    DevIsDave

    Joined:
    Aug 8, 2017
    Posts:
    19
    I've tried it with a number of different settings and still no avail. Will stay subscribed in the hope it'll work with WebGL someday, as WebGL could sure use all the performance improvements it can get ha
     
  6. PROE_

    PROE_

    Joined:
    Feb 20, 2016
    Posts:
    32
    When I try to use Substance materials I get following error:

    Code (CSharp):
    1. InvalidCastException: Cannot cast from source type to destination type.
    2. JBooth.MicroSplat.TextureArrayConfigEditor.RestoreSourceTexture (UnityEngine.Texture2D tex) (at Assets/MicroSplat/Core/Scripts/Editor/TextureArrayConfigEditor.cs:961)
    3. JBooth.MicroSplat.TextureArrayConfigEditor.RestoreSourceTextures (System.Collections.Generic.List`1 textures, SourceTextureSize stz) (at Assets/MicroSplat/Core/Scripts/Editor/TextureArrayConfigEditor.cs:981)
    4. JBooth.MicroSplat.TextureArrayConfigEditor.CompileConfig (JBooth.MicroSplat.TextureArrayConfig cfg, System.Collections.Generic.List`1 src, System.String ext, Boolean isCluster) (at Assets/MicroSplat/Core/Scripts/Editor/TextureArrayConfigEditor.cs:1011)
    5. JBooth.MicroSplat.TextureArrayConfigEditor.CompileConfig (JBooth.MicroSplat.TextureArrayConfig cfg) (at Assets/MicroSplat/Core/Scripts/Editor/TextureArrayConfigEditor.cs:1510)
    6. JBooth.MicroSplat.TextureArrayPreProcessor.OnPostprocessAllAssets (System.String[] importedAssets, System.String[] deletedAssets, System.String[] movedAssets, System.String[] movedFromAssetPaths) (at Assets/MicroSplat/Core/Scripts/Editor/TextureArrayPreprocessor.cs:48)
    7. System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:222)
    8. Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
    9. System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:232)
    10. System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MethodBase.cs:115)
    11. UnityEditor.AssetPostprocessingInternal.PostprocessAllAssets (System.String[] importedAssets, System.String[] addedAssets, System.String[] deletedAssets, System.String[] movedAssets, System.String[] movedFromPathAssets) (at C:/buildslave/unity/build/Editor/Mono/AssetPostprocessor.cs:130)
    12. UnityEditor.AssetDatabase:CreateAsset(Object, String)
    13. JBooth.MicroSplat.TextureArrayConfigEditor:CreateConfig(Terrain) (at Assets/MicroSplat/Core/Scripts/Editor/TextureArrayConfigEditor.cs:337)
    14. MicroSplatTerrainEditor:OnInspectorGUI() (at Assets/MicroSplat/Core/Scripts/Editor/MicroSplatTerrainEditor.cs:67)
    15. UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
    Will it be fixed?
     
  7. Larzarus

    Larzarus

    Joined:
    Jun 4, 2016
    Posts:
    27
  8. Larzarus

    Larzarus

    Joined:
    Jun 4, 2016
    Posts:
    27
    I'm having a problem with Triplanar and Texture Clusters both enabled (using v2.0 in Unity 2018.2.0f2 Windows). The cluster map looks like it's not mapping correctly? It appears to get better if I increase the Noise Boost, if that's a clue.

    This is what it looks like with 3 texture clusters and triplanar OFF Triplanar Off.jpg

    Triplanar enabled, Texture Cluster Noise Boost = 0.5
    Triplanar On Noise Boost 0.5.jpg

    Triplanar enabled, Texture Cluster Noise Boost = 4.0 -- problem improves, but doesn't go away completely Triplanar On Noise Boost 4.jpg

    Doesn't change if I use 2 texture clusters instead of 3
    Help? Thanks!
     
  9. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    Interesting. Uploading a patch to the previous issues now, will address this one in the next few days. I'm currently at Yellowstone National Park, but will be back home in a few days and able to catch up on all this stuff..
     
  10. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    Can you send a repro scene so I can take a look? (In a PM or otherwise). I'll be out of town for a few more days, but can have a look then..
     
  11. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    Ok, managed to update core, but the texture cluster fix will have to wait until I can get on internet that's not stupidly slow..
     
  12. mmaclaurin

    mmaclaurin

    Joined:
    Dec 18, 2016
    Posts:
    244
    Rebuilt my project for 2018.1, which theoretically enables tessellation in iOS.

    Whereas in 2017 it falls back to a non-tesselated shader, on 2018.1 it hangs the GPU:
    Execution of the command buffer was aborted due to an error during execution. Caused GPU Hang Error (IOAF code 3)

    2018-07-26 00:55:10.166091-0700 ProductName[14902:4830906] Execution of the command buffer was aborted due to an error during execution. Discarded (victim of GPU error/recovery) (IOAF code 5)
     
  13. mmaclaurin

    mmaclaurin

    Joined:
    Dec 18, 2016
    Posts:
    244
    Updates on my recent reports:
    - param mismatch on tesselation - disappeared with a clean project - suspect you were right about version mismatch although Unity still insists that build is up to date (I have now also switched back to old asset store because new one has broken asset versioning - I'm pretty obsessive about updating and new asset store often fails to update silently but changes UI state...:/)

    - gpu crash with tesselation - this is coming from clean build (new project) on 2018.1. suspect actual bug. unity 2018.1 claims to support tess on metal. also using post v2 + hydroform

    - triplanar's working great at 30fps on iPhone - I lightened overall scene texture load, my previous fps drop report is looking increasingly bogus, consider it retracted :)
     
  14. DigitalAdam

    DigitalAdam

    Joined:
    Jul 18, 2007
    Posts:
    1,202
    Hi, I'm trying out MicroSplat and after watching the demo, it appears that you can use Substances. How do I get that to work in 2018.2.0f2?

    I have a basic texture assigned, and I add the component Micro Splat Terrain to my terrain. PBR is selected in my Texture Mode, but I can't figure out how to add a Substance. Clicking "Add Textures" only give me slots to drop in my Diffuse, Normal, Height, etc.

    Thanks.
     
  15. Larzarus

    Larzarus

    Joined:
    Jun 4, 2016
    Posts:
    27
    You have the Substance in Unity installed right ? https://assetstore.unity.com/packages/tools/utilities/substance-in-unity-110555

    Go into the substance asset folder and click the little right facing triangle. It will expand to show the maps generated by Substance like this :
    upload_2018-7-26_12-24-26.png :

    Drag these maps into the slots.

    Because the names get truncated, it can get confusing when you have made a bunch of variants of a substance to keep them straight. When Unity supported substances natively, MicroSplat did that for you directly from a substance link. Now it's a manual process.

    You'll want to enable the invert checkbox if the substance generates roughness maps instead of smoothness maps.

    You might need to check "generate all maps" in the substance graph for all the needed maps to appear.

    Unfortunately, there's a bug in MicroSplat 2.1 that prevents this from working. You'll get an "Invalid cast exception" error when you hit update. You'll need to use v2.0 or wait for a fix.
     
  16. DigitalAdam

    DigitalAdam

    Joined:
    Jul 18, 2007
    Posts:
    1,202
    Based on the video It showed dragging the Substance and it auto populates the Diffuse, Normal, Height, etc. I can do it manually, but I wasn't sure if there was another way.
     
  17. Larzarus

    Larzarus

    Joined:
    Jun 4, 2016
    Posts:
    27
    That feature was very cool, but went away when Unity removed built-in support for substances. If you use MicroSplat with earlier versions of Unity, the feature still works, as I understand.
     
  18. FuzzyShan

    FuzzyShan

    Joined:
    Jul 30, 2012
    Posts:
    182
    I see that it works with lightweight render pipeline, is it possisble to shift to HD render pipeline too?
     
  19. Slaghton

    Slaghton

    Joined:
    Sep 9, 2013
    Posts:
    139
    Think the mesh based painting module will make it into the asset store this year? I'm currently using megasplat but I like microsplats more stream-lined build and would like to move over to micro if/when the asset is finalized.

    *Currently benchmarking a smallish vr project and using square grids of meshes painted with megasplat using LoD's from baked textures and can't really beat the performance of a perfectly crafted terrain from a 3d program. Takes a lot more time then using unitys terrain but I find it easier to hit performance numbers.
     
  20. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    Not until it stabilizes; Unity doesn't plan to ship it until 2019 or so..

    It should- I'm fiddling with it but it's mostly working. The only major thing I have left is to make it work for badly UV mapped objects, which don't exist in the 0-1 space. I could ship without that, but it's nice to support..
     
    Slaghton and docsavage like this.
  21. Crossway

    Crossway

    Joined:
    May 24, 2016
    Posts:
    507
    Hello. I need to know does MicroSplat - Terrain Blending also works with RTP too?
     
  22. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    No, it only works with MicroSplat..
     
  23. mkgame

    mkgame

    Joined:
    Feb 24, 2014
    Posts:
    592
    Hi, what do you mean with "- Upgrade note: TextureArrayConfig texture settings refactored, so all settings will be reset to default on upgrading."?
    I updated from the microsplat version 1.xx before the 32 textures patch, and it seems to be that nothing is missing. Everinthing looks a bit different. Switching to 32 textures turns the terrain textures white. Am I have to assign all the textures in the splat config? Not sure why the terrain turns white/black. If I leave it on 16 textures, then it looks pretty good, maybe a bit sharper.

    The terrain blending feature still has the propblem, that depends on the camera position the blended texture is 'moving', changes.
     
    Last edited: Jul 29, 2018
  24. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    Do you get any compile errors? The texture array config was completely refactored so you can have per platform compression types, etc. This means that the old texture settings could not be unserialized, so if you, for instance, had set texture size to 2048, it would have reverted back to 1024. It does, however, maintain the old texture list - it's just the compression and sizing options that have changed.

    With the terrain blending issue, is this with some view dependent feature on like Parallax?
     
    mkgame likes this.
  25. mkgame

    mkgame

    Joined:
    Feb 24, 2014
    Posts:
    592
    I have no compiler errors. I use the texture size 1024, the default one. The important thing is, that the texture array is not lost. Then this is absolutely okay.

    Edit: Yes, I have compiler errors (Unity 5.6.6f2):

    Code (CSharp):
    1. Property (_Control3) already exists. Use SetTexture instead.
    2. UnityEditor.AssetDatabase:Refresh()
    3. MicroSplatCompiler:Compile(Material, String) (at F:/RTS/Assets/MicroSplat/Core/Scripts/Editor/MicroSplatShaderGUI_Compiler.cs:515)
    4. MicroSplatShaderGUI:TriggerCompile() (at F:/
    5. RTS/Assets/MicroSplat/Core/Scripts/Editor/MicroSplatShaderGUI.cs:279)
    6. UnityEditor.EditorApplication:Internal_CallDelayFunctions()
    Edit: Found a mistake, you need a bit to copy paste in MicroSplatShaderGUI_Compiler.cs:
    At line 257 to 269, ControlX to ControlX, eg. Control4 (\"Control3\".. to Control4 (\"Control4\".
    But I have still white/black textures over my terrain textures.

    Edit: Strange, play and stop seems to be corrected the issue after the fix I made. Simply changing the Max Texture Count did not trigger a proper synchronization. Now it looks fine with 32 textures.

    Edit: Sometimes it still switches back to the white/black textures. Restart Unity after you fixed the issue. Sometimes it still switches back to white/black textures...

    Yes. Disable parallax in the shader fixes this issue.

    Edit: The 32 textures mode is okay now after I made the fix I described. This bug caused a lot of sync issues, but it is gone now after rebuilding the Library folder (It took 8h or more). I had to rebuild the Library, because Unity started crashing at start up. An old asset lead to the crash, not yours.
     
    Last edited: Aug 5, 2018
  26. franky_li

    franky_li

    Joined:
    Aug 8, 2016
    Posts:
    163
    Hi Jason,

    how can I set the min wetness of the wetness range in the stream module from a script.
    I tried this:
    Code (CSharp):
    1. mat = Terrain.activeTerrain.materialTemplate;
    2. minMaxWetness = mat.GetVector("_WetnessParams");
    but then I have to set the value continuously.
     
  27. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    Well, you'd have to call mat.SetVector("_WetnessParams", newValues); to set it..

    You can also propigate it to multiple terrains by getting the template material from the MicroSplatTerrain component and setting it there, and then calling MicroSplatTerrain.Sync(). Finally, you can expose the wetness parameters as global parameters and use Shader.SetGlobalVector to set them instead.
     
  28. franky_li

    franky_li

    Joined:
    Aug 8, 2016
    Posts:
    163
    That's what I did, but as soon as I stop setting it to something other than 0, it's reverted to 0.
    Debug log shows always minMaxWetness.x as 0.
    Code (CSharp):
    1. void SetWetness(float value)
    2. {
    3.         Debug.Log(mat.GetVector("_WetnessParams"));
    4.         minMaxWetness.x = value * terrainWetnessFactor;
    5.         mat.SetVector("_WetnessParams", minMaxWetness);
    6.   }
    How can I do that, do I have to edit the shader?
     
    Last edited: Aug 1, 2018
  29. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461

    There’s a ‘g’ button next to some materials; pressing it will make the shader use a global shader variable instead of one based on the material data. There’s info and a chart of the mames in the core docs. Doesn’t require editing the code at all, btw.
     
  30. franky_li

    franky_li

    Joined:
    Aug 8, 2016
    Posts:
    163
    Thanks Jason,
    works like a charm now, sorry that I've overseen this, I should have RTFM:), but it's extremly hot here in Germany about 36°C in daytime and 27°C at night, brain stops working:confused:

    Frank
     
  31. superkratos

    superkratos

    Joined:
    Sep 4, 2017
    Posts:
    112
    Hi, Jason. Have you considered about a way to achieve this random but directional track effect on terrain? If not, can you give me some suggestion about doing this effect in Unity? We did achieve this in Unreal through a curve, which controls the direction of a decal. But we haven't found a proper way to do this so far in Unity:D
     
  32. superkratos

    superkratos

    Joined:
    Sep 4, 2017
    Posts:
    112
    Something like this..
     

    Attached Files:

  33. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    Decals would be the correct way to do it.
     
  34. PeterB

    PeterB

    Joined:
    Nov 3, 2010
    Posts:
    366
    I have two weird problems. The first is that MicroSplat always disables itself after a scene save. This is the Scene view before the save: Screen Shot 2018-08-05 at 11.15.02.jpg

    and this is after the save:

    Screen Shot 2018-08-05 at 11.15.06.jpg

    There is no way to activate MicroSplat again except for running the scene.

    I've had this problem since I started using MicroSplat. Is there any way to fix it?

    Metal. The very latest version of Unity and MicroSplat.

    / Peter
     
    Last edited: Aug 5, 2018
  35. PeterB

    PeterB

    Joined:
    Nov 3, 2010
    Posts:
    366
    The second problem is new. Everything looks fine in the editor, but when I run the app, the terrain sort of fades away a few units away, and models and vegetation hang in the air:

    Screen Shot 2018-08-05 at 10.46.04.jpg

    From another angle:

    Screen Shot 2018-08-05 at 10.54.42.jpg

    There are two things that can fix this: (1) recalculating the terrain descriptor of any terrain – it doesn't matter which one:

    Screen Shot 2018-08-05 at 10.54.52.jpg

    The terrain is then rendered as expected:

    Screen Shot 2018-08-05 at 10.54.57.jpg

    Also, (2): repacking the texture arrays also fixes it. However, Sync and/or Sync All for a terrain have no effect at all.

    However, the next time I run the app, I get the semitransparent terrains again. It doesn't help to do either of the two steps above in the editor; they only work at runtime. So no matter what I do, I can't fix this permanently.

    Any ideas what might be causing this? Metal, latest versions of Unity and MicroSplat.
     
    Last edited: Aug 5, 2018
  36. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    Well, MicroSplat doesn't have any code that disables itself of any components in it, so most likely this is some other 3rd party code doing this. You could put a break point in the OnDisable function of the MicroSplatTerrain component, look at the call stack, and see what function is triggering it to get disabled.

    Your second issue is pretty strange as well. Never seen anything like this, and am struggling to think of a way to get that effect without modifying the shader code. MicroSplat doesn't draw as a transparent shader; the closest it does is use a discard instruction when alpha hole is enabled, but this wouldn't produce a gradual transparency but rather a binary condition of it being there or not.
     
  37. DigitalAdam

    DigitalAdam

    Joined:
    Jul 18, 2007
    Posts:
    1,202
    @jbooth

    Using Substances with MicroSpalt is a bit different than the video. Do I need to Generate All textures and then assign those ouputs myself for them to work? I don't see a way to drop my Substance into the MicroSplat config.

    Thanks.
     
  38. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    Unity removed native substance support in newer versions of Unity, and algorithmics new plugin doesn’t have a usable API yet. So until they fix it you’ll have to bake out the textures.
     
  39. mmaclaurin

    mmaclaurin

    Joined:
    Dec 18, 2016
    Posts:
    244
    upload_2018-8-5_11-39-14.png

    1. Completely loving the wetness features. How the moss gets saturated below the waterline, and the fact that I can run all this at 30fps on iPhone with enviro and hydroform. The river is flowing in this image, I have the ocean turned off so you can see the cool wet moss, stone and mud below water height. :)

    2. FEATURE REQUEST: Since I do use wetness below sea level, it would be good to be able to turn some things off below the water line. I'd like to be able to set a minimum height for a) specular on wet materials and b) flowing streams below which specular would be either turned off, muted, or based on a different color and below which streams would fade out.

    There are actually three zones of interest:
    - above wetness area, everything dry and works as it does today
    - below wetness line but above sea level: works exactly as wetness height does today
    - below sea level: modifiable specular component (or however you model this in PBR) and quick fadeout of streams

    3. Usage question, possible bonus feature / fourth zone of underwater rendering:
    - in my particular game, there is a level below which light is extinguished in the water and the terrain is no longer a factor into the final color
    - I do still need depth to be written so the ocean depth samples work
    - what is the absolute cheapest way to use this an an optimization? My first guess is to add a texture layer in microsplat that has only a pure black color map - but - then microsplat will auto-generate the other maps and use them so I don't know if it's worth the effort- TL;DR - what is the absolutely lowest rendering cost for a microsplat layer? Could there be a "render depth only" checkbox in a microsplat layer

    Keep up the inspiring work!
     
  40. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    So basically what you want is a way to fadeout streams below a certain level as a feature of the streams module. [EDIT: Just added this; there's now a world height to start fading in, end fading in, begin fade out, end fade out of the streams and lava effects]. I'm not sure what you're trying to achieve by modifying the specular component- is is that you want to dampen specular response below a certain height?

    The optimization you seek isn't really possible. Basically, if a shader branches on a per-pixel basis, it breaks the GPU quad fetch optimization, making the shader about 2.5x slower in practice (and making the code more complex). There are times when doing this can be an advantage (something like parallax occlusion mapping, where you might save 30-40 texture samples by doing it), but it is pretty rare. In your example, you would still need to complete all the work of sampling the control maps and blending the height fields together to figure out IF the pixel needs to be drawn or not, and at that point your basically done with the majority of the work. So branching on something like that would be much, much slower than simply running the whole shader.

    One trick that might work though would be to put a flat plane in front of the terrain at that depth and draw it before the terrain does. Assuming the cost of drawing that plane is cheaper than the pixels you'd fill with MicroSplat, the GPU would z-test those pixels and early reject them, and thus skip rendering those pixels in the first place. That said, I would expect this to be a questionable optimization since it's highly view dependent and may make the cost more expensive in other locations.
     
    Last edited: Aug 5, 2018
  41. mmaclaurin

    mmaclaurin

    Joined:
    Dec 18, 2016
    Posts:
    244
    Awesome, incredibly fast response.

    1. Great news on the stream - fading it out when it's below the water will be great.
    2. Dampening the specular underwater is my goal. My ocean shader will tint and attenuate the specular somewhat, but in an actual underwater scene there is almost no specular highlight - so the very bright specular highlights from "wet" rock looks wrong when the wet rock is supposed to be underwater. Wet rock above water looks great. Here's a sample: the high gloss above the water continues down under the water and (I think?) should actually disappear because the light will interact differently with the rock surface when it is underwater vs in the air. Pardon my lack of graphics math terminology :) Intuitively I would expect the rock below water to be darkened by the water but lose its glossiness.

    upload_2018-8-5_14-47-21.png
     
  42. mmaclaurin

    mmaclaurin

    Joined:
    Dec 18, 2016
    Posts:
    244
    A little more explanation: when wet rock is in the air, the glossy highlights derive from the thin sheet of water on the rock, not the rock itself. When the rock is underwater, there is no thin sheet of water (it's now a thick slab of water with highlights on the surface) and the highlights should revert to glossiness of the rock itself.

    In terms of UI, I'm thinking a "water surface level" that is separate from the wetness height. Wetness should extend higher than the water surface because of spray, high tides, splashes, etc - we expect shorelines to be wet.
     
  43. Stardog

    Stardog

    Joined:
    Jun 28, 2010
    Posts:
    1,910
    Does MicroSplat work with MapMagic?
     
  44. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    When you have the wetness faded by height, it does revert to the glossiness of the rock itself.

    Yes..
     
  45. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    Ah, that makes more sense. So basically a global height at which specular ramps to 0.. Added..
     
    Last edited: Aug 6, 2018
    franky_li likes this.
  46. superkratos

    superkratos

    Joined:
    Sep 4, 2017
    Posts:
    112
    Thanks, Jason. I find a tool named EasyRoad that could achieve this effect:D
     
  47. mmaclaurin

    mmaclaurin

    Joined:
    Dec 18, 2016
    Posts:
    244
    Thanks!! Should be a nice touch, I'll post a test when it works its way through the store.
     
  48. mmaclaurin

    mmaclaurin

    Joined:
    Dec 18, 2016
    Posts:
    244
    Reflections are expensive!

    Has anyone figured out a way to have microsplat render at a lower fidelity in a reflection? I can just fit triplanar into my budget but would love to take it out of the reflections.

    Thoughts on best way to do this? If any?

    - Matt
     
  49. mmaclaurin

    mmaclaurin

    Joined:
    Dec 18, 2016
    Posts:
    244
    Another question: in the shader top-level controls there is a setting for "max number of textures." I'm not sure of the definition, though: Does that mean that I can have 16 *layers* each with albedo, normal, smoothness, etc, or that each individual map counts (albedo = 1, albedo + normal = 2, etc.)

    I hope the answer is what I think as I've been constraining myself to 4 layers and would love to get a little more nuanced....
     
  50. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    No, if you set it to 4, it's 4 sets of textures. MicroSplat actually only samples 4 sets of textures regardless of how many are on the terrain- but you still have to sample the control maps. The main use for this setting is to reduce the number of samplers needed on systems which don't support sampler sharing (OSX) since each control map (one for every 4 texture sets on the terrain) takes up a sampler.
     
    mmaclaurin likes this.
Thread Status:
Not open for further replies.