Search Unity

MapMagic 2 - infinite procedural land generator

Discussion in 'Assets and Asset Store' started by Wright, Apr 24, 2020.

  1. twobob

    twobob

    Joined:
    Jun 28, 2014
    Posts:
    2,058
    I guess? I think I did last time I tested it for someone. and you just drag in the graph to the brush IIRC.
     
  2. twobob

    twobob

    Joined:
    Jun 28, 2014
    Posts:
    2,058
    Yeah I had this. I deleted the x86 one. I guess check what platform you built for?

    On the webplayer I just deleted the entire directory since that thing is only referenced if you use Native Plugins anyway
     
  3. twobob

    twobob

    Joined:
    Jun 28, 2014
    Posts:
    2,058
    @Wright The EXPOSE OVERRIDE framework

    2*-2 is an invalid expression. ( *- not working )

    Also UNEXPOSE value on control. Not working.
     
  4. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,276
    You can use Level brush preset. Ctrl-clicking on terrain will read level height.

    And speaking about the graphs - take a look what's inside Level and how it works. Mastering the graphs will give you great possibilities - both in procedural MM terrains and your own brush presets :)

    If you build for 64-bit systems - remove the one in x86 folder (or vice versa). But I'm curious why this message don't appear in my setup - what is your build target platform?

    Thanks for letting me know. Never though that *- should work :) (but I've checked it does).
    I will appreciate if you could report these to ideainformer.
     
  5. PolyMad

    PolyMad

    Joined:
    Mar 19, 2009
    Posts:
    2,350
    I am building for Android, but specifically for Quest 2.
    Uhm and I don't know if the Quest 2 chip is 64 or 32 bits...
     
  6. airop

    airop

    Joined:
    Sep 4, 2012
    Posts:
    34
    How can i make sure after using the brush i can use map magic node system again to for example apply grass to a certain texture. everytime i do something with the brush and i go back to map magic node system i lose all my changes.
     
  7. PolyMad

    PolyMad

    Joined:
    Mar 19, 2009
    Posts:
    2,350
    upload_2021-11-5_12-49-18.png


    OK it seems that for the Quest it's a 64 bit build, so I'll delete the x86 folder.
     
    Wright and twobob like this.
  8. twobob

    twobob

    Joined:
    Jun 28, 2014
    Posts:
    2,058
    Lock the area?
     
    Wright likes this.
  9. airop

    airop

    Joined:
    Sep 4, 2012
    Posts:
    34
    how can i paint on the terrain using mapmagic brush and microsplat textures, the moment you use microsplat you cant paint on the terrain with the brush
     
  10. AshyB

    AshyB

    Joined:
    Aug 9, 2012
    Posts:
    191
    Hey Denis, love map magic by the way, can't make any scene with terrain without it.

    Quick question before I try to come up with my own solution, when using biomes, how do you prevent objects from spawning below a certain height (water)?

    For example, you have your three biomes + 1 underwater biome. They blend and at the blend point between grass lands and underwater there is trees and rocks etc. that spawn under the sea level simply because of the biome blending.

    You can't prevent this from happening in the grasslands graph because the grass lands biome "thinks" its above land when it blends with the underwater biome.

    Only option seems to be manually remove all these objects using normal Unity tools or write a script that searches for any transform below X point and Destroy after the world graph has finished.

    What's your thoughts?

    Thanks.
     
    Wright likes this.
  11. RandAlThor

    RandAlThor

    Joined:
    Dec 2, 2007
    Posts:
    1,293
    How can i use the terrain i made with MapMagic 2 to work with Digger Pro.
    Can i export the terrain to a normal unity terrain and if so how do i do it?
    Maybe there is a part in a video or documentation that i have not seen yet.

    Also is there a way to import more then one heightmap from world maschine to MapMagic for example if i have many tiles for a realy big terrain.

    How many maps/layers for texture can i use with MapMagic. I want to make different types of terain and maybe want also use MicroSplat with it.

    Can i only mix biomes in one direction like in your video in the z direction?
    Can i use more then 3 biomes and use the z and x direction?
    For example 5 biomes in a 5 x 5 terrains so 5 in x and 5 in z direction.
     
    Last edited: Nov 6, 2021
  12. PiterQ70

    PiterQ70

    Joined:
    Mar 3, 2015
    Posts:
    82
    Hi. I need Objects addon to play with VSProGraph2 ?? Trees and other objects require MM2: Objects ?
     
    Last edited: Nov 6, 2021
  13. AshyB

    AshyB

    Joined:
    Aug 9, 2012
    Posts:
    191
    You can mix any number of biomes in any direction, a specific location or patches and blobs of biomes scattered around. Its just tricky to work out ;)

    For example, I have one biome which is under water, then on top of that I have 3 biomes mixed across the z direction but mixed with a simple cone and noise so now it is an island with 3 biomes and an underwater biome. Then i put other biomes as "patches" through the 3 main biomes so there can be like a desert biome with an oasis in the middle of it etc.
     
    Wright and RandAlThor like this.
  14. RandAlThor

    RandAlThor

    Joined:
    Dec 2, 2007
    Posts:
    1,293
    Last edited: Nov 7, 2021
  15. twobob

    twobob

    Joined:
    Jun 28, 2014
    Posts:
    2,058
    RandAlThor likes this.
  16. PutridEx

    PutridEx

    Joined:
    Feb 3, 2021
    Posts:
    1,136
    Wright and twobob like this.
  17. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,276
    In Objects or Trees output, in Properties switch Biome Blend to Pure. This will force trees spawn only where the land biome is 1. Similarly, you can prevent underwater objects appear in transition zones. Setting this value to Sharp will allow objects spawning only on dominating biome. You can use different blending for different object output nodes.

    Yes, objects and trees require Objects module. This also applies to VS Pro objects/trees.

    You can save any tile as an asset in a Tiles menu by pressing Save Terrain Data or Save as Copy. Actually, any MM terrain is similar to Unity standard terrain, except that it's saved in scene. This will make it to be saved in separate file.

    I really recommend you using low-res sources for base terrain, and add details using MapMagic. MM is not a streaming asset - it will try to load all the source files in graph at the same time. It's a procedural asset - better use small source files, and let MM add details. And small source files better merge in one beforehand.

    Since MM uses the standard Unity terrain all the limitations are applied to it. I'm not aware if the number of textures is limited, but performance is decreased every 4 new layers. MicroSplat supports 32 layers at maximum.

    MicroSplat can read splats data and convert it to textures. You need splats data on terrain, to output it use Apply Type - Both in MicroSplat output - Advanced tab. Not sure that MS can do it in realtime though.

    In case it's a temporal link - here is the constant one.
     
    RandAlThor likes this.
  18. bdae

    bdae

    Joined:
    Dec 24, 2017
    Posts:
    23
    When can we get the next magic brush tutorial? Its been some months since the last upload
     
    PutridEx likes this.
  19. AshyB

    AshyB

    Joined:
    Aug 9, 2012
    Posts:
    191
    It's funny I was just playing around with "clones" in the object properties and noticed this then quickly ran back here to see if you had replied.

    Perfect! Does exactly what I wanted it to do.

    Keep up the good work.
     
  20. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,276
    I've actually done it, but Brush has changed a bit since then - and going to change further (with partial terrain prepare). Don't want to submit something that is not relevant, going to change brush first and then add some modification to the video.

    Thanks!
     
    PolyMad likes this.
  21. LibooSoft

    LibooSoft

    Joined:
    Jun 19, 2019
    Posts:
    20
    Im running Map Magic 2 together with MicroSplat. How ever after restarting Unity the Graph output node for MicroSplat returns as UNKOWN.
    upload_2021-11-14_11-1-16.png

    And I get the following message in the console "Could not find a cell for inlet/outlet. Removing link".
    upload_2021-11-14_11-2-31.png
    upload_2021-11-14_11-3-23.png

    There are 6 of these as seen on the right side, and that equals the numer of texturs that should have been controlled.

    It worked a few weeks back when I started using it. Updated both MM2 and MS to the latest and I start to see issues like this.

    Anyone have any idea whats going on?
     
  22. twobob

    twobob

    Joined:
    Jun 28, 2014
    Posts:
    2,058

    Yup. I have vague idea. Either then namespace is not being recognised properly or some other error. In nutshell. Total guess = Microsplat integration is broken. I guess maybe a reinstall of Microsplat? Not sure how you go about finding what is wrong in this instance, perhaps others will know
     
    LibooSoft likes this.
  23. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,276
    Does it change MS Output to Unknown every time you re-open Unity? I mean, if you delete Unknown node, create MS Output, save the graph, close Unity, and open it again - will it be Unknown or MS?
     
  24. twobob

    twobob

    Joined:
    Jun 28, 2014
    Posts:
    2,058
    Will it even be in the list is another consideration. I would say not?
     
  25. keithsoulasa

    keithsoulasa

    Joined:
    Feb 15, 2012
    Posts:
    2,126
    How do I actually place a Spline, I'm used to EasyRoads and Gena, and completely lost .

    I will say I do like having much better performance over Gaia though !
     
  26. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,276
    If you are using Splines module or Bundle - see Spline generators. Interlink will connect scattered object with each other, this will create basic straight lines that could be bended by Pathfinding, or adjusted with any other Spline node. To convert these splines back to masks use Stroke or Stamp nodes.
     
  27. keithsoulasa

    keithsoulasa

    Joined:
    Feb 15, 2012
    Posts:
    2,126
    Any way you can make a tutorial video on this, obviously you don't need to do it anytime soon but I would love to see more education regarding your asset
     
  28. Oingman

    Oingman

    Joined:
    Jul 11, 2019
    Posts:
    5
    Whenever I relaunch Unity, the microsplat output node becomes UNKNOWN.
    A recent update of microsplat seems to be the problem.
     
  29. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,276
    Yes, there might be some changes in recent MicroSplat that make it this way. I will look into this issue soon.

    Splines are not settled down yet. I will make some tutorials when I will be sure that this node will have this values and will work this way - otherwise videos won't be relevant even at the moment of their release.
     
    IsobelShasha likes this.
  30. keithsoulasa

    keithsoulasa

    Joined:
    Feb 15, 2012
    Posts:
    2,126
    Do you have any more sample graphs.

    I really want to make a snow forest , but I'm having some trouble with it .
     
  31. mick129

    mick129

    Joined:
    Jun 19, 2013
    Posts:
    228
    I have made a small script to integrate MapMagic2 with EasyOpenWorld. Basically, it will take the matching terrain and place it inside the corresponding scene to benefit from the async loading and greatly increase the performance of your open worlds :)

    1) Create your world using MM2 and keep the world at 0.0.0.
    2) Add EasyOpenWorld into your scene and match the size of the scene with MM2
    3) Make sure the name of the MM2 tile match the EasyOpenWorld scene like in the screenshot below (Tile 0,0 = 0_0)
    4) When you have finished modifying your world, drag all the MM2 tiles to the rood of your scene.
    5) Go in SceneStreamer / BuildWorld and click the button Buildworld

    Edit: note that once it is done, the terrain will lose reference with the original MapMagic2 so I suggest you do this as the last step in your world generation.

    upload_2021-11-22_15-5-48.png
     

    Attached Files:

    Last edited: Nov 23, 2021
  32. twobob

    twobob

    Joined:
    Jun 28, 2014
    Posts:
    2,058
    Cheers, I have that - shall check it out at some point.
     
    mick129 likes this.
  33. TimDoesDev

    TimDoesDev

    Joined:
    Feb 23, 2018
    Posts:
    35
    I've reported it but there still hasn't been a fix to the broken microsplat support. Builds don't work when using custom splat maps becayse you have forgotten to include the keywordSO when generating the MM terrain. Jason (the dev of Microsplat) also keeps saying he'd like to work together with you to support microsplat properly. Is there any reason you haven't done this?
     
  34. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,276
    Please note that MM AS page it is states that full compatibility with 3rd party assets is not guaranteed. Assets authors usually don't care of maintaining consistency, and in some cases it can completely change the way things work. It brings flexibility in developing of each individual asset, but sometimes creates issues like that. I'm still trying to make it work each time asset author makes it unworkable, but fixing compatibility issues is not the highest priority.

    I can try to help, but I don't know what trouble you ran into. And how exactly the snow forest differs from the regular one.
     
    IsobelShasha likes this.
  35. keithsoulasa

    keithsoulasa

    Joined:
    Feb 15, 2012
    Posts:
    2,126

    I would just like to have some more sample graphs to learn from.


    Edit: Overall this has been amazing for my game, thank you .
     
  36. IsobelShasha

    IsobelShasha

    Joined:
    Sep 19, 2018
    Posts:
    11
    Possibly dumb question: How do I access textures/splatmaps (such as a cavity map) from a custom terrain shader? I've tried using the "custom material" output node but it seems broken and undocumented.

    I think I could make a workaround by using the Direct Textures output node but that feels incorrect since i'd need to give each tile a new component to read from DirectTextures- and besides i'm really just trying to access the splatmaps that the terrain should already have?

    using URP in 2021.2 with mm2 v2.1.8.

    I also posted to idea informer, sorry if that's annoying, wasn't sure what the best channel to ask is. Loving mm2 so far!
     
  37. Recon03

    Recon03

    Joined:
    Aug 5, 2013
    Posts:
    845

    100%, also, no way to support it for multi player anyways, due to networking not handled the same way for every type of game... So, typically its better to let the user, handle this, when they are making there net coding anyways.

    So, I agree, its not really so much an issue with floating point... I get asked this more than anything when someone is making a multi player game. for any terrain solution.. Many ways to handle this as well ..
     
  38. Recon03

    Recon03

    Joined:
    Aug 5, 2013
    Posts:
    845
    2020.3 in general has been buggy, best to use 2019.4, or once 2021, goes into LTS, this is not an MM 2 issue, more of a buggy Unity version issues. 2020 has been buggy all around with out any assets..
     
  39. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,276
    Thanks for letting me know! I will add the possibility to define custom control texture names and will make documentation for this node.

    However, Custom Material uses per-layer control textures and normalizes them so that the sum of all texture values for each pixel is equal 1. I guess cavity mask should be applied to all channels, and should not be normalized.

    You can really use Direct Textures to access cavity map, but you will have to assign it to material using some script. To get it you can treat direct textures holder component like a dictionary:
    Code (CSharp):
    1. directTexturesHolder[myTextureName]
    I'm currently working in 2021.1, and it seems to be pretty solid and reliable.
     
    IsobelShasha likes this.
  40. Recon03

    Recon03

    Joined:
    Aug 5, 2013
    Posts:
    845

    2021 is a lot better than 2020, which is sad, I normally stay back 3 versions when using Unity.. I used Unity since the early days of Unity 2-3, and its gotten worse with there so called releases .. there LTS versions used to be good to, not anymore... 2020 is horrible.. and broken...all the way across...
     
  41. Refeas

    Refeas

    Joined:
    Nov 8, 2016
    Posts:
    192
    Hey @Wright :)
    Any progress on this issue? http://mm2.idea.informer.com/proj/?ia=136748 I reported it back in July, even sent you an email with repro graphs back then. You can find the email by subject "GetProgress bug repro graphs".
    Still happening in MM 2.1.8.
     
  42. NickMall

    NickMall

    Joined:
    Sep 17, 2020
    Posts:
    1
    Does anyone know what is causing this error or what step I missed? I am currently attempting to use the Microsplat integration with MapMagic 2. Though with how I've put things together it the entire terrain is invisible.

    Unity Version: 2020.3.0f1
    Using the Universal Render Pipeline

    I went through the steps to create the Microsplat Material, Texture Array Config, and Propdata. Put the diff_tarray, and normSAO_tarray inside of the Microsplat Material. Then, inside of Mapmagic I put the Microsplat material and propdata into the Microsplat node.

    I thought those were the steps needed to make it work. But, my terrain is currently invisible as shown below.
    GraphImage.PNG MainTerrain.PNG MapmagicSettings.PNG EditorWindow.PNG
     
  43. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,276
    You were right, adding keywordSO seems to be solving this issue. Here is a fix (copy to MapMagic\Compatibility\MicroSplat), however I had some changes for 2.2.0 - let me know if it won't compile, I'll fix it on a stable branch.

    EDIT: fix works for 2.1.8

    Just to clarify - do you have MicroSplat URP module installed?
    Not sure about this module, but some require MicroSplat component. Try turning on Set Component in MicroSplat output - Advanced and assign PropData asset.

    Nope, did not expect someone is blocked with this issue. Sorry... Will try to look into it this weekend.
     
    Last edited: Dec 2, 2021
  44. mick129

    mick129

    Joined:
    Jun 19, 2013
    Posts:
    228
    Maybe I do something wrong but someone told me it was possible to use MM2 along with Microsplat AND be able to texture the terrain manually once the terrain is done (and textured via MM2).

    Someone here can explain the workflow to achieve this?
     
  45. KingfisherWyvernStudio

    KingfisherWyvernStudio

    Joined:
    Oct 5, 2011
    Posts:
    324
    Hey @Wright :)

    Upon installing MM2 in a brand new Unity project, I ran into some problems. I posted it in Discord as well, but I don't know if you still check there :)
    Unity2020.3.20F1 HDRP project (nothing in it besides Unity's default HDRP stuff).

    Here are the issues: https://discord.com/channels/440966939615952898/445594393848709122/916204660983996446
    There are 8 red errors and a bunch of yellow warnings.
    How can I fix the 8 red errors I listed in the above linked messages? (and perhaps also the yellow warnings)

    Thanks for your help! I'm looking forward to using MM2 very much!
     
  46. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,276
    It odd why it complains about MicroSplat in a new project where MicroSplat is not installed. Could you plese check whether you have __MICROSPLAT__ define enabled in Edit - Project Settings - Player - Scripting Define Symbols and remove it from list (and possibly everything else other than MapMagic2, processing stack and touch react).

    You've got to switch Apply Type to Splats (or Both) in MicroSplat Output - Advanced. This will make the usual splats appear on terrain that MS can read while editing, and painting them will change MS control textures. Possibly you will have to unpin tile and pin it again to force the changes to apply.
     
    mick129 likes this.
  47. KingfisherWyvernStudio

    KingfisherWyvernStudio

    Joined:
    Oct 5, 2011
    Posts:
    324
    It had only MM_NATIVE and MAPMAGIC2. I removed MM_NATIVE. This unfortunateliy didn't help:

    Error 1:
    Exception: Could not load graph data:
    System.Exception: Could not find type for: MapMagic.Nodes.MatrixGenerators.MicroSplatOutput200, MapMagic.MicroSplat, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
    at Den.Tools.Serializer.DeserializeObject (System.Int32 refId, Den.Tools.Serializer+Object[] serialized, System.Object[] deserialized, System.Object[] reuse, System.Action`1[T] onBeforeDeserialize) [0x00500] in D:\Testprojects\MapMagicHDRP\Assets\MapMagic\Tools\Serializer.cs:643
    at Den.Tools.Serializer.DeserializeObject (System.Int32 refId, Den.Tools.Serializer+Object[] serialized, System.Object[] deserialized, System.Object[] reuse, System.Action`1[T] onBeforeDeserialize) [0x00348] in D:\Testprojects\MapMagicHDRP\Assets\MapMagic\Tools\Serializer.cs:582
    at Den.Tools.Serializer.DeserializeObject (System.Int32 refId, Den.Tools.Serializer+Object[] serialized, System.Object[] deserialized, System.Object[] reuse, System.Action`1[T] onBeforeDeserialize) [0x0046b] in D:\Testprojects\MapMagicHDRP\Assets\MapMagic\Tools\Serializer.cs:633
    at Den.Tools.Serializer.Deserialize (Den.Tools.Serializer+Object[] serialized, System.Action`1[T] onBeforeDeserialize) [0x0000f] in D:\Testprojects\MapMagicHDRP\Assets\MapMagic\Tools\Serializer.cs:191
    at MapMagic.Nodes.GraphSerializer200Beta.Deserialize (MapMagic.Nodes.Graph graph) [0x0000b] in D:\Testprojects\MapMagicHDRP\Assets\MapMagic\Nodes\GraphSerializer.cs:60
    at MapMagic.Nodes.Graph.OnAfterDeserialize () [0x00008] in D:\Testprojects\MapMagicHDRP\Assets\MapMagic\Nodes\Graph.cs:1156
    MapMagic.Nodes.Graph.OnAfterDeserialize () (at Assets/MapMagic/Nodes/Graph.cs:1165)​

    Error 2:
    Exception: Could not load graph data:
    System.Exception: Could not find type for: MapMagic.Nodes.ObjectsGenerators.Split200+SplitLayer, MapMagic, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
    at Den.Tools.Serializer.DeserializeObject (System.Int32 refId, Den.Tools.Serializer+Object[] serialized, System.Object[] deserialized, System.Object[] reuse, System.Action`1[T] onBeforeDeserialize) [0x00500] in D:\Testprojects\MapMagicHDRP\Assets\MapMagic\Tools\Serializer.cs:643
    at Den.Tools.Serializer.DeserializeObject (System.Int32 refId, Den.Tools.Serializer+Object[] serialized, System.Object[] deserialized, System.Object[] reuse, System.Action`1[T] onBeforeDeserialize) [0x00348] in D:\Testprojects\MapMagicHDRP\Assets\MapMagic\Tools\Serializer.cs:582
    at Den.Tools.Serializer.DeserializeObject (System.Int32 refId, Den.Tools.Serializer+Object[] serialized, System.Object[] deserialized, System.Object[] reuse, System.Action`1[T] onBeforeDeserialize) [0x0046b] in D:\Testprojects\MapMagicHDRP\Assets\MapMagic\Tools\Serializer.cs:633
    at Den.Tools.Serializer.Deserialize (Den.Tools.Serializer+Object[] serialized, System.Action`1[T] onBeforeDeserialize) [0x0000f] in D:\Testprojects\MapMagicHDRP\Assets\MapMagic\Tools\Serializer.cs:191
    at MapMagic.Nodes.GraphSerializer200Beta.Deserialize (MapMagic.Nodes.Graph graph) [0x0000b] in D:\Testprojects\MapMagicHDRP\Assets\MapMagic\Nodes\GraphSerializer.cs:60
    at MapMagic.Nodes.Graph.OnAfterDeserialize () [0x00008] in D:\Testprojects\MapMagicHDRP\Assets\MapMagic\Nodes\Graph.cs:1156
    MapMagic.Nodes.Graph.OnAfterDeserialize () (at Assets/MapMagic/Nodes/Graph.cs:1165)
    Error 3:
    Shader error in 'MapMagic/TerrainPreviewURP': Couldn't open include file 'Packages/com.unity.render-pipelines.universal/Shaders/Terrain/TerrainLitInput.hlsl'. at line 106

    Compiling Vertex program
    Platform defines: SHADER_API_DESKTOP UNITY_ENABLE_DETAIL_NORMALMAP UNITY_ENABLE_REFLECTION_BUFFERS UNITY_LIGHTMAP_FULL_HDR UNITY_LIGHT_PROBE_PROXY_VOLUME UNITY_PBS_USE_BRDF1 UNITY_SPECCUBE_BLENDING UNITY_SPECCUBE_BOX_PROJECTION UNITY_USE_DITHER_MASK_FOR_ALPHABLENDED_SHADOWS
    Disabled keywords: DIRLIGHTMAP_COMBINED FOG_EXP FOG_EXP2 FOG_LINEAR INSTANCING_ON LIGHTMAP_ON SHADER_API_GLES30 UNITY_ASTC_NORMALMAP_ENCODING UNITY_COLORSPACE_GAMMA UNITY_ENABLE_NATIVE_SHADOW_LOOKUPS UNITY_HALF_PRECISION_FRAGMENT_SHADER_REGISTERS UNITY_HARDWARE_TIER1 UNITY_HARDWARE_TIER2 UNITY_HARDWARE_TIER3 UNITY_LIGHTMAP_DLDR_ENCODING UNITY_LIGHTMAP_RGBM_ENCODING UNITY_METAL_SHADOWS_USE_POINT_FILTERING UNITY_NO_DXT5nm UNITY_NO_FULL_STANDARD_SHADER UNITY_NO_SCREENSPACE_SHADOWS UNITY_PBS_USE_BRDF2 UNITY_PBS_USE_BRDF3 UNITY_PRETRANSFORM_TO_DISPLAY_ORIENTATION UNITY_VIRTUAL_TEXTURING _ADDITIONAL_LIGHTS _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHT_SHADOWS _ALPHATEST_ON _MAIN_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS_CASCADE _MASKMAP _MIXED_LIGHTING_SUBTRACTIVE _NORMALMAP _SHADOWS_SOFT _TERRAIN_BLEND_HEIGHT _TERRAIN_INSTANCED_PERPIXEL_NORMAL​


    Error 4
    Shader error in 'MapMagic/TerrainPreviewURP': Couldn't open include file 'Packages/com.unity.render-pipelines.universal/Shaders/Terrain/TerrainLitInput.hlsl'. at line 160

    Compiling Fragment program
    Platform defines: SHADER_API_DESKTOP UNITY_ENABLE_DETAIL_NORMALMAP UNITY_ENABLE_REFLECTION_BUFFERS UNITY_LIGHTMAP_FULL_HDR UNITY_LIGHT_PROBE_PROXY_VOLUME UNITY_PASS_SHADOWCASTER UNITY_PBS_USE_BRDF1 UNITY_SPECCUBE_BLENDING UNITY_SPECCUBE_BOX_PROJECTION UNITY_USE_DITHER_MASK_FOR_ALPHABLENDED_SHADOWS
    Disabled keywords: INSTANCING_ON SHADER_API_GLES30 UNITY_ASTC_NORMALMAP_ENCODING UNITY_COLORSPACE_GAMMA UNITY_ENABLE_NATIVE_SHADOW_LOOKUPS UNITY_HALF_PRECISION_FRAGMENT_SHADER_REGISTERS UNITY_HARDWARE_TIER1 UNITY_HARDWARE_TIER2 UNITY_HARDWARE_TIER3 UNITY_LIGHTMAP_DLDR_ENCODING UNITY_LIGHTMAP_RGBM_ENCODING UNITY_METAL_SHADOWS_USE_POINT_FILTERING UNITY_NO_DXT5nm UNITY_NO_FULL_STANDARD_SHADER UNITY_NO_SCREENSPACE_SHADOWS UNITY_PBS_USE_BRDF2 UNITY_PBS_USE_BRDF3 UNITY_PRETRANSFORM_TO_DISPLAY_ORIENTATION UNITY_VIRTUAL_TEXTURING _ALPHATEST_ON​


    Error 5:
    Shader error in 'MapMagic/TerrainPreviewURP': Couldn't open include file 'Packages/com.unity.render-pipelines.universal/Shaders/Terrain/TerrainLitInput.hlsl'. at line 185

    Compiling Fragment program
    Platform defines: SHADER_API_DESKTOP UNITY_ENABLE_DETAIL_NORMALMAP UNITY_ENABLE_REFLECTION_BUFFERS UNITY_LIGHTMAP_FULL_HDR UNITY_LIGHT_PROBE_PROXY_VOLUME UNITY_PBS_USE_BRDF1 UNITY_SPECCUBE_BLENDING UNITY_SPECCUBE_BOX_PROJECTION UNITY_USE_DITHER_MASK_FOR_ALPHABLENDED_SHADOWS
    Disabled keywords: INSTANCING_ON SHADER_API_GLES30 UNITY_ASTC_NORMALMAP_ENCODING UNITY_COLORSPACE_GAMMA UNITY_ENABLE_NATIVE_SHADOW_LOOKUPS UNITY_HALF_PRECISION_FRAGMENT_SHADER_REGISTERS UNITY_HARDWARE_TIER1 UNITY_HARDWARE_TIER2 UNITY_HARDWARE_TIER3 UNITY_LIGHTMAP_DLDR_ENCODING UNITY_LIGHTMAP_RGBM_ENCODING UNITY_METAL_SHADOWS_USE_POINT_FILTERING UNITY_NO_DXT5nm UNITY_NO_FULL_STANDARD_SHADER UNITY_NO_SCREENSPACE_SHADOWS UNITY_PBS_USE_BRDF2 UNITY_PBS_USE_BRDF3 UNITY_PRETRANSFORM_TO_DISPLAY_ORIENTATION UNITY_VIRTUAL_TEXTURING _ALPHATEST_ON​


    Error 6:
    Shader error in 'MapMagic/TerrainPreviewURP': Couldn't open include file 'Packages/com.unity.render-pipelines.universal/Shaders/Terrain/TerrainLitInput.hlsl'. at line 208

    Compiling Vertex program
    Platform defines: SHADER_API_DESKTOP UNITY_ENABLE_DETAIL_NORMALMAP UNITY_ENABLE_REFLECTION_BUFFERS UNITY_LIGHTMAP_FULL_HDR UNITY_LIGHT_PROBE_PROXY_VOLUME UNITY_PBS_USE_BRDF1 UNITY_SPECCUBE_BLENDING UNITY_SPECCUBE_BOX_PROJECTION UNITY_USE_DITHER_MASK_FOR_ALPHABLENDED_SHADOWS
    Disabled keywords: INSTANCING_ON SHADER_API_GLES30 UNITY_ASTC_NORMALMAP_ENCODING UNITY_COLORSPACE_GAMMA UNITY_ENABLE_NATIVE_SHADOW_LOOKUPS UNITY_HALF_PRECISION_FRAGMENT_SHADER_REGISTERS UNITY_HARDWARE_TIER1 UNITY_HARDWARE_TIER2 UNITY_HARDWARE_TIER3 UNITY_LIGHTMAP_DLDR_ENCODING UNITY_LIGHTMAP_RGBM_ENCODING UNITY_METAL_SHADOWS_USE_POINT_FILTERING UNITY_NO_DXT5nm UNITY_NO_FULL_STANDARD_SHADER UNITY_NO_SCREENSPACE_SHADOWS UNITY_PBS_USE_BRDF2 UNITY_PBS_USE_BRDF3 UNITY_PRETRANSFORM_TO_DISPLAY_ORIENTATION UNITY_VIRTUAL_TEXTURING _ALPHATEST_ON​

    Error 7:
    Exception: Could not load graph data:
    System.Exception: Could not find type for: MapMagic.Nodes.MatrixGenerators.MicroSplatOutput200, MapMagic.MicroSplat, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
    at Den.Tools.Serializer.DeserializeObject (System.Int32 refId, Den.Tools.Serializer+Object[] serialized, System.Object[] deserialized, System.Object[] reuse, System.Action`1[T] onBeforeDeserialize) [0x00500] in D:\Testprojects\MapMagicHDRP\Assets\MapMagic\Tools\Serializer.cs:643
    at Den.Tools.Serializer.DeserializeObject (System.Int32 refId, Den.Tools.Serializer+Object[] serialized, System.Object[] deserialized, System.Object[] reuse, System.Action`1[T] onBeforeDeserialize) [0x00348] in D:\Testprojects\MapMagicHDRP\Assets\MapMagic\Tools\Serializer.cs:582
    at Den.Tools.Serializer.DeserializeObject (System.Int32 refId, Den.Tools.Serializer+Object[] serialized, System.Object[] deserialized, System.Object[] reuse, System.Action`1[T] onBeforeDeserialize) [0x0046b] in D:\Testprojects\MapMagicHDRP\Assets\MapMagic\Tools\Serializer.cs:633
    at Den.Tools.Serializer.Deserialize (Den.Tools.Serializer+Object[] serialized, System.Action`1[T] onBeforeDeserialize) [0x0000f] in D:\Testprojects\MapMagicHDRP\Assets\MapMagic\Tools\Serializer.cs:191
    at MapMagic.Nodes.GraphSerializer200Beta.Deserialize (MapMagic.Nodes.Graph graph) [0x0000b] in D:\Testprojects\MapMagicHDRP\Assets\MapMagic\Nodes\GraphSerializer.cs:60
    at MapMagic.Nodes.Graph.OnAfterDeserialize () [0x00008] in D:\Testprojects\MapMagicHDRP\Assets\MapMagic\Nodes\Graph.cs:1156
    MapMagic.Nodes.Graph.OnAfterDeserialize () (at Assets/MapMagic/Nodes/Graph.cs:1165)
    MapMagic.Nodes.Graph.OnBeforeSerialize () (at Assets/MapMagic/Nodes/Graph.cs:1142)​


    Error 8:
    Exception: Could not load graph data:
    System.Exception: Could not find type for: MapMagic.Nodes.ObjectsGenerators.Split200+SplitLayer, MapMagic, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
    at Den.Tools.Serializer.DeserializeObject (System.Int32 refId, Den.Tools.Serializer+Object[] serialized, System.Object[] deserialized, System.Object[] reuse, System.Action`1[T] onBeforeDeserialize) [0x00500] in D:\Testprojects\MapMagicHDRP\Assets\MapMagic\Tools\Serializer.cs:643
    at Den.Tools.Serializer.DeserializeObject (System.Int32 refId, Den.Tools.Serializer+Object[] serialized, System.Object[] deserialized, System.Object[] reuse, System.Action`1[T] onBeforeDeserialize) [0x00348] in D:\Testprojects\MapMagicHDRP\Assets\MapMagic\Tools\Serializer.cs:582
    at Den.Tools.Serializer.DeserializeObject (System.Int32 refId, Den.Tools.Serializer+Object[] serialized, System.Object[] deserialized, System.Object[] reuse, System.Action`1[T] onBeforeDeserialize) [0x0046b] in D:\Testprojects\MapMagicHDRP\Assets\MapMagic\Tools\Serializer.cs:633
    at Den.Tools.Serializer.Deserialize (Den.Tools.Serializer+Object[] serialized, System.Action`1[T] onBeforeDeserialize) [0x0000f] in D:\Testprojects\MapMagicHDRP\Assets\MapMagic\Tools\Serializer.cs:191
    at MapMagic.Nodes.GraphSerializer200Beta.Deserialize (MapMagic.Nodes.Graph graph) [0x0000b] in D:\Testprojects\MapMagicHDRP\Assets\MapMagic\Nodes\GraphSerializer.cs:60
    at MapMagic.Nodes.Graph.OnAfterDeserialize () [0x00008] in D:\Testprojects\MapMagicHDRP\Assets\MapMagic\Nodes\Graph.cs:1156
    MapMagic.Nodes.Graph.OnAfterDeserialize () (at Assets/MapMagic/Nodes/Graph.cs:1165)
    MapMagic.Nodes.Graph.OnBeforeSerialize () (at Assets/MapMagic/Nodes/Graph.cs:1142)​

    Error 9:
    Exception: Could not load graph data:
    System.Exception: Could not find type for: MapMagic.Nodes.MatrixGenerators.MicroSplatOutput200, MapMagic.MicroSplat, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
    at Den.Tools.Serializer.DeserializeObject (System.Int32 refId, Den.Tools.Serializer+Object[] serialized, System.Object[] deserialized, System.Object[] reuse, System.Action`1[T] onBeforeDeserialize) [0x00500] in D:\Testprojects\MapMagicHDRP\Assets\MapMagic\Tools\Serializer.cs:643
    at Den.Tools.Serializer.DeserializeObject (System.Int32 refId, Den.Tools.Serializer+Object[] serialized, System.Object[] deserialized, System.Object[] reuse, System.Action`1[T] onBeforeDeserialize) [0x00348] in D:\Testprojects\MapMagicHDRP\Assets\MapMagic\Tools\Serializer.cs:582
    at Den.Tools.Serializer.DeserializeObject (System.Int32 refId, Den.Tools.Serializer+Object[] serialized, System.Object[] deserialized, System.Object[] reuse, System.Action`1[T] onBeforeDeserialize) [0x0046b] in D:\Testprojects\MapMagicHDRP\Assets\MapMagic\Tools\Serializer.cs:633
    at Den.Tools.Serializer.Deserialize (Den.Tools.Serializer+Object[] serialized, System.Action`1[T] onBeforeDeserialize) [0x0000f] in D:\Testprojects\MapMagicHDRP\Assets\MapMagic\Tools\Serializer.cs:191
    at MapMagic.Nodes.GraphSerializer200Beta.Deserialize (MapMagic.Nodes.Graph graph) [0x0000b] in D:\Testprojects\MapMagicHDRP\Assets\MapMagic\Nodes\GraphSerializer.cs:60
    at MapMagic.Nodes.Graph.OnAfterDeserialize () [0x00008] in D:\Testprojects\MapMagicHDRP\Assets\MapMagic\Nodes\Graph.cs:1156
    MapMagic.Nodes.Graph.OnAfterDeserialize () (at Assets/MapMagic/Nodes/Graph.cs:1165)​


    Error 10:
    Exception: Could not load graph data:
    System.Exception: Could not find type for: MapMagic.Nodes.ObjectsGenerators.Split200+SplitLayer, MapMagic, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
    at Den.Tools.Serializer.DeserializeObject (System.Int32 refId, Den.Tools.Serializer+Object[] serialized, System.Object[] deserialized, System.Object[] reuse, System.Action`1[T] onBeforeDeserialize) [0x00500] in D:\Testprojects\MapMagicHDRP\Assets\MapMagic\Tools\Serializer.cs:643
    at Den.Tools.Serializer.DeserializeObject (System.Int32 refId, Den.Tools.Serializer+Object[] serialized, System.Object[] deserialized, System.Object[] reuse, System.Action`1[T] onBeforeDeserialize) [0x00348] in D:\Testprojects\MapMagicHDRP\Assets\MapMagic\Tools\Serializer.cs:582
    at Den.Tools.Serializer.DeserializeObject (System.Int32 refId, Den.Tools.Serializer+Object[] serialized, System.Object[] deserialized, System.Object[] reuse, System.Action`1[T] onBeforeDeserialize) [0x0046b] in D:\Testprojects\MapMagicHDRP\Assets\MapMagic\Tools\Serializer.cs:633
    at Den.Tools.Serializer.Deserialize (Den.Tools.Serializer+Object[] serialized, System.Action`1[T] onBeforeDeserialize) [0x0000f] in D:\Testprojects\MapMagicHDRP\Assets\MapMagic\Tools\Serializer.cs:191
    at MapMagic.Nodes.GraphSerializer200Beta.Deserialize (MapMagic.Nodes.Graph graph) [0x0000b] in D:\Testprojects\MapMagicHDRP\Assets\MapMagic\Nodes\GraphSerializer.cs:60
    at MapMagic.Nodes.Graph.OnAfterDeserialize () [0x00008] in D:\Testprojects\MapMagicHDRP\Assets\MapMagic\Nodes\Graph.cs:1156
    MapMagic.Nodes.Graph.OnAfterDeserialize () (at Assets/MapMagic/Nodes/Graph.cs:1165)​

    I don't quite understand why I've got error 3-6 because I have a clean HDRP project and installed MM2 into that.

    I also have 11 yellow warnings. All about shader warnings for HDRP.

    Thanks again for the help!
     
  48. WickedRabbitGames

    WickedRabbitGames

    Joined:
    Oct 11, 2015
    Posts:
    79
    Question... I'd like to stretch a RAW height map over four pinned terrains. I have imported the RAW file, and it works fine, but only on one of the four terrains.
     
  49. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,276
    The first error related with MicroSplat graph - it cannot find MS output to load it. Other graphs should work fine. However it's not good to have this on loading, and it will be fixed for 2.2.0 (quick fix - it's not actually required).
    I could not reproduce the other errors, but they might be related with some specific graphs as well.

    You've got to increase the scale value in Import node.
     
    twobob likes this.
  50. dibgickfooker

    dibgickfooker

    Joined:
    Nov 7, 2021
    Posts:
    7
    Hello,

    I'm having an issue with Mapmagic objects, if anyone would like to help I'd appreciate it :)!

    I'm using Mapmagic objects to spawn objects on infinite terrain. Sometimes, albeit quite rarely, many objects will be just "in the air" and not in the terrain. The issue is rare so it is hard to reproduce and debug, but when it does happen it completely is game breaking as there's hundreds of rocks and trees just in the air.

    I've no idea what's causing it and how I could go about fixing it. If anyone has any ideas what could be the cause behind it, I'd appreciate it. I'll keep debugging and if I find a solution myself I'll update here. Also, I am using the latest version.

    Cheers!