Search Unity

[RELEASED] MapMagic 2 - infinite procedural land generator

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

  1. focuslabstudios

    focuslabstudios

    Joined:
    Feb 23, 2018
    Posts:
    30
    reported both issues
     
  2. twobob

    twobob

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

    twobob

    Joined:
    Jun 28, 2014
    Posts:
    2,037
    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
     
  4. twobob

    twobob

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

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

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

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,036
    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.
     
  6. PolyMad

    PolyMad

    Joined:
    Mar 19, 2009
    Posts:
    2,282
    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...
     
  7. airop

    airop

    Joined:
    Sep 4, 2012
    Posts:
    25
    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.
     
  8. PolyMad

    PolyMad

    Joined:
    Mar 19, 2009
    Posts:
    2,282
    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.
  9. twobob

    twobob

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

    airop

    Joined:
    Sep 4, 2012
    Posts:
    25
    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
     
  11. AshyB

    AshyB

    Joined:
    Aug 9, 2012
    Posts:
    176
    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.
  12. RandAlThor

    RandAlThor

    Joined:
    Dec 2, 2007
    Posts:
    1,291
    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
  13. PiterQ70

    PiterQ70

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

    AshyB

    Joined:
    Aug 9, 2012
    Posts:
    176
    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.
  15. RandAlThor

    RandAlThor

    Joined:
    Dec 2, 2007
    Posts:
    1,291
    Last edited: Nov 7, 2021
  16. twobob

    twobob

    Joined:
    Jun 28, 2014
    Posts:
    2,037
    RandAlThor likes this.
  17. PutridEx

    PutridEx

    Joined:
    Feb 3, 2021
    Posts:
    504
    Wright and twobob like this.
  18. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,036
    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.
  19. 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.
  20. AshyB

    AshyB

    Joined:
    Aug 9, 2012
    Posts:
    176
    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.
     
  21. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,036
    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.
  22. LibooSoft

    LibooSoft

    Joined:
    Jun 19, 2019
    Posts:
    11
    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?
     
  23. twobob

    twobob

    Joined:
    Jun 28, 2014
    Posts:
    2,037

    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.
  24. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,036
    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?
     
  25. twobob

    twobob

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

    keithsoulasa

    Joined:
    Feb 15, 2012
    Posts:
    2,115
    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 !
     
  27. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,036
    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.
     
  28. keithsoulasa

    keithsoulasa

    Joined:
    Feb 15, 2012
    Posts:
    2,115
    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
     
  29. Oingman

    Oingman

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

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,036
    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.
  31. keithsoulasa

    keithsoulasa

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

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

    mick129

    Joined:
    Jun 19, 2013
    Posts:
    148
    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
    IsobelShasha, Wright and twobob like this.
  33. twobob

    twobob

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

    focuslabstudios

    Joined:
    Feb 23, 2018
    Posts:
    30
    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?
     
  35. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,036
    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.
  36. keithsoulasa

    keithsoulasa

    Joined:
    Feb 15, 2012
    Posts:
    2,115

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


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

    IsobelShasha

    Joined:
    Sep 19, 2018
    Posts:
    7
    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!
     
  38. Recon03

    Recon03

    Joined:
    Aug 5, 2013
    Posts:
    679

    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 ..
     
  39. Recon03

    Recon03

    Joined:
    Aug 5, 2013
    Posts:
    679
    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..
     
  40. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,036
    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.
  41. Recon03

    Recon03

    Joined:
    Aug 5, 2013
    Posts:
    679

    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...
     
  42. Refeas

    Refeas

    Joined:
    Nov 8, 2016
    Posts:
    190
    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.
     
  43. 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
     
unityunity