Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.

MapMagic 2 - infinite procedural land generator

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

  1. JGameMaker92

    JGameMaker92

    Joined:
    Oct 15, 2014
    Posts:
    40
    I think it was happening because I didn't have a camera in the scene when I started the game. It went away after I turned off Generate Terrain Markers around the Main Camera and also after my camera got added to the scene.
     
  2. taylank

    taylank

    Joined:
    Nov 3, 2012
    Posts:
    181
    Hi @Wright,

    I'm trying to write a custom node that averages heights within a certain range, to create a game board tile look.

    upload_2022-5-4_12-57-19.png

    I'm doing this by reading the values for each coord within the tile coord rect, and setting its value to the average value of its neighbours. The problem I'm running into though is that unless my neighbour range setting is a denominator of the tile size, I end up with seams along the edges. Is there a way to avoid this? I.e. is it possible to read the values of adjacent tiles during generation so I can do the averaging across terrain tiles?

    EDIT: nevermind, I just realized that's what margins are for!
     
    Last edited: May 5, 2022
  3. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,100
    Exactly! BTW I like your screen :)

    Glad you could sort that out!
     
  4. taylank

    taylank

    Joined:
    Nov 3, 2012
    Posts:
    181
    Haha thanks, you might like this one even more.

    I'm starting to think I might want to write a hex based add on for MM2. unknown.png
     
    Wright and Hikiko66 like this.
  5. JGameMaker92

    JGameMaker92

    Joined:
    Oct 15, 2014
    Posts:
    40
    I'm having some serious issues getting Microsplat working with Map Magic 2. Been trying for a couple days now. It looks all pretty in your demo scene but when I try to do the same thing with mine it gets all glitchy. Tried following along with the youtube video from 2019 too but that was pretty outdated. I've tried playing around with a bunch of the settings too but I can't figure out why it's not working.

    IMB_pPWhsT.GIF
     
  6. daspete01

    daspete01

    Joined:
    Aug 19, 2015
    Posts:
    13
    hello, i have a question.... why is there an ssh.exe file in the mapmagic folder after downloading the package?
     
  7. jukibom

    jukibom

    Joined:
    Aug 31, 2015
    Posts:
    46
    It's ssh.exe.stackdump, a memory dump filetype created when an application crashes (in this case, ssh.exe) - I suspect dennis accidently packaged this!
     
  8. jukibom

    jukibom

    Joined:
    Aug 31, 2015
    Posts:
    46
    2.1.10 lists a native mac fix - is this native C++ on M1 macs?

    Is there any chance of getting native plugin support on Linux / SteamDeck? I've had a poke around the native plugin repository but I must confess to not having a clue what I'm doing!
     
    Last edited: May 10, 2022
  9. daspete01

    daspete01

    Joined:
    Aug 19, 2015
    Posts:
    13
    Hello again.

    I have a maybe dumb question.... i am working with the infinite terrain option, and when i am walking long enough, so that there were 2 or three tiles generated, there is no more grass generated and also no objects anymore.

    How can i overcome this issue?

    Edit: Seems like there is already an open issue on the projects issues list: https://gitlab.com/denispahunov/mapmagic/-/issues/378
     
    Last edited: May 11, 2022
  10. daspete01

    daspete01

    Joined:
    Aug 19, 2015
    Posts:
    13
    oh.... my fault.... i looked too fast... i had a crash before, so this is the reason :) thx for clarify :)
     
  11. JingchengYang4

    JingchengYang4

    Joined:
    Apr 18, 2017
    Posts:
    17
    Issue regarding Apple Silicon Native C++ code still not resolved
     
  12. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,100
    Looks like applying non-instancing shader to instanced mesh - as far as I know MS HDRP doesn't work with instanced terrains. Try switching terrain instancing in MM object Terrain Properties (Draw Instanced).

    2All: you might find useful Compatibility FAQ

    It's a source code to build library for any platform, including Linux and possibly SteamDeck. Open the project in code Visual Studio / VIM / Sublime, perform a build and copy the build files into the Plugins folder.

    If someone seen a good tutorial on building native plugins for Unity feel free to share. I found this one.

    Is there anything special about your build - WebGL? Render pipeline?

    Could you please remind what the issue is? MapMagic should work with native support disabled on all platforms. To enable native support for specific platforms you can perform a build of MM's native source code.

    Glad you could sort that out! I've checked for exe files in MM folder anyways, none found :)
     
    jukibom likes this.
  13. afroraydude

    afroraydude

    Joined:
    Oct 12, 2014
    Posts:
    3
    Hello! I am currently having an issue getting this to run on a Unity Dedicated Server Build. I always get an error from the system and I don't know where it is coming from.

    This is the log I get: https://pastebin.com/XzA5T9kZ
     
  14. jukibom

    jukibom

    Joined:
    Aug 31, 2015
    Posts:
    46
    Thanks for this! I've tried a bunch of different ways to build this:
    * CMake from your linked tutorial,
    * this handy starter repo (which also includes apple silicon if anyone has an M1 handy ...)
    * simply using gcc:
    g++ *.cpp -O3 -fPIC -shared -o libNativePlugins.so


    In either case, the generated libNativePlugins.so will not load on a linux build. There aren't many settings in Unity to speak of.

    upload_2022-5-13_7-56-39.png


    Code (CSharp):
    1. Fallback handler could not load library /mnt/d/Fly Dangerous/Source/bin/linux/flydangerous_Data/MonoBleedingEdge/x86_64/libNativePlugins.so
    2. Fallback handler could not load library /mnt/d/Fly Dangerous/Source/bin/linux/flydangerous_Data/MonoBleedingEdge/x86_64/libNativePlugins.so
    3. Fallback handler could not load library /mnt/d/Fly Dangerous/Source/bin/linux/flydangerous_Data/MonoBleedingEdge/x86_64/libNativePlugins
    4. Thread failed: System.DllNotFoundException: NativePlugins assembly:<unknown assembly> type:<unknown type> member:(null)
    5.   at (wrapper managed-to-native) MapMagic.Nodes.MatrixGenerators.Noise200.GeneratorNoise200(Den.Tools.Matrices.Matrix,Den.Tools.Noise,MapMagic.Products.StopToken,int,single,single,single,single,single,single,single,single,single,single)
    (I had to manually copy the library to the flydangerous_Data/MonoBleedingEdge/x86_64/ folder, it's only copied to flydangerous_Data/Plugins by build - I'm not sure if this is related...)

    I've also tried with a path without spaces just to make sure it's not dumb path-related but that wouldn't make much sense anyway as everything else loads fine, including libsteam.

    Any idea if there's something dumb I'm missing here?
     
  15. daspete01

    daspete01

    Joined:
    Aug 19, 2015
    Posts:
    13
    Hello, thx for your reply.

    I am using Unity 2021.3.2, i built a native Windows x64 build, and used the Standard RP (not the URP or HDRP)

    It looks like all tiles, which were pinned in the editor will get the grass, but everything, which was generated at runtime, don't get the details.
     
  16. afroraydude

    afroraydude

    Joined:
    Oct 12, 2014
    Posts:
    3
    I fixed my previous issue and am currently wondering if there is a way to change the value of exposed variables that are used in a biome within a biome set?
     
  17. protopop

    protopop

    Joined:
    May 19, 2009
    Posts:
    1,530
    I'm asking this question in the Microsplat Discord too because they might be related.

    Im trying to use SetAlphaMaps to paint a dirt road texture on my MapMagic 1 terrain. I =My road is a lot of vector3 points created by a pathfinder, and I then flatten terrain and remove grass and trees along the path. The only thing I cant get working is changing the splat map.

    I read a post earlier in this thread that mentioned terrain painting working with Microsplat, Working with MapMagic 2, but not with both.

    Is there any information or tips about this? Is there a way to paint at runtime on Microsplat Mapmagic terrains? Do you think there is anything that might be blocking a SetAlphaMaps with both applied? And direction to help me track this down is appreciated.

    EDIT: I did notice I can paint textures on a regular terrain in the editor, but not on my generated MapMAgic Microsplat terrain in the editor. I am guessing something in Mircosplat and/or MapMagic is preventing that?

    I spoke with Jason from Microsplat and he said maybe MapMagic (one, at least) would bypass Unity's alpha maps and write to custom textures with MicroSplat. Im not sure what this means but does that sound like it could be something that is happening, and could that kind of block me from painting on teh terrain? if yes, are there other splatmaps that belong to mapmagic I can modify via SetAlphamaps or another method?

    FS24tq6XsAEN1S1.jpeg
     
    Last edited: May 17, 2022
  18. protopop

    protopop

    Joined:
    May 19, 2009
    Posts:
    1,530
    Ok I figure it out. I'm not sure if this applies to MM2 but I am leaving it here in case it helps anyone.

    Basically I was trying to use the standard SetAlphaMaps process to change textures on my terrain. But I think what happens is when you combine microsplat and MapMagic, MapMagic generates separate splatmap textures to control the terrain and microsplat uses these instead.

    These textures are in the MicroSplatTerrain.cs that gets attached to your terrain. They are called customControl0, customControl1....
    I accessed those and modified them directly using set pixel.

    here was my test that set all the pixels in a custom splatmap to black.


    Code (CSharp):
    1. Color cl = Color.black;
    2. Texture2D tex = terrain.GetComponent<MicroSplatTerrain>().customControl0;
    3.  
    4. for (int y = 0; y < tex.width; y++)
    5. {
    6.             for (int x = 0; x < tex.height; x++)
    7.             {
    8.                 tex.SetPixel(x, y, cl);
    9.             }
    10.         }
    11.  
    12. tex.Apply();
    now I am able to paint paths over my terrain at runtime with microsplat and MapMagic. I would be interested to hear if MapMagic 2 works in a similar way because eventually I will be upgrading my project from MM1 to MM2 and I will likely encounter such an issue again. A big thank you to Jason from microsplat for helping me understand a lot of the inner workings regarding terrains and splatmaps.
     
  19. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,100
    Glad you could sort that out! However this might be related as well (Compatibility FAQ: paint MicroSplat manually)

    No, biomes do not work with exposed values, but Functions do. Theoretically functions can do all that biomes do. They have way greater possibilities than biomes - but it comes at a price of more complex graph.

    Thanks for info! I remember this issue reported, but will try to reproduce it again - now with your setup.

    Unfortunately can't give any advise on this - have not ever tried build anything on Linux. The only guess I have - c# code requires direct library name, so might it be that it's called libNativePlugins, not just NativePlugins the issue?
     
  20. ajaxlex

    ajaxlex

    Joined:
    Jul 15, 2016
    Posts:
    38
    Hello everyone. In the spirit of public service, I'd like to share with you some hard won wisdom about peculiarities of the Map Magic 2.

    I spent a few hours today trying to resolve issues with seams that recently appeared in some terrains that I have been working on. I reviewed settings, pinned and unpinned tiles, restarted Unity, etc.

    Finally I noticed that a small amount of rotation had worked its way into my master map object. Upon resetting that rotation to zero, the seams vanished.

    Denis, I recommend placing some defensive code in the MM Object MonoBehavior that sets its rotation back to zero if it is ever changed. If someone wishes to rotate their map, then they can create an enclosing object, and rotate that instead.

    MM_RotationIssue.png
     
    ledshok, protopop and jukibom like this.
  21. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,100
    The thing is that MM can be rotated. It's just Unity terrain who can't. So terrains stay axis-aligned, while their positions are rotating. I can't say that it's Unity bug - it's just the way it works. However, in some cases it might be handy to rotate the terrain grid, if it's size should fit in rotated square or if we have some requirements to terrain's wireframe topology. My experience shows that it's not a good solution to fix Unity's drawbacks intentionally with some hacky restrictions or limitations. At least at some point they can fix this. The right solution would be re-address this to Unity.
     
  22. ajaxlex

    ajaxlex

    Joined:
    Jul 15, 2016
    Posts:
    38
    Thanks for the reply Denis. That's good to know. After some digging, my understanding is that Unity's terrain cannot be ( trivially ) rotated due to optimizations that they have implemented for it ( I am curious about what those are ).

    Mostly I am concerned with people losing time due to unexpected interactions. I am confident that there are other users who have lost time to this issue - maybe a note in the FAQ or a warning in the UI would do the trick.

    Finally, thanks for maintaining and improving this tool - I just bought the brush extension - looking forward to some new workflows.
     
    Wright likes this.
  23. antsonthetree

    antsonthetree

    Joined:
    May 15, 2015
    Posts:
    100
    Hello @Wright

    Question: I need to procedurally generate 6 to 8 floating islands in each scene. The islands float in the sky at different Y axis levels and also move around - thus they cannot be connected by a giant tile plane.

    How can I create these separate islands with Map Magic? I've been playing around with it a bit but all the demos just show how to make a single island or infinite terrain etc. Would I need to add a different MM instance for each Island? Any other thoughts/tips would be appreciated.

    Thanks!
     
  24. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,100
    May I ask what do you mean under floating islands? MapMagic generates terrain data for Unity terrain, and I guess these islands can't be created with standard means. Unity terrains are just flat relief patches, and they are square in shape. I guess there is a way to cut-out some island-like shape (but still with square edges), but how it will have stratum surface under the floating island?
     
    antsonthetree likes this.
  25. antsonthetree

    antsonthetree

    Joined:
    May 15, 2015
    Posts:
    100
    @Wright My bad - floating islands as in islands that float around in the sky.

    I've found a workflow that is producing good results for the moment. I have several pre-created island bases that I just plant a MM terrain on top of. During level load I use a single MM object to create the terrains. I cycle the seed and also the graph for each one. Then I clone the terrain and stick it on top of one of the island bases (basically an upside down mountain terrain) and move it to some random location in the sky. Then I use a script to replace all the MM terrain values below a certain level with a hole using SetHoles. This prevents the flat square areas of the terrain from sticking out into space.
     
  26. tongchimlang

    tongchimlang

    Joined:
    Mar 12, 2014
    Posts:
    16
    How to fix shader error on Biomes (Graph)..?
    - MapMagic 2 Bundle 2.1.9
    - Unity 2021.2.12f1
    Thank...
     

    Attached Files:

    • ee.png
      ee.png
      File size:
      331.3 KB
      Views:
      88
  27. darrelltstevens

    darrelltstevens

    Joined:
    May 27, 2016
    Posts:
    31
    early work of wrapping world and global biomes

     
  28. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,100
    Thanks for sharing your approach! It will be a useful help to someone who is going to make floating islands as well!

    Only curious how are you make the mountains upside down - it will have normals flipped, and terrain could not be rotated?

    Do you have the same gray terrain if you open Snow Plains scene (it has the terrain that is used at the right in Biomes)?

    Looks interesting! Can you share some more info on that? It's hard to say what's it about from one screen.
     
  29. afavar

    afavar

    Joined:
    Jul 17, 2013
    Posts:
    29
    Hi, I am trying to make several changes with the ObjectsPool.cs script to work with Mirror Networking. However, I can't use the namespace Mirror. I get the "The type or namespace name 'Mirror' could not be found" error. I can use it from my own scripts without a problem. Am I missing something here?
     
  30. Giantsmall

    Giantsmall

    Joined:
    Apr 28, 2019
    Posts:
    16
    Hello,
    Is there possibility to get points from splines in code?
    Here's example:
    upload_2022-5-27_16-0-5.png
     
  31. darrelltstevens

    darrelltstevens

    Joined:
    May 27, 2016
    Posts:
    31
    upload_2022-5-28_3-32-54.png upload_2022-5-28_3-33-59.png upload_2022-5-28_3-35-56.png
    Join the Discord :
    https://discord.gg/37HUqarSqY

    The goal is to make a fully procedural planet, and i know that im arguably using map magic in a way not exactly intended for use - but with a fair number of custom generators related to climate and initial terrain generation, after 4 months it looks like this kinda.

    I am having my share of difficulties related to limitations that I dont know how to readily get around, but im getting there.


    upload_2022-5-28_3-32-54.png

    This is older gen image and has the gridlines - both of these tile grids are the same size and i included it for reference. I am doing grids from 3x5 to 20x30 in size.
     
  32. darrelltstevens

    darrelltstevens

    Joined:
    May 27, 2016
    Posts:
    31
    Join the Discord :
    https://discord.gg/37HUqarSqY

    I am aiming to make a EGS style game, with more scene detail and a dash more realism.
    MM will most likely make up only the habitable planets i think...
    These shots are from my biomes generation phase using map magic 2 :
    upload_2022-5-28_3-55-47.png upload_2022-5-28_3-56-45.png upload_2022-5-28_3-57-40.png upload_2022-5-28_4-0-5.png upload_2022-5-28_4-0-55.png
     
    Last edited: May 28, 2022
  33. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,100
    I've spend two days trying to reproduce the grass issue in build:
    - Why is it not displayed in build for billboard grass, while shown in editor?
    - Why it has no opacity in build for usual grass, while drawing properly opacity in editor?

    I ended up that it's not related with MM. I created an empty project (no MM import), and made a script that creates terrain and assigns grass. Still the issue is the same.

    I've reported a ticket with description and necessary attachments. Hope Unity can fix it one day.

    It might be that Mirror Networking is using separate assembles, so you can't access it's code from MM, as well as you can't access vice versa. You have to create a separate assemble that has references to both MM and MN - see MapMagic\Compatibility\MicroSplat or MapMagic\Compatibility\VegetationStudio as a reference. You can also modify MM asmdef files to add reference to Mirror Networking, but you will have to do it with each new MM update.

    It is possible if you are accessing splines with a custom node. See SplineSys.cs for details.
    mySplineSys.lines[a].segments[b].start
    will return node position of the b point in the a line.

    However splines exist only while generating, they are not saved somewhere to use later. So there is no way to access this otherwise than from a custom node.


    It's really not an easy task. Good luck with it!
     
    daspete01 and Giantsmall like this.
  34. afavar

    afavar

    Joined:
    Jul 17, 2013
    Posts:
    29
    Hey @Wright , thank you for your answer regarding on the namespace problem. I have found an another way to sync mm objects on network.

    I have a new issue though. I create a mapmagic object and delete the first tile. I click play in the editor and it generates terrain with objects as expected. However, when I take a build, terrain does not appear. (Objects are created though.) Only way I could make it work on the build is to uncheck "draw instanced" in the terrain properties. Btw, If I don't delete the first tile, terrain does appear in the build.
     
  35. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,100
    You've got to include terrain shader in build. If there's no terrain Unity doesn't understand that they are needed and ignores them. Here is the short instruction: FAQ: My terrain not visible in build.
     
    afavar likes this.
  36. Crowsinger

    Crowsinger

    Joined:
    Apr 23, 2022
    Posts:
    12
    Hello. I have my terrain as I want it, and I'm very happy with how it's turned out. But this weekend it has been displaying in very distorted colors. The only place that looks normal is a square underneath the Unity Store Third Person Controller object. Has anyone seen this before? I can't really work with the terrain this way.

    Edit: It's working again after a computer reboot. Hopefully it will be okay tomorrow.
     

    Attached Files:

    Last edited: May 29, 2022
  37. Crowsinger

    Crowsinger

    Joined:
    Apr 23, 2022
    Posts:
    12
    Also... is there a way to lock the whole map so it never generates again? I mean I've locked down villages, but for whatever reason the map generated again and I lost work I did on a river.
     
  38. Frpmta

    Frpmta

    Joined:
    Nov 30, 2013
    Posts:
    476
    Was the 'Pin Existing Terrain' feature removed? Can't find it.
     
  39. whkona

    whkona

    Joined:
    Jul 9, 2018
    Posts:
    7
    Hi Wright,

    So I had upgraded MM and MicroSPlat recently and was getting a consistent error of:

    JBooth.MicroSplat.MicroSplatKeywords must be instantiated using the ScriptableObject.CreateInstance method instead of new MicroSplatKeywords.

    And then would show the error that the splatmap was not being generated. I'm guess Jason had made a new change that broke your code but it was an easy fix. On MicroSplatOutput.cs line 314 needs changing from:

    Code (CSharp):
    1. if (mso.keywordSO == null)
    2.                 // mso.keywordSO = new MicroSplatKeywords(); // WH: 5/28/22 - this was broken in code
    3.                 mso.keywordSO = ScriptableObject.CreateInstance<MicroSplatKeywords>();
    Basically he does not want to use "new" now and wants CreateInstance instead.

    I thought I would let you know so as to add to next update and if anyone else is running into the issue. I'm guessing you will need to also stay backwards compatible to his older versions so you'll need another conditional if "new" falis then use createInstance. But I don't need it so I just put the quick and dirty fix above.

    Hope that helps. And Wright, if you think I have this wrong please let me know.
     
    Wright likes this.
  40. darrelltstevens

    darrelltstevens

    Joined:
    May 27, 2016
    Posts:
    31
    this is at the bottom of the mapmagic scene parent object and stops every update updating the terrain :
    upload_2022-5-29_23-30-21.png
     
  41. IvanWeeskey

    IvanWeeskey

    Joined:
    Jan 8, 2017
    Posts:
    11
    Hello! Is this grass issue related to grass white rectangles in standalone build? Sorry I can't checkout the ticket, coz have no permission.

    But it seems I have the same problem. If terrain was pregenerated in editor - all grass looks fine. But if I generate terrains at runtime in standalone build it creates white rectangles.

    Btw, I'm using unity 2021.2.2f1 (same prob in 2021.3.3f1) and built-in render piplene.
     

    Attached Files:

  42. Crowsinger

    Crowsinger

    Joined:
    Apr 23, 2022
    Posts:
    12
    Wow, hidden away under multithreading. Perfect, I'll uncheck that. Thanks!
     
  43. tongchimlang

    tongchimlang

    Joined:
    Mar 12, 2014
    Posts:
    16
    How to fix shader error on Biomes (Graph)..?
    - MapMagic 2 Bundle 2.1.9
    - Unity 2021.2.12f1
    Thank... ee.png
     
  44. mick129

    mick129

    Joined:
    Jun 19, 2013
    Posts:
    189
    I would like to use MM2 to create stamps and texture splatmap but I only get flat images.

    Do you have any suggestions or a way to achieve this?
     
  45. darrelltstevens

    darrelltstevens

    Joined:
    May 27, 2016
    Posts:
    31
    What is the proper way to have a node release its thread and wait till an arbitrary value or function completes?
    I am using a limited grid of terrains, I want to run a few nodes, but stop at one and pause the node processing there till a function to complete across all of the tiles from a previous node is done, and then have the waiting node carry on when that is completed.

    I understand why this is not an ideal thing when you are working with infinite terrain that never ends, but when you put x / z constraints on things the infinite abyss is not such a thing to fear.
     
  46. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,100
    Unfortunately no. And it's not the matter of thread pausing, but of understanding what is "all of the tiles" is. All of the tiles are theoretically infinite, so I guess you speak of deployed (generated or started to generate) tiles. But in this case the generated result will depend on what tiles are deployed, and will vary if these tiles are deployed in different order. So generated terrain might depend on the player global movement direction.

    This issue has a cumulative effect - first tile might be slightly different, each other tile that depends on a previous one will have more and more difference.

    It's not clear - what stamp are you talking about? Is it a Stamp node? If not could you please describe what are you trying to do and how?

    You might be missed my clarifying questions: Do you have the same gray terrain if you open Snow Plains scene (it has the terrain that is used at the right in Biomes)?

    Yes. Both grass issues seem to be related: invisible billboards and lacks of transparency on usual grass and meshes. I've just checked - this issue is still opened. If no change will happen after a while I will try to report it using other channels.

    Just in case - here is a ticket description:
    Thanks for letting me know, and special thank you for providing solution!

    Yes, quite a while ago. It goes against repeatable tile system, and misleads users. It won't let using terrain as an input, it just creates a tile with custom size and position got from terrain.

    But you can try to uncomment line 41 of PinDraw.cs:
    Code (CSharp):
    1. //using (Cell.LinePx(25)) DrawPinButton(ref selectionMode, SelectionMode.pinExisting, "MapMagic/Icons/PinExisting", "MapMagic/PinButtons/PinBottom", "Pin Existing Terrain", pinButtonColor);
    That's odd. Never seen anything like this. If this will happen again and you will note the steps to reproduce - please let me know.

    BTW are you using MicroSplat/MegaSplat/CTS?

    There is no lock that spreads over all of the generated map since it doesn't have a sense. Disabling or removing MM completely will do the trick.
     
  47. mick129

    mick129

    Joined:
    Jun 19, 2013
    Posts:
    189
    All good I got it working yesterday.
    What I want to do is to use MM2 to create mountains and landscape. Then create a heightmap + splatmap to place them with another tool.
    I managed to get it all working :)
     
  48. darrelltstevens

    darrelltstevens

    Joined:
    May 27, 2016
    Posts:
    31
    I get that and with someone using infinite terrain that could definately be a problem and makes all kinds of sense.

    All of the work i am doing however is on predefined tile sizes saved in prefabs and preloaded before the player ever even loads into the scene, a full tile grid is loaded and even textured in draft pass, at that point, my project knows what "all of the tiles" are.

    My current solution to get around this kinda sucks as it makes me take the core genny nodes, run them, and then replace the mm object with the exact same core nodes + the full world loader nodes behind them so i can get the data i want preprocessed on the first run, and the second run actually makes the planets terrain.

    This is not easy to work with in the editor, and probably wont be the easiest thing to implement in code, since the current solution involves creating destroying and recreating the same base data nodes which significantly adds to the world load time, im ok with a longer load time but....

    This cannot be the right way?

    The right way is probably margins, but that adds WAY more to the load time as the margin i need that fix my problem can exceed tilewidth*2.5 or more, which is 100% not acceptable lol, unless there is some way to implement some kind of custom node margins override, which i cannot find a way to do either.

    And yes, i have noticed there are slight differences in one roll of the map to the next - especially in the lower details, and thats ok too because it is close enough for what i am doing really.

    I am perfectly ok with an answer that qualifies as " you shouldnt do this because <REASONS> but it works ".
     
    Last edited: Jun 4, 2022
  49. darrelltstevens

    darrelltstevens

    Joined:
    May 27, 2016
    Posts:
    31
    ok i found a simpler way to run it over itself, this will work I guess if there is no real solution provided

    For those looking in the procedural make a planet direction,...
    i own almost all of the major player terrain assets on the asset store,
    Map Magic (with some custom coded nodes) is the only one that gives you the tools to do it as far as i can tell.
     
  50. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,100
    You are right that we can use draft tiles somehow. They should be already generated at that moment. But honestly I have not thought in this direction. Currently I'm making solution that will generate one terrain per several tiles - called Cluster. Each tile will get low-res piece of cluster map, but this will be perfectly match all the other terrain. But his approach has numerous pitfalls, so it's not so easy to implement.
     
unityunity