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. IvanWeeskey

    IvanWeeskey

    Joined:
    Jan 8, 2017
    Posts:
    11
    Hello,
    About my problem with tile artefacts such as bugged tiles and spikes between tiles.
    I changed max thread value to 1 in multithreading section and problem solved. I'm glad it works, thx! =)

    Also I have a question about custom detail resolution. Not about detail resolution per patch*
    The thing is actual detail resolution affects grass density. The higher this value, the higher density will be.
    In my case, increasing heightmap resolution of terrain is not an option, because im changing height at runtime, so I need tiles with small resolution. And now I only can do it manually and repaint all gras by myself..
    So is there any chance of adding this feature? =)
     
  2. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,166
    Yes, I've included it in my to-do plan. I guess it won't be included in upcoming 2.1.5, but hope will make it in 2.1.6.

    I've done detail resolution downscale factor for 2.1.5, it can decrease the detail map size 2 or 4 times, but the thing is that it cannot increase detail map size. It is quite odd to have detail map res higher than the heightmap since it consumes memory amount multiplied with grass/detail types. Is there any other way to achieve higher density (I mean, not in MM)?
     
  3. baddiego

    baddiego

    Joined:
    Jan 21, 2018
    Posts:
    6
    Hello Wright,

    I am trying to use the biomes node with microsplat. The effect that I am facing is that only the lowest biome in the stack does draw its textures correctly. All upper "layer" biomes only draw black textures. I did use the microsplat output in each biome, and did assign the same material to the micro splat output in each biome. Every microsplat output defines all 17 textures with IDs 0-16. Microsplat is set to 20 textures. Is there anything I am doing wrong?

    Best regards, D
     
  4. IvanWeeskey

    IvanWeeskey

    Joined:
    Jan 8, 2017
    Posts:
    11
    In general, I dont care about memory caused by details =) What I really care is target fps on target hardwares and how world is finally looks. And getting more dense grass can really beautify my terrains.

    But I found interesting solution even with MM. I just duplicated (x2, x3 or more) grass output node, so grass actually becomes more dense. But now I got lag spikes when changing grass on terrains in runtime.. =)
     
  5. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,166
    Actually I meant increasing the grass planes size (or at least width) or making texture more dense with alpha. However I don't know how your grass looks like, so it's more of a theoretical thoughts.
    It seems that Unity detail algorithms have not been changed from v4 or so, and probably increasing grass density with resolution is the only way to do it - don't remember for now. However I will try to look into it after release 2.1.5.

    Doesn't seem to be as expected behavior. MicroSplat should work fine with biomes, seems that something gone wrong here.
    I will appreciate if you could open an issue on ideainformer. Once done you will be able to track it and know when it's fixed. This ticket can also provide a communication channel. Other users can also see if the issue was reported or to clarify details.
    And it seems that I will need a scene, a graph, sub-graphs and their meta-files. It would be great if you could cloud-link them in issue description.
    There's no need to send models or other assets. I will appreciate if you don't compile the unity package with the dependencies.
     
  6. dmenefee

    dmenefee

    Joined:
    Oct 14, 2019
    Posts:
    136
    Howdy! Is this update on your todo list? I tried adding asmdefs and/or references, but could not get them to work properly. If you need more details I can post the errors I see tonight when I resume work on my project. Thanks!
     
  7. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,166
    Yes, it's already done. Going to submit this version tomorrow.
     
    dmenefee likes this.
  8. baddiego

    baddiego

    Joined:
    Jan 21, 2018
    Posts:
    6
    Thanks a lot! i did open the issue and created a small zip file with a basic setup. I also tried a clean install and got the same error. Without Microsplat, the biomes node is working as expected.
     
  9. dmenefee

    dmenefee

    Joined:
    Oct 14, 2019
    Posts:
    136
    Fantastic! Thank you!
     
  10. nobluff67

    nobluff67

    Joined:
    Nov 3, 2016
    Posts:
    310
    @Wright

    1. I am not getting the scheme view, I have tried what has been suggested (delete MM2, install again), it is not working. Is there something else I need to delete? (e.g library folder?)
    2. How can I tell what version I am using? Do you have it marked somewhere? I don't trust the version number on package manager because I am never 100% confident it works all the time (this update as an example). I don't see any version numbers in the docs. Is there maybe a node that is not in the other version but is only in the latest version?
    3. I am getting vegetation pro errors (I had it before but removed it). I have deleted the files from compatibility, just not sure if this is the safe route to go.
     
  11. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,166
    MapMagic 2.1.5 is now available at the Asset Store.
    New features:
    - Details/Grass resolution downscale on output
    - MicroSplat control maps weld on main tiles
    Bug fixes:
    - MicroSplat 3.8.2 compatibility (separate assembles)
    - Stamp node values expose
    - Whittaker node outputs fix
    - Whittaker demo scene included
    - VSProTile script rename to match monobehavior
    Still to be done:
    - In some cases skips generating random tile. Can't reproduce the issue, any information will be helpful. See ideainformer ticket.

    Let me start from this one. It seems that your scripts are not compiled because of the error, so the previous compiled version is used. You can disable VSPro support in Window -> MapMagic -> Settings, and uncheck Vegetation Studio in Compatibility.

    You can see it in MapMagic object -> About tab.

    In case compiling won't work, try to delete the local packages (should be at User\AppData\Roaming\Unity\Asset Store-5.x) and download MM again.
     
    valentinwinkelmann and nobluff67 like this.
  12. nobluff67

    nobluff67

    Joined:
    Nov 3, 2016
    Posts:
    310
    MM2 update just landed.
     
  13. nobluff67

    nobluff67

    Joined:
    Nov 3, 2016
    Posts:
    310
    Thanks. My version was not the correct one (2.0.8), deleted and downloaded mm2 again (deleted through roaming directory, folder is your name).
     
  14. nobluff67

    nobluff67

    Joined:
    Nov 3, 2016
    Posts:
    310
    @Wright

    The version is now correct on my side (2.1.15).

    I am getting about 6 related microsplat errors:

    Assets\MapMagic\Compatibility\MicroSplat\MicroSplatOutput.cs(14,7): error CS0246: The type or namespace name 'JBooth' could not be found (are you missing a using directive or an assembly reference?)

    Assets\MapMagic\Compatibility\MicroSplat\MicroSplatOutput.cs(164,11): error CS0246: The type or namespace name 'MicroSplatPropData' could not be found (are you missing a using directive or an assembly reference?)

    Assets\MapMagic\Compatibility\MicroSplat\MicroSplatOutput.cs(285,17): error CS0246: The type or namespace name 'MicroSplatTerrain' could not be found (are you missing a using directive or an assembly reference?)

    The only way I can get rid of them is to delete the Assets\MapMagic\Compatibility\MicroSplat directory.
    I have tried:

    removing Assets\MapMagic\Compatibility\MicroSplat
    switching off microsplat compatibility.
    reinstalling folder.

    Here are my settings:

    mmms.PNG

    EDIT: might have older version of MicroSplat, will check this.
     
    Last edited: Jun 4, 2021
  15. nobluff67

    nobluff67

    Joined:
    Nov 3, 2016
    Posts:
    310
    I had to upgrade MicroSplat, errors now gone.

    So to summarize for anyone that was having my problems above:

    Deleted MM2 from Asset Store-5.x (Not to be confused with your project asset directory).
    Downloaded again from package manager.
    Upgraded MM2 (core and bundle)
    Deleted MicroSplat from Asset Store-5.x (Not to be confused with your project asset directory).
    Downloaded again from package manager.
    Upgraded MicroSplat

    Current project running as before MM2 upgrade. I haven't tested any new features besides the new schema view.
     
    Last edited: Jun 4, 2021
  16. nobluff67

    nobluff67

    Joined:
    Nov 3, 2016
    Posts:
    310
    I don't know if anyone else is having issues here, but this upgrade is not working for me. The texture are just broken when I create a new graph, with or without microsplat.

    Ok on new project. Trying delete on MM again on existing project, hoping this solves it.
     
    Last edited: Jun 4, 2021
  17. Calamitycal

    Calamitycal

    Joined:
    Jul 6, 2014
    Posts:
    35
    I'm using MapMagic 2 to generate a grid of 25x25 512x512 terrains. Everything seems to work fine most of the time, however every so often when I Generate the map, some of the terrains fail to get their textures, details, etc. This happens in editor and in builds.

    upload_2021-6-4_17-40-14.png

    Any idea what might cause this?
     

    Attached Files:

  18. nobluff67

    nobluff67

    Joined:
    Nov 3, 2016
    Posts:
    310
    For whatever reason I had to create a new graph. I just couldnt get existing graph to work (with microsplat textures)
     
  19. Swyfft

    Swyfft

    Joined:
    Mar 14, 2019
    Posts:
    53
    Hi .. thank you for the update :)

    question .. am I missing something?
    can't seem to find a Whittaker demo scene in the list..
    .. or a graph with Whittaker in it ..

    new project on 2020.3.6f1
    removed asset store cache
    downloaded v2.1.5 a few minutes ago..
     
  20. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,166
    Are you using Biomes or Bundle? The thing is that Whittaker node belongs to biomes module and not included with the core version. You can still download it, but note that it won't work without biomes support.

    Yes, you have to update MicroSplat as well. It is the most recent MS version, 3.8.2, that introduced separate MS assembles.

    I've got a report about this issue, but still can't reproduce it (though I really tried). It seems to be some memory-specific since it appears when you use extremely high number of pinned tiles. But still it's an issue, and if you could link your scene and your graph in it's ticket it will help a lot.

    I will have to add a warning or something, since I guess it might seem not obvious - pinning 10*10 tiles at once is quite a lot. They not only store the terrain heightmap, splatmap (1 per channel), and detail maps information, they also keep procedural results in editor to be quickly updated. It's better to use procedural playmode generation when using 100 tiles. And it's definitely better to do it when you are using 625 of them.
     
  21. valentinwinkelmann

    valentinwinkelmann

    Joined:
    Nov 3, 2014
    Posts:
    166
    @Wright Finally Denis, the Whittaker works! Thank you!:)
    Here is my world map.
    upload_2021-6-5_16-10-15.png
    The biome areas are now generated with the Whittaker and correspond approximately to what I want to have. But I have an ocean around it which I have to define as a seperate biome. this seperate biome has to overwrite the whittaker biome area. If I now use a BiomeSet node next to the whittaker, I create an empty biome, because the BiomeSet node requires a general biome as first input. as second imput I set a beach biome.
    upload_2021-6-5_16-16-41.png
    The beach/ocean is now also shown where I want it to be, but it overlays the whittaker only with 50%, which of course I don't want. the beach biome must cover the entire area it covers also 100%, finally I don't want to generate any forests etc underwater.

    How can I solve this?
    If it is not quite recognizable on the screenshot above which water area I mean here once my concept of the world.



    Edit:
    It seems that the "Influence" properties of the Whittaker biome have no influence on the biome distribution, so finetuning is not possible at the moment. ( No matter if 0 or 1, the output of the whittaker node is the same )


    And then an update wish: The Whittaker seems to be very very useful if you want to build a really professional terrain and an authentic world. Can you add the possibility to have individual inputs from the outside into the respective biome of the whittaker? If you could e.g. inject Moisture, Temperature and other values into the respective Whittaker biome, the possibilities would be enormous. Is this possible?

    Example here with my map. The whittaker divides the world wonderfully, however it is very difficult to create mountains and deserts separately over the biomes if I cannot query the height of the terrain on which the whittaker lies. If I create a terrain with the whittaker on a constant surface, this is not necessary, but if I use the whittaker e.g. to build a landscape on an imported base, it is very useful to have this data also in the whittaker biome.

    Alternatively I could put an "import" node in EVERY whittaker biome, but of course only works well with static things like pre-built heightmaps and question: does it affect the performance if I put an import node in every whittaker biome or is the performance dependent on the texture and counts then once regardless of how many import nodes there are?
     
    Last edited: Jun 5, 2021
    nobluff67 likes this.
  22. Calamitycal

    Calamitycal

    Joined:
    Jul 6, 2014
    Posts:
    35
    That makes sense regarding the maps. I'm trying to create a map that is 25x25 but doesn't extend beyond that. Is there a way to have mapmagic procedurally generate maps but only to that size without having them all preloaded? If I use Generate Infinite Terrain it'll go on forever I assume.

    I'll also post my graph in that ticket for you.

    Thanks!
     
  23. Calamitycal

    Calamitycal

    Joined:
    Jul 6, 2014
    Posts:
    35
    I'm sure I am missing something obvious, but I am trying to get trees to only spawn at a certain height or higher and can't figure out which modifier does that.
     
  24. Swyfft

    Swyfft

    Joined:
    Mar 14, 2019
    Posts:
    53
    Thank you ..

    have the demo download. (now to figure out how to use it ;) )

    and I don't have the 'bundle' but i have core / biomes / objects / splines.. (gettnig brushes soon too..)
     
  25. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,166
    You've got to use multi-level sea/dry land biome. On top level use a biome set that contains only two biomes: sealand and dry land. And inside the dry land use Whittaker as a sub-biome.

    It seems that functions is what you need. They are designed to take inputs and provide them to sub-graph. But yes, they are pretty simple compared to Whittaker and have only one biome. The workaround could be in using Whittaker with empty sub-graph slots, and using a function for each of it's outputs. This function should have a mask input that takes Whittaker output to multiply height (and other outputs) - to make it behave like the standard biome. Sounds a bit like a hack though, so I will think about providing inputs to biomes the way functions do.

    You can use Objects -> Mask node to mask the trees, and take heightmap as the base for this mask. Selector node fits best to convert heightmap to mask.
    TreesAboveLevelMask.jpg
    Download graph.

    I guess it should be used like any other demo :) Just open it and see how the graph is made and what result it produces. Maybe start your own graph based on this or copy-paste nodes from here to your graph.
     
    Swyfft and valentinwinkelmann like this.
  26. FlightOfOne

    FlightOfOne

    Joined:
    Aug 1, 2014
    Posts:
    651
    @Wright Hi Denis, is there a way to export the entire map as terrain data instead of having to save one at a time. It gets pretty cumbersome if you have a large amount of tiles.
     
  27. valentinwinkelmann

    valentinwinkelmann

    Joined:
    Nov 3, 2014
    Posts:
    166
    Ah, this is very close to what I need. Seems to work from the blending, but problematic here, if I now use a BiomeSet and set here an Underwater and a Land biome. I get again not my values from my top graph in the land and in the Underwater biome. But here I need the values for the Whittaker.

    So also with the BiomeSet it would be desirable if we could transfer values from outside to inside. Or if portals from outside a graph could be used in subgrabs / biomes.

    Also Exposed Values which I use in my top graph to scale my Imported Maps are not usable inside the subgraphs.
     
  28. IvanWeeskey

    IvanWeeskey

    Joined:
    Jan 8, 2017
    Posts:
    11
    Hello,
    Is this bug fixed in 2.1.5? It's about texture and very annoying. Seems the problem is in "Selector" modifier when applied on flat areas. Result is always the same, regenerating doesn't help.
    upload_2021-6-6_20-50-54.png
     
  29. nobluff67

    nobluff67

    Joined:
    Nov 3, 2016
    Posts:
    310
    Just wanted to add, the example scenes are very helpful when trying to figure out on how all nodes work together. I just started looking into the spline demo, and it solved a lot of my conceptual issues. I had previously just worked off manual and videos as a guide.
     
  30. Rene_S

    Rene_S

    Joined:
    Aug 4, 2020
    Posts:
    2
    Hi Denis,
    i think i found a bug in the Selector Modifier Node, no Value on the node can be be exposed.
    The Value field is always greyed out for any Property of the node. All others work as expected.

    No special setup needed to reproduce this issue.
    I am using MM 2.1.5 Bundle
     
  31. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,166
    2All: seems I have problems with my email, wrote to provider, hope they will fix it soon. Sorry for that!

    Yes, you can select multiple tiles with a frame. However you will have to define the names for each of them.

    No, I was not aware of it. Could you please report it with the steps to reproduce on ideainformer? Once done you will be able to track it and know when it's fixed. This ticket can also provide a communication channel. Other users can also see if the issue was reported or to clarify details.
    And it seems that I will need a scene, a graph and their meta-files. It would be great if you could cloud-link them in issue description.
    There's no need to send models or other assets. I will appreciate if you don't compile the unity package with the dependencies.

    Exactly! You can see how the nodes could be used and try to change them to find out what they do. But still you've to to be an advanced user to read the graphs. Beginners might find useful video tutorials or text docs, so I'm trying to develop both.

    Got it! No need to add to ideainformer (but you can do if you'd like to), I will fix it in the next version.
     
    nobluff67 likes this.
  32. FlightOfOne

    FlightOfOne

    Joined:
    Aug 1, 2014
    Posts:
    651
    Yeah, this is what I meant. If you have hundreds of tiles it could be a long process. It would be nice to provide a folder and just hit save, it would name the files with like Terrain[0,1] etc...
     
  33. PraetorBlue

    PraetorBlue

    Joined:
    Dec 13, 2012
    Posts:
    7,365
    @Wright

    Is there any documentation on how to create or edit .terrainlayer assets in MapMagic2?
    Also does MapMagic2 support the creation of Terrain Holes?

    Also - I was planning on purchasing one of the modules for MapMagic 2 (Objects module). If I change my mind later and decide I want to buy all of the modules, would it be possible to trade up my individual module asset for the bundle. In other words - is there a way to get a discount on the bundle asset (this one https://assetstore.unity.com/packages/tools/terrain/mapmagic-2-bundle-178682) with regards to previously purchased individual modules?
     
    Last edited: Jun 9, 2021
  34. harpingseal

    harpingseal

    Joined:
    Sep 3, 2020
    Posts:
    56
    Umm so i've got map magic and somehow the tree (which is unity broadleaf Lod2) don't show billboard version.And i also use the whittalker but it don't generate some biome that i inputed.The noise used to generate the biome intensity is 1.
     
  35. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,166
    But actually you'll have to do it once for the project. If you update these tiles and save project changes you will have all the files updated. Not sure that it's required quite often, but feel free to add idea to ideainformer.

    Actually terrain layers are part of Unity, not MapMagic. Here is their help page.

    Unfortunately not. Can't think of a use case for holes in procedural terrain - except maybe some huge objects that go under terrain, or some additional procedural stuff. But you can add this idea to ideainformer as well.

    Yes, you can take a Bundle with a discount equals to module price. But this works only for one module - there is no way to discount two modules from the price.

    Could you please report these issues on ideainformer? Once done you will be able to track it and know when it's fixed. This ticket can also provide a communication channel. Other users can also see if the issue was reported or to clarify details. And it will help me to organize issues.
    For the whittaker issue it seems that I will need a graph screenshot to find out how it was set up.
    And for the trees - have you tried placing this tree on terrain using Unity terrain tree system?
     
    PraetorBlue likes this.
  36. PraetorBlue

    PraetorBlue

    Joined:
    Dec 13, 2012
    Posts:
    7,365
    My ignorance of Unity Terrain system has been exposed! Thank you!

    Is there any published documentation on the MM2 C# scripting API? I see plenty of documentation on the map graph system (thank you!) but I can't find any C# scripting API docs. I'm mostly interested in how to generate terrain at runtime and get a callback when the terrain is finished generating. Also any documentation on how to pass parameters into the MapMagicObject before generating the terrain would be amazing.

    Edit - I found a good video on exposing variables for scripts but I'm still looking for information about runtime terrain generation callbacks.
     
    Last edited: Jun 9, 2021
  37. milox777

    milox777

    Joined:
    Sep 23, 2012
    Posts:
    145
    I'm getting this error on MapMagic 2 Bundle import, version 2.1.5 in Unity 2020.3.11 URP, clean project, only MapMagic 2 imported. The URP Tutorial demo scene seems to work and the graphs show up, but the error is worrying, it spams it 70 times on import.

    Code (CSharp):
    1. FormatException: Input string was not in a correct format.
    2. System.Number.ParseSingle (System.String value, System.Globalization.NumberStyles options, System.Globalization.NumberFormatInfo numfmt) (at <695d1cc93cca45069c528c15c9fdd749>:0)
    3. System.Single.Parse (System.String s, System.Globalization.NumberStyles style, System.Globalization.NumberFormatInfo info) (at <695d1cc93cca45069c528c15c9fdd749>:0)
    4. System.Single.Parse (System.String s) (at <695d1cc93cca45069c528c15c9fdd749>:0)
    5. Den.Tools.Serialization.Serializer.DeserializeRecursive (System.Object[] splitString, System.Collections.Generic.Dictionary`2[TKey,TValue] deserializedIdsObjs, System.Collections.Generic.IList`1[T] unityObjs) (at Assets/MapMagic/Tools/Serializer/Deserialize.cs:55)
    6. Den.Tools.Serialization.Serializer.DeserializeRecursive (System.Object[] splitString, System.Collections.Generic.Dictionary`2[TKey,TValue] deserializedIdsObjs, System.Collections.Generic.IList`1[T] unityObjs) (at Assets/MapMagic/Tools/Serializer/Deserialize.cs:183)
    7. Den.Tools.Serialization.Serializer.DeserializeRecursive (System.Object[] splitString, System.Collections.Generic.Dictionary`2[TKey,TValue] deserializedIdsObjs, System.Collections.Generic.IList`1[T] unityObjs) (at Assets/MapMagic/Tools/Serializer/Deserialize.cs:183)
    8. Den.Tools.Serialization.Serializer.DeserializeRecursive (System.Object[] splitString, System.Collections.Generic.Dictionary`2[TKey,TValue] deserializedIdsObjs, System.Collections.Generic.IList`1[T] unityObjs) (at Assets/MapMagic/Tools/Serializer/Deserialize.cs:183)
    9. Den.Tools.Serialization.Serializer.DeserializeRecursive (System.Object[] splitString, System.Collections.Generic.Dictionary`2[TKey,TValue] deserializedIdsObjs, System.Collections.Generic.IList`1[T] unityObjs) (at Assets/MapMagic/Tools/Serializer/Deserialize.cs:157)
    10. Den.Tools.Serialization.Serializer.DeserializeRecursive (System.Object[] splitString, System.Collections.Generic.Dictionary`2[TKey,TValue] deserializedIdsObjs, System.Collections.Generic.IList`1[T] unityObjs) (at Assets/MapMagic/Tools/Serializer/Deserialize.cs:183)
    11. Den.Tools.Serialization.Serializer.DeserializeRecursive (System.Object[] splitString, System.Collections.Generic.Dictionary`2[TKey,TValue] deserializedIdsObjs, System.Collections.Generic.IList`1[T] unityObjs) (at Assets/MapMagic/Tools/Serializer/Deserialize.cs:183)
    12. Den.Tools.Serialization.Serializer.Deserialize (System.String str, System.Collections.Generic.IList`1[T] unityObjs) (at Assets/MapMagic/Tools/Serializer/Deserialize.cs:19)
    13. MapMagic.Expose.Override.OnAfterDeserialize () (at Assets/MapMagic/Expose/Override.cs:250)
    14.  
     

    Attached Files:

  38. Calamitycal

    Calamitycal

    Joined:
    Jul 6, 2014
    Posts:
    35
    Been playing around with MapMagic2 for a while now and really enjoying. I have some questions that I am hoping someone can answer for me.

    I want to create a large world with multiple islands on it. What I am thinking is each island would be it's own mapmagic map which would then get assigned a graph and build the island when the player is within a certain distance of it. Is that the best way to do this or is there a way to do this with one mapmagic object and one graph? I don't want an infinite terrain of islands. So this would be up to a certain number.

    Is there a way to make a large map, say 10x10, without having to place all 100 tiles? Again, I don't want an infinite map, but rather a large map that is an island with coastline all around it. So far the only way I've been able to do this is to place all 100 tiles, but mapmagic seems to get bogged down creating all of those maps up front.

    And last, is it possible to change the values in a graph at run time before the map is generated? I assume I can change the seed used to create a map, but I'm wondering how/if I can change values within a certain range in the graph to have more variety in map generation. Or is there a way to do that within the graph itself?

    Thanks!
     
  39. PraetorBlue

    PraetorBlue

    Joined:
    Dec 13, 2012
    Posts:
    7,365
    I found this video extremely useful for varying the graph data from a script (see the link in the description)

    https://m.youtube.com/watch?v=gyF1wk8MiF4
     
  40. Calamitycal

    Calamitycal

    Joined:
    Jul 6, 2014
    Posts:
    35
    That's perfect, thank you!
     
  41. FlightOfOne

    FlightOfOne

    Joined:
    Aug 1, 2014
    Posts:
    651
    Really? That would work, but every time I unpin and repin that tile reference to data is gone? I guess I can write a script to export all of them.
     
  42. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,166
    They introduced it recently - or at least it was the last big terrain system update.

    You can change the seed at starting a game on executing this line in Start/Awake/OnEnable:
    Code (CSharp):
    1. mapMagic.graph.random = new Noise(seed, permutationCount:32768);  
    2. //32768 is initial permutation num for MM noise.
    Keep no tiles pinned (otherwise they won't connect with new tiles with new seed).
    This script is changing your graph (seed value) every start, this value is stored in graph asset.
    Make sure that 'MapMagic' and 'Den.Tools' namespaces are used.
    Here is the example script.

    Could you please report it on ideainformer? Once done you will be able to track it and know when it's fixed. This ticket can also provide a communication channel. Other users can also see if the issue was reported or to clarify details.
    I will appreciate if you could provide some information about your OS settings here: what is your OS, what are your region and language format settings (If you are on Windows a screenshot of Region and Language window, formats tab), and your display language. Thanks in advance!

    You can use biomes to do this. You can provide low-res biome masks as an Imported map.

    Having 100 terrains in one scene with no streaming solution - it is really a lot. MM can stream terrains by generating them on the go, so I recommend using procedural (non-pinned) terrain here. If you are using procedural terrain it doesn't really matter how many tiles you create, but you can limit your location with the other ways (like scripts or colliders).

    No, unpinning tile will remove the terrain from scene, and pinning creates a new one. I meant the graph changes, they don't require saving terrains again. Do you have to constantly pin and unpin tiles?
     
  43. milox777

    milox777

    Joined:
    Sep 23, 2012
    Posts:
    145
    Region is Poland, format Polish, display language English. OS is Windows 10 with latest updates. I'm guessing it must be something related to CultureInfo during deserialization. Error only happens during initial import into a project.
     
  44. FlightOfOne

    FlightOfOne

    Joined:
    Aug 1, 2014
    Posts:
    651
    Yes, all the time! :)

    The world is 10k x 10k with 512 tiles. No way I can work with all tiles active all the time. It's fine, I will change my workflow or create a script to do this.

    @Wright or anyone,

    Is there an easy way to break these up or smooth them out so they don't look like a digital pattern? This is from an import.

    upload_2021-6-10_20-17-30.png
    upload_2021-6-10_20-17-53.png

    Thanks!
     
  45. MikeyUchiha

    MikeyUchiha

    Joined:
    Jan 8, 2011
    Posts:
    109
    What does the Whittaker node do? I don't think I've seen any documentation or videos that explain that. Thanks @Wright
     
    Last edited: Jun 12, 2021
  46. keithsoulasa

    keithsoulasa

    Joined:
    Feb 15, 2012
    Posts:
    2,126
    Is there any way to get the frame rate a bit higher, I'm using hdrp and my frame rate has dropped tremendously once I added this assets terrains
     
  47. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,166
    I wish I could say that sure, there is a checkbox "always render at 120 FPS" somewhere. But no, optimizing your game to reach a certain FPS is a complicated task. In most cases it's a matter of finding a balance between visual quality of your game and frame rate level. I recommend you keeping the tile resolution as low as possible, and avoid pinning more than 10-15 tiles at once. Remember that every single tile is a whole terrain. Use in-game generating for the new tiles, or pin them in low-res (drafts).

    But probably something went wrong, and you get 2 FPS after pinning single tile. If so it is an issue - could you please report it to ideainformer with details (like FPS count before/after) and your system specs?

    Whittaker node distributes different biome types according to Whittaker diagram. It takes temperature and humidity maps as input, and places the specified biomes according to the chart. Could be handy if you are creating a whole continent and want automatic, but realistic biome distribution. Node description is available on MM2 wiki.

    It might be that your imported map has an insufficient bit depth. This happens when you are using a texture as a heightmap, or convert a usual image to 16-bit RAW file. And it might be scaled as well so the pixels form 2*2 (or more) formations. I can try to say for sure if you attach a raw file here.

    I can see it on ideainformer, thanks for reporting it here. Will try to fix it for the next version!
     
    keithsoulasa likes this.
  48. MikeyUchiha

    MikeyUchiha

    Joined:
    Jan 8, 2011
    Posts:
    109
    @Wright Can you make a video tutorial on how to use it? I have read the documentation and downloaded the tutorial but can't seem to make it correctly.
     
  49. FlightOfOne

    FlightOfOne

    Joined:
    Aug 1, 2014
    Posts:
    651
    Ah, that makes perfect sense, thank you!
     
  50. keithsoulasa

    keithsoulasa

    Joined:
    Feb 15, 2012
    Posts:
    2,126
    Thanks for the response, is there a discount if I buy the bundle