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

[Released] MegaSplat, a 256 texture splat mapping system..

Discussion in 'Assets and Asset Store' started by jbooth, Nov 16, 2016.

  1. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    Sounds like a possible namespace conflict? You don't happen to have my vertex painter already installed in your project?
     
  2. Danua

    Danua

    Joined:
    Feb 20, 2015
    Posts:
    197
    Hello, is it have any way to increase splat map resolution, for me 512 a little bit low
    also what is the splat_params? And this texture always unlinks from texture slot when i click sync in terrain manager script
     
  3. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    It can be whatever size you want- when you convert a terrain, it reads the size from the terrain and makes the texture the same size. But you can resize the textures to whatever size you want after (though this will mess up the existing paint job). The parameter texture is for things like water flows and lava - it unlinks when these are not enabled on the material, so as not to include extra textures into the build that aren't being used.
     
  4. MACSTeamSA

    MACSTeamSA

    Joined:
    Jan 21, 2015
    Posts:
    3
    I would love to be able to do object/terrain blending but it seems that it only works with polymesh terrains. Is this the case?
     
  5. NKdefiance

    NKdefiance

    Joined:
    Jan 4, 2017
    Posts:
    15
    I LOVE the new texture array system.

    My recommendation is to split the Cluster editor thing into its own window or tool, would make for better ease of use IMO.


    Anyways, i have imported some substances using the substance button, they look great but do not look like how they should.

    On the left is how it should look (just a plain with standard shader), on the right is the Terrain (mesh) with Megasplat shader.

    EDIT: It seems like the Metallic/smoothness/whatever is not being applied the same... and maybe the albedo is different/lighter?

    EDIT2: Fixed the Metallic/Smoothness issue with "Generate all Outputs" enabled in the substance itself. Still unsure of the Albedo color difference.


    Shader settings:


     
    Last edited: Sep 22, 2017
  6. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    It can be done on Mesh vs Terrain as well with a similar process- but it's not as easy as the system in MicroSplat is, where you just throw a component on an object and done.

    It looks like it didn't pick up the smoothness map, so perhaps the outputs on your substance aren't named correctly? In theory, it should pick up either a roughness or smoothness output.
     
    NKdefiance likes this.
  7. NKdefiance

    NKdefiance

    Joined:
    Jan 4, 2017
    Posts:
    15
    I figured the smoothness map issue by enabling the "Generate All Outputs" option in the substance.

    Still trying to figure out the Color difference issue, any ideas on that one?
     
  8. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    Linear vs. Gamma?
     
    NKdefiance likes this.
  9. NKdefiance

    NKdefiance

    Joined:
    Jan 4, 2017
    Posts:
    15
    Wierd, all I did was recreate the material and nows its fine.

    Awesome, looks amazing now! Thanks.
     
  10. Julhelm

    Julhelm

    Joined:
    May 18, 2015
    Posts:
    4
    I do not. I guess I'll have to let my programmer have a look at it.
     
  11. mwituni

    mwituni

    Joined:
    Jan 15, 2015
    Posts:
    345
    Thanks for reply.

    In May I asked a similar question ...
    It's really time-consuming having to convert objects once they are placed in a level.
    Is it not possible to create a proxy script that can execute the vertex-painter methods to do the same thing? Or something to speed up the process. If the same can't be done, maybe something similar but not as elegant ... its all helpful.
     
  12. mwituni

    mwituni

    Joined:
    Jan 15, 2015
    Posts:
    345
  13. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    Yes, I wrote the shader this uses to filter the data, and have written an integration module for Vegetation studio and MicroSplat to draw this data on the terrain, as well as provide useful data for VS to blend the foliage with the terrain data. A user actually sparked this idea in a MicroSplat chat channel and we've both run with our respective parts of it. You can expect the integration between VS and MicroSplat to be top notch..
     
  14. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    You mean the mesh conversion step? Or the terrain blending? Mesh Conversion requires adding new vertices, so you have to write out a different mesh to disk, because Unity doesn't have a way to inline mesh data (they showed a way to do this off in some hackathon, but have never shipped the feature, which would be super handy).
     
  15. mwituni

    mwituni

    Joined:
    Jan 15, 2015
    Posts:
    345
    Thats awesome.
    But does that mean MegaSplat users are being left behind on this too?
     
  16. mwituni

    mwituni

    Joined:
    Jan 15, 2015
    Posts:
    345
    Yes mesh conversion.
    Don't tools like ProBuilder do this?
    Or simulate it, and isn't that a way around it?
     
  17. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    Nah, I just tend to do stuff in MicroSplat first because the code base is much smaller and easier to work with. The new texture packer, as an example, was back ported from MicroSplat. VS already has a MegaSplat integration, and you can actually achieve most of this feature in MegaSplat already with it's Macro Texture features. That said, not every feature will necessarily be ported between the two systems.
     
    ZoneOfTanks and mwituni like this.
  18. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    I haven't used ProBuilder, but I imagine they keep some representation of your editable mesh in memory and construct an actual mesh from that, then save that to disk in some kind of asset file. Can you import and FBX, start editing it, and have it saved back to the actual FBX? I would expect not.

    You could do the processing on load, but I hate making loading times longer for stuff like that.
     
  19. StevenPicard

    StevenPicard

    Joined:
    Mar 7, 2016
    Posts:
    859
    I just have to take a moment to acknowledge how amazing you are. You are a machine with coding these assets. Really impressive. I've been watching your MicroSplat progress (in addition to all your updates to MegaSplat) and I am blown away with what you've accomplished and manage to create. Great work!
     
    Last edited: Sep 23, 2017
    Akshara, jbooth, Baraff and 1 other person like this.
  20. Danua

    Danua

    Joined:
    Feb 20, 2015
    Posts:
    197
    Hello, icon preview is too dark, it's look like that linear space every where in the edtiors.
    Issue meet at every unity 2017 version.
    This screen captured at unity 2017.1.1p1

    How it must looks, that looks in prev version unity 5.0-5.6.
    upload_2017-9-23_11-9-33.png

    Could you reply this to Unity techonologyes? They just ignoring me it's very dissapoint bug, which doesn't allow to work with any texture, terrain, megasplat and etc.
     
  21. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    Ha, what makes you think they listen to me? I've been pestering them for 3+ months about a low level lighting change they made in 5.6 using paid enterprise support and can't get an answer - it's like screaming through a wall of molasses to a person, who will tell a person, who will tell another person, who will ask a person in another language, who will then ask the person who might have an answer- by the time it gets there, all context seems to get lost and any answer you get back doesn't actually help any more.
     
  22. Danua

    Danua

    Joined:
    Feb 20, 2015
    Posts:
    197
    Они там не охуели часом? Может быть они зажрались, у них слишком много юзеров стало? Смелость почувствовали.
    Fukk I'm so angry that i even start write on russia
    They ignore us and we can't do anything with this?
     
  23. Danua

    Danua

    Joined:
    Feb 20, 2015
    Posts:
    197
    sup Did you know about errosion brush asset for unity. Could you support it in megasplat?
     
    Last edited: Sep 23, 2017
  24. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    I think it's less ignoring than large corporate bureaucracy with too many middle men. Every person I've ever met at Unity has been very willing to help and with the best intentions, but that doesn't mean things always get done like they should.
     
  25. Danua

    Danua

    Joined:
    Feb 20, 2015
    Posts:
    197
    Ok, that bad things, jeez.
    So what about erosion brush?
     
  26. Danua

    Danua

    Joined:
    Feb 20, 2015
    Posts:
    197

    That is erosion brush by Denis Pahunov after of the Map Magic, Awesome stuff! This done just with unity terrain, imagine what it can be if integrate with megasplat. I just inlove at megasplat wooah!
     
    Last edited: Sep 23, 2017
  27. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    That would be up to denis to do; we did an integration between MapMagic and MegaSplat, so he’s familiar with how it all works.
     
  28. Danua

    Danua

    Joined:
    Feb 20, 2015
    Posts:
    197
    upload_2017-9-23_21-48-6.png

    How to increase quality of brush, it very sharp and square like.
     
  29. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    1. Interpolation contrast
    2. Large scale/low frequency noise in your height maps (ie: Clouds filter in photoshop)
    3. Lower resolution control texture

    In general, MegaSplat is designed more around height based blending than blurry linear blends.
     
  30. johnfg12

    johnfg12

    Joined:
    Sep 23, 2017
    Posts:
    2
    Hey,
    Im using microsplat(the support link goes to here) im getting a few errors

    Code (CSharp):
    1. Texture2DArray has out of range depth (got 0 max supported 2048)
    2. UnityEngine.Texture2DArray:.ctor(Int32, Int32, Int32, TextureFormat, Boolean, Boolean)
    3. JBooth.MicroSplat.TextureArrayConfigEditor:CompileConfig(TextureArrayConfig) (at Assets/MicroSplat/Core/Scripts/Editor/TextureArrayConfigEditor.cs:473)
    4. JBooth.MicroSplat.TextureArrayConfigEditor:DelayedCompileConfig() (at Assets/MicroSplat/Core/Scripts/Editor/TextureArrayConfigEditor.cs:433)
    5. UnityEditor.EditorApplication:Internal_CallDelayFunctions()
    also

    Code (CSharp):
    1. UnityException: Failed to create 2D array texture because of invalid parameters.
    2. UnityEngine.Texture2DArray..ctor (Int32 width, Int32 height, Int32 depth, TextureFormat format, Boolean mipmap, Boolean linear) (at C:/buildslave/unity/build/artifacts/generated/common/runtime/TextureBindings.gen.cs:733)
    3. JBooth.MicroSplat.TextureArrayConfigEditor.CompileConfig (JBooth.MicroSplat.TextureArrayConfig cfg) (at Assets/MicroSplat/Core/Scripts/Editor/TextureArrayConfigEditor.cs:473)
    4. JBooth.MicroSplat.TextureArrayConfigEditor.DelayedCompileConfig () (at Assets/MicroSplat/Core/Scripts/Editor/TextureArrayConfigEditor.cs:433)
    5. UnityEditor.EditorApplication.Internal_CallDelayFunctions () (at C:/buildslave/unity/build/Editor/Mono/EditorApplication.cs:118)
    any ways to fix this?
     
  31. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    Is this when converting a Unity Terrain? If so, add a texture to it first through the Unity interface.
     
    johnfg12 likes this.
  32. johnfg12

    johnfg12

    Joined:
    Sep 23, 2017
    Posts:
    2
    yup im using Unity terrain and thanks that worked!
     
  33. NKdefiance

    NKdefiance

    Joined:
    Jan 4, 2017
    Posts:
    15
    Feature request, Substance batch importer.

    Awesome product by the way.
     
  34. ftejada

    ftejada

    Joined:
    Jul 1, 2015
    Posts:
    695
    Hi @jbooth !!

    The terrain of the Unit brings the parameter "Base Map Dist".
    When I use MegaSplat and want to reduce the distance from "Base Map Dist" the terrain becomes dark, as if it had no texture. How can i fix this ?.
    One question since you have more experience. Would an appreciable yield be gained by lowering the Base Map Distance value? I say this to save me useless work



    Look in the documentation but I did not find anything that clarifies these doubts.

    EDIT:
    I have a problem when I try to lower the noise force by texture. I do not know if I do something wrong ... Version 1.51 MegaSplat
    How can I solve that?


    regards
     
    Last edited: Sep 24, 2017
  35. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    Unity's base map distance optimization is not used by MegaSplat- it turns this value all the way up automatically because otherwise Unity will attempt to draw a different shader in the distance, which comes out all black.

    The errors it's throwing are because, somehow, the texture which stores the property data has been changed from an ARGB32 textures to something else- you can switch this back to ARGB32 in the texture settings, but if you could let me know what it was set to I'd appreciate it, because others have been having this issue too so I'd like to know why it's getting changed and that might provide a clue..
     
  36. ftejada

    ftejada

    Joined:
    Jul 1, 2015
    Posts:
    695
    Hi @jbooth thanks for answering

    I have tried the displacement by Tessellation texture and also this error occurs. So I guess it happens every time we try to change something by texture. In case it helps

    The truth is that I do not know what I was able to do so that the textures are wrongly established and cause the error.

    I've just imported the latest version of MegaSplat (I did not have any previous version in this project). I've converted the textures I had painted on the spot with the Unity editor to Megasplat with TerrainPaint-> Utility-> MegaSplat TerrainConverter. And that's it.

    I have not done anything else.

    If you want (although I do not speak English we can make a TeamViewer connection and you can see that it may be happening in my project.
    I'm here all afternoon.

    regards
     
  37. ftejada

    ftejada

    Joined:
    Jul 1, 2015
    Posts:
    695
    Another question.

    It tells me that I can change the format of the textures in Texture settings. I imagine you are referring to this menu:
    Sin nombre.jpg
    But the format that tells me does not appear ARGB32

    To change the texture to ARGB32 in texture settings, what do I have to change, only the texture diff or all (norm, height, etc)
     
  38. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    argh- did Unity remove the setting for this in 2017? They removed a number of settings from the texture importer (though the formats, etc, still exist - such as having an Alpha8 sprite). I noticed this while upgrading our core stack at work, as we use some of those formats.

    You may have to change the texture type to advanced to get the option? Or set it under "default" instead of the override?
     
  39. ftejada

    ftejada

    Joined:
    Jul 1, 2015
    Posts:
    695
    The version I am using is not Unity 2017. It is the 5.6.1p2 in this project where the error occurs.

    I do not understand much, but I think in the photo that I sent in the previous post the texture is in "default" and "advanced".

    If not, excuse my ignorance and explain where to change these options ...

    regards
     
  40. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    Yeah, it looks like it removed this setting in 5.6; when the texture is selected, it will change the default compression type to "None", which doesn't specify the exact format. So I'll have to see what format it sets it too and see if I can find a way around it..
     
  41. Whatever560

    Whatever560

    Joined:
    Jan 5, 2016
    Posts:
    505
    [SOLVED]
    Actually, doing an export and opening the package in a new projet helped me figured it out, it appears that the migration of the project through the different updates of unity (right now using 2017 but started with 5.4) didn't updated the graphics and quality settings properly (don't know what and where), simply deleted QualitySetting.asset and GraphicSetting.asset and unity restored default ones that fixed the shadows problems

    [QUESTION]
    Hi Jason,
    I got an issue with microSplat, my shadows are gone on the terrain, if I simply put back "Built in standard" material in the terrain options, it all looks ugly as expected but shadows are here.

    Default :
    upload_2017-9-25_0-22-20.png

    MicroSplat :
    upload_2017-9-25_0-22-51.png

    Do you have an idea ? Maybe I'm doing something wrong.

    Thanks
     
    Last edited: Sep 25, 2017
  42. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    No; Microsplat uses surface shaders, which automatically handle lighting and shadows for you, so they should just work. If you can send me a scene I’m happy to take a look though..
     
  43. Baraff

    Baraff

    Joined:
    Aug 16, 2014
    Posts:
    255
    @jbooth Not sure you have had a chance to look at the crashing project I sent yet, but I have just created a new landscape of various different settings, size etc, to do some other testing and threw microsplat on to see if it happened to make any difference to the crash. Unfortunately it still crashed on the scene loading from another scene. I did not test mnegasplat again but assume it also crashes.
     
  44. MACSTeamSA

    MACSTeamSA

    Joined:
    Jan 21, 2015
    Posts:
    3
    Ok, that is great news! Currently using Mega so I'll give it a go.
     
  45. Harekelas

    Harekelas

    Joined:
    Feb 3, 2015
    Posts:
    864
    Hi Jason!
    I've played with MegaSplat alongside MapMagicfor a few days, and got some pretty nice results here:
    upload_2017-9-26_1-14-48.png

    upload_2017-9-26_1-17-28.png

    upload_2017-9-26_1-17-54.png

    Several pics to show a simple noise node and 8 texture clusters can do. :)

    Now I'm trying to make something more interesting but got no idea how to achieve them:
    Can I use the stream and lava features through MapMagic's editor? For I can not pre-paint the terrains but generate them in runtime.
    And is it possible to generate puddle areas in runtime through code?
    Really love these features and would like to fully use them!
     
    sylon and ftejada like this.
  46. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    I believe the map magic input node has inputs for this data, but I don't think MapMagic has nodes to decide where streams should go, etc. You might be able to do puddle areas with the existing nodes though.

    In MicroSplat's Streams module, I have a runtime system for generating streams based on spawners which you can place on the terrain and turn on or off- this is more for causing new flows to move across the terrain than painting them at runtime and pretending they were always there.
     
  47. Harekelas

    Harekelas

    Joined:
    Feb 3, 2015
    Posts:
    864
    I was wondering if the micro splat's module can also work with mega splat, if so, I can use the stream emitter to generate streams and lava in my scene.
    And another question: how do I control the direction of flowing map?

    Edit:
    upload_2017-9-26_2-19-41.png
    And now the node looks like this, donno where to add stream or puddles :/
     
    Last edited: Sep 25, 2017
  48. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,461
    It looks like Dennis removed those inputs, which makes sense if there's not a great way to generate the data in Map Magic. MegaSplat allows you to paint the flow direction in the flow painter (since it works on arbitrary meshes), so you'd need to generate flow direction as well if you figured out a way to populate the stream data.

    MicroSplat's module only works with MicroSplat (systems are internally very different), but it computes flow direction for you, since it can only be used on a Terrain and therefor can make assumptions about the topology.
     
  49. Harekelas

    Harekelas

    Joined:
    Feb 3, 2015
    Posts:
    864
    Thanks for the tips! I'll see what I can do :)
     
  50. Whatever560

    Whatever560

    Joined:
    Jan 5, 2016
    Posts:
    505
    Thanks updated my question with the problem solved

    Though another issue occurs with a second light (here a spotlight), now shadows and squared artifacts.

    upload_2017-9-26_10-42-31.png
     
    Last edited: Sep 26, 2017