Search Unity

  1. Unity 6 Preview is now available. To find out what's new, have a look at our Unity 6 Preview blog post.
    Dismiss Notice
  2. Unity is excited to announce that we will be collaborating with TheXPlace for a summer game jam from June 13 - June 19. Learn more.
    Dismiss Notice

MapMagic 2 - infinite procedural land generator

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

  1. NestorVG

    NestorVG

    Joined:
    Feb 12, 2019
    Posts:
    40
    Yes, I really needed offset like any other noise nodes. also, is there any way we could get a c++ implementation of this? I have been trying to implement it myself for a bit, but haven't been able to.
     
  2. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,282
    Sure, on GitLab, it's part of MM Core, so it's free and have sources avaialble.

    But just in case - you won't need it to do the offset. In C++ there are pure core mathematic calculations.
     
    Greviouss likes this.
  3. NestorVG

    NestorVG

    Joined:
    Feb 12, 2019
    Posts:
    40

    Hey sorry I don't understand, what do you mean by not needing it for the offset?
    I am aware that I don't need to implement this in C++ to implement the offset as I have already implemented it and is kinda working, with some small issues sometimes.

    What I did was taking the original voronoi and im plementing displacement myself. It is not perfect and it has issues when the offset is more than half of the grid size (I suppose you will be able to make it right so that we can have as much displacement as we need).

    What I need to do next is to use a c++ implementation of voronoi since my entire world generation is based around voronoi, so all the nodes have to wait for it to be done to start working, which slows down everything.

    The preheight and biome placement are both calculated using voronoi in my game currently (since Whittaker is proving rather useless due to the lack of customization and a fixed amount of biomes).

    This takes me to my next point, I'm trying to implement a flexible Whittaker node where we can use two variables (humidity and temperature by default, I'm looking more for a height and temperature kind of thing) and have a non fixed list of biomes to place, with a vector2 indicating the maximum values for them on both axis.

    Seeing how whittaker is so complex and hard, I think I'm just gonna do the voronoi stuff instead or a mix of two
     
  4. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,282
    I just wanted to say that it's not about adding some parameters to c++ code. But if you want to make your own implementation of voronoi in in c++ - cool, hope the sources will help.

    Whittaker is not only complex, but it's rather limiting. Everything depends on Whittaker graphs, that are actually constants that are not changing, like Pi. These numbers were calculated by specialists after analyzing real biomes data, so they correspond to the real world - but if you want to apply some artistic modification it would be hard to make. Using distance field or voronoi instead is a good idea.
     
  5. NestorVG

    NestorVG

    Joined:
    Feb 12, 2019
    Posts:
    40

    I haven't been able to implement any C++ MM2 nodes yet, is there any guide on how to do it?
     
  6. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,282
    Nodes are not in C++. Do not treat native code as a full copy of MM, but only written in C++. Only resource-intensive calculations are brought here, just several dozens of method. They are called using native plugin interface. All of the other stuff, related to nodes, inlets-outlets, graphs, etc. - it all is done with scripts.
     
    Greviouss likes this.
  7. NestorVG

    NestorVG

    Joined:
    Feb 12, 2019
    Posts:
    40
    Yes, I know, what I was referring to is creating nodes with resource-intensive calculations, such as the core of Voronoi, being calculated in C++. Similarly, I have implemented a node for a "biome temperature modifier" which takes place on a huge scale (it starts taking effect at about 5 km from the center of the map and makes biomes in the north colder and those in the south warmer)

    This is a visual representation of the temperature influence (the cube is 8.19 Km on each side)
    upload_2024-4-19_17-18-54.png

    And this is what the actual temperature would look like once the noise is applied on top of it:
    (Note that these are just for display and debug purposes only and they will only be used to calculate the location of biomes in the final game)

    upload_2024-4-19_17-21-16.png
     
  8. Greviouss

    Greviouss

    Joined:
    May 27, 2016
    Posts:
    176
    For anyone interested ....
    That center HD tile there with the solid border....
    Largely generated by Creating the terrain, then Compute Shader upscaling the shared data in a map magic node from 513 -> 1025 for 6 matrixworlds containing what should be considered static shared world data, then handing it off to get textured.... it does match 100% what is copied over.. :D

    upload_2024-4-21_2-4-21.png

    This breakthrough should allow me to have near @Wright c++ handoff performance in my custom nodes!!
    Fully intend to attempt to implement this magic enhancements i have concocted in my custom 4d terrain and global climate / biome nodes... As well as attempt to replace any texture drawing for vsp as those are my major bottlenecks.....

    Took me about a week to figure out how to do this properly, but im half sure i started on the most difficult to process thing here, (this required two seperate sized 1d arrays and the output is the input but the input is the data not the input, and the output goes to the output that is the new output of the not input but the scaled data)... If you are just joining and think its all impossible.. dig in and do... it is possible..
     
  9. Duncro

    Duncro

    Joined:
    Dec 1, 2019
    Posts:
    12
    Would be great to have a default import node that can take in a list of transforms to use as positions by default.
     
  10. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,282
    Get By Tag node?

    Speaking about compute shaders - I was initially considering whether it should be made on CPU or GPU. Some nodes can generate faster than sending data to-from GPU, but even disregarding that: MM is supposed to be used in video games. The GPU load is usually 100% here, while some CPU cores are not utilized. So it's the matter of generate time vs FPS. In terrain generation it's better let it do it's calculations in a background rather than create FPS drops.
     
  11. Greviouss

    Greviouss

    Joined:
    May 27, 2016
    Posts:
    176
    I dont disagree, but the lack of speed in a custom node vs your c++ process is such a hit to tile loading times that this seems like a fair work around, sure i have to find that balance of performance vs frame drops vs getting the results, but over time now that i have a way to let my custom work perform on par with yours i can see what i am doing coming together...

    Custom nodes are the way, i always say this, but i also cannot deny all c# based nodes just run 80% slower

    Current testing is giving me a set of 1025 tiles notibly faster than thier counterpart 512 generation times, or the same tiles using an integrated mm2 upscaling handoff....(i do not believe that the mm2 handoff is kinda slower due to mm2 scaling implementation, but because im running it through a custom node then that - however i do have more parallel processing on hand to chew through it in gpu vs cpu)

    And really, on that resolution note i do not intend to leverage these for any lower resolution tile work, 512+ only, (256+ for the 4d gen) theres no need at smaller sizes...

    also - that main thread is needed in runtime for alot of things, so minimizing what its actually busy chewing on specifically around textures and texture masks is without question a win i think.

    Current testing drops my main thread use by around 45-60% for these things so far.... but i do not have relative fps impact testing yet...
     
    Last edited: Apr 21, 2024
  12. devnullprod

    devnullprod

    Joined:
    Mar 17, 2023
    Posts:
    5
    Hello MapMagic lovers! Be sure to checkout the Ultimate Map Magic Guide (just released by Dev Null Productions) which has a comprehensive reference to the Map Magic plugin... a must read for anyone interested in maximizing usage of this amazing asset!

    If you like it, please give us a follow on linkedin and twitter, and be sure to checkout our assets!
     
    Greviouss and mbussidk like this.
  13. protopop

    protopop

    Joined:
    May 19, 2009
    Posts:
    1,562
    DCA73621-5DC7-49FE-82DC-7BA906114D88.png

    In MapMagic 1, I'm encountering an issue where my custom shader node is not behaving as expected. Specifically, I have two microsplat materials, each utilized in a separate graph. During both editing and runtime, the custom shader I've assigned in the graph is correctly applied. However, upon building the game, it reverts to an old shader associated with the project. I'm wondering if there's a step I'm missing to inform MapMagic that I'm using a different material. Essentially, it works fine in the editor, but when I build the application, it seems to default back to the previous custom shader.
     
  14. sketchy_b

    sketchy_b

    Joined:
    Jan 27, 2019
    Posts:
    1
    Are there any etas on or improvements to working with the splines module planned anytime soon? I can't seem to get a proper flattened path to be created it seems to partially flatten the terrain but there is still a lot of uneven geometry on my paths
     
  15. dedehcarim

    dedehcarim

    Joined:
    Feb 25, 2022
    Posts:
    3
    Hi there!

    I just bought the MapMagic bundle and imported to my project. But I got this error by doing the first step, when I did Create/mapmagic/simple and dragged to the scene. I get this error:

    Thread failed: System.DllNotFoundException: NativePlugins assembly:<unknown assembly> type:<unknown type> member:(null)
    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)
    at MapMagic.Nodes.MatrixGenerators.Noise200.Generate (MapMagic.Products.TileData data, MapMagic.Products.StopToken stop) [0x0005c] in /Users/andrecarim/IslandHarbor/Assets/Packages/MapMagic/Generators/Matrix/Runtime/MatrixInitial.cs:58
    at MapMagic.Nodes.Graph.GenerateRecursive (MapMagic.Nodes.Generator gen, MapMagic.Products.TileData data, MapMagic.Expose.Override ovd, MapMagic.Products.StopToken stop) [0x001e9] in /Users/andrecarim/IslandHarbor/Assets/Packages/MapMagic/Nodes/Graph.cs:953
    at MapMagic.Nodes.Graph.GenerateRecursive (MapMagic.Nodes.Generator gen, MapMagic.Products.TileData data, MapMagic.Expose.Override ovd, MapMagic.Products.StopToken stop) [0x00039] in /Users/andrecarim/IslandHarbor/Assets/Packages/MapMagic/Nodes/Graph.cs:910
    at MapMagic.Nodes.Graph.GenerateRecursive (MapMagic.Nodes.Generator gen, MapMagic.Products.TileData data, MapMagic.Expose.Override ovd, MapMagic.Products.StopToken stop) [0x00039] in /Users/andrecarim/IslandHarbor/Assets/Packages/MapMagic/Nodes/Graph.cs:910
    at MapMagic.Nodes.Graph.Generate (MapMagic.Products.TileData data, MapMagic.Products.StopToken stop, MapMagic.Expose.Override ovd) [0x00039] in /Users/andrecarim/IslandHarbor/Assets/Packages/MapMagic/Nodes/Graph.cs:895
    at MapMagic.Terrains.TerrainTile.Generate (MapMagic.Nodes.Graph graph, MapMagic.Terrains.TerrainTile tile, MapMagic.Terrains.TerrainTile+DetailLevel det, MapMagic.Products.StopToken stop) [0x0004b] in /Users/andrecarim/IslandHarbor/Assets/Packages/MapMagic/Terrains/TerrainTile.cs:724
    at MapMagic.Terrains.TerrainTile+<>c__DisplayClass49_0.<EnqueueTask>b__0 () [0x00000] in /Users/andrecarim/IslandHarbor/Assets/Packages/MapMagic/Terrains/TerrainTile.cs:632
    at Den.Tools.Tasks.ThreadManager.TaskThreadAction (Den.Tools.Tasks.ThreadManager+Task task) [0x00000] in /Users/andrecarim/IslandHarbor/Assets/Packages/MapMagic/Tools/ThreadManager/ThreadManager.cs:138
    UnityEngine.Debug:LogError (object)
    Den.Tools.Tasks.ThreadManager:TaskThreadAction (Den.Tools.Tasks.ThreadManager/Task) (at Assets/Packages/MapMagic/Tools/ThreadManager/ThreadManager.cs:144)
    System.Threading.ThreadHelper:ThreadStart ()
     
  16. Greviouss

    Greviouss

    Joined:
    May 27, 2016
    Posts:
    176
    My dude....
    WOW.... Epic AF,
    I thank you on behalf of the entire community.
     
  17. allaith

    allaith

    Joined:
    Jan 13, 2017
    Posts:
    7
    haha thank you for the reply I lowkey forgot that I asked the question
    but yeah definitely not the first attempt XD
    and yup game dev in general is just a marathon rather than a one sprint thing so i get what you mean!
     
    Greviouss likes this.
  18. allaith

    allaith

    Joined:
    Jan 13, 2017
    Posts:
    7
    first of all thank you for your reply!
    I tried that but I'm not sure if i did something wrong but it seemed like map magic can get objects by tag from only one terrain but not the neighbor terrains, I got 4 of them all 1000x1000
    but when i use get by tag he only picks up the objects on the terrain 0,0 for example!
     
  19. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,282
    Okay, got it. Sincerely, wish you luck with this!

    Nice work, I like it! I really appreciate you doing this, and believe it will help all the MM users! Can't wait for part 7! :)

    The only idea that comes to my mind why shader might be disregarded in build, but not in editor - it's not recognized as asset and thus not included in build. Try adding it to "Always included shaders" list in Project Settings > Graphics.

    Possibly it's just a bug that I'm not aware of - could you please make a screenshot of the graph and the wrong effect it makes?

    Dll not found... That's odd. What is your OS? Might it be that Unity's package manager didn't import it properly - could you please check that NativePlugins dll (Windows) or bundle (Apple) present in MapMagic\Tools\Plugins?
    If you are on Linux - you can either disable C++ native plugins in Window-MapMagic-Settings or compile C++ code for your platform yourself.

    Do you have objects parented to terrains? It's better to keep them separate from MM and not linked with hierarchy to existing terrains - I can't say for sure what will happen otherwise.
     
    protopop likes this.
  20. NestorVG

    NestorVG

    Joined:
    Feb 12, 2019
    Posts:
    40
    Whittaker has issues I have been trying to fight for several days. I set all the biomes to a white terrain layer (microsplat), the "default" is orange, which should only be applied when there's an unassigned biome.

    (Sharpness is set to 0.9 but doesn't seem to remove the issue changing it to a lower number)

    There are borders between biomes that appear as default biome. The borders are not between the same biomes, in some places they are different.

    upload_2024-4-29_10-41-47.png

    This is it giving each biome a different color and sharpness at 0.9
    upload_2024-4-29_10-49-56.png
    Sharpness at 0.6 still shows this issue
    upload_2024-4-29_10-50-58.png

    The scale at which these are generating is quite big, some biomes having lenghts of miles.



    T
     
  21. NestorVG

    NestorVG

    Joined:
    Feb 12, 2019
    Posts:
    40
    Just did a quick representation with two gradients of what the biomes look like (white is repeated because if I add more layers to microsplat, it exceeds 100 mb and I cannot commit it to github normally)

    Everything orange should NOT be there

    upload_2024-4-29_11-1-22.png
     
  22. Alex_Bo

    Alex_Bo

    Joined:
    Sep 18, 2014
    Posts:
    19
    Hi everyone! I am new to the Map Magic and experiencing an issue on Unity 2023.2.19 Android build. I have a simple Noise -> Erosion-> Height graph for the testing purpose. When running the app, at first everything looks fine, but after several seconds chunks randomly flatten. I attach screenshots with example. What can be done about it?
     

    Attached Files:

  23. lordzeon

    lordzeon

    Joined:
    Jun 1, 2018
    Posts:
    45
    Hi, im having some problems with MM 2, currently i have this graph
    imagen_2024-04-29_141137164.png
    1) i tried to decompress in functions with unexpected results, for some reason, changes were not made even pressing generate because my funnction nodes had height input and output and i used serial functions for almost each of the groups. That didnn't worked always and most of the time i had to manually reconnect height output node step by step to proper refresh the graph, generate button didn't do that. Soo i had to go back to groups

    2) after adding microsplat and started populating the terrain with my objects (40 aprox) i had the console flooded by this error on play mode, making unity unresposive at 0.5 fps and even when exiting play mode the flood continue.


    Code (CSharp):
    1. NullReferenceException: Object reference not set to an instance of an object
    2. Den.Tools.DebugGizmos.Draw (UnityEditor.SceneView sceneView) (at Assets/MapMagic/Tools/DebugGizmos.cs:305)
    3. UnityEditor.SceneView.CallOnSceneGUI () (at <24e1ed8728684ea3ae446f80787d18de>:0)
    4. UnityEditor.SceneView.HandleSelectionAndOnSceneGUI () (at <24e1ed8728684ea3ae446f80787d18de>:0)
    5. UnityEditor.SceneView.DoOnGUI () (at <24e1ed8728684ea3ae446f80787d18de>:0)
    6. UnityEditor.SceneView.OnSceneGUI () (at <24e1ed8728684ea3ae446f80787d18de>:0)
    7. UnityEngine.UIElements.IMGUIContainer.DoOnGUI (UnityEngine.Event evt, UnityEngine.Matrix4x4 parentTransform, UnityEngine.Rect clippingRect, System.Boolean isComputingLayout, UnityEngine.Rect layoutSize, System.Action onGUIHandler, System.Boolean canAffectFocus) (at <05f2afe6185f419bbdba66c4cec39481>:0)
    8. UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)NullReferenceException: Object reference not set to an instance of an object
    9. Den.Tools.DebugGizmos.Draw (UnityEditor.SceneView sceneView) (at Assets/MapMagic/Tools/DebugGizmos.cs:305)
    10. UnityEditor.SceneView.CallOnSceneGUI () (at <24e1ed8728684ea3ae446f80787d18de>:0)
    11. UnityEditor.SceneView.HandleSelectionAndOnSceneGUI () (at <24e1ed8728684ea3ae446f80787d18de>:0)
    12. UnityEditor.SceneView.DoOnGUI () (at <24e1ed8728684ea3ae446f80787d18de>:0)
    13. UnityEditor.SceneView.OnSceneGUI () (at <24e1ed8728684ea3ae446f80787d18de>:0)
    14. UnityEngine.UIElements.IMGUIContainer.DoOnGUI (UnityEngine.Event evt, UnityEngine.Matrix4x4 parentTransform, UnityEngine.Rect clippingRect, System.Boolean isComputingLayout, UnityEngine.Rect layoutSize, System.Action onGUIHandler, System.Boolean canAffectFocus) (at <05f2afe6185f419bbdba66c4cec39481>:0)
    15. UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)
    3) I want to make some exposed variables, but the mapmagic object, show nothing to add a variable when i expand the "Exposed Variables", so i cannot add any variable. I need to enable something else?
    upload_2024-4-29_14-20-54.png

    4) Because my graph will become a lot more complex than now, if i cannot use functions and the error is related to complexity, then i will make some biomes, my need is to make a big ocean with low resolution and place islands with more detail, is this possible? what would be the best approach using biomes and blend ocean/island or make ocean map and then place islands as objects (if that is possible)
     
  24. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,700
    Is there a library of solutions for MM2? Would it make sense to have one?

    I'm thinking of how Amplified has a set of shaders to help developers get started.
     
  25. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,282
    Do I understand it correctly that the sum of all biomes in a middle of transition (orange) is not 1?
    Thanks for letting me know, I'll check and normalize this!

    Do you have any error in the console? Does it occur in build only or in editor too?

    There was some flow on calling re-generate (not major one though), it was fixed for upcoming version. Not sure if it will fix this issue since it was not related with functions, but worth checking anyways.
    As a workaround - instead of re-connecting nodes it might be easier to unpin tiles and pin them again.

    This should not be called at all unless you have Debug mode enabled in Window - MapMagic - Settings. Could you please check if it's on?
    And yes, logging an error takes a lot of time in Unity - probably because it gathers the whole call stack.

    Have you exposed variables with right-clicking on their label in node and selecting Value - Expose?

    Functions still would be the best approach. It would be better to find out why they are not working instead of switching to hacky alternative. So could you please check if you have debug mode enabled and values exposed?

    You mean more examples?
     
    protopop likes this.
  26. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,700
    I'm not sure what people need. Maybe their needs are already met. I'm just looking at the posts here, and it seems like people are trying to implement standard things and running into problems. Would more templates help? IDK. It was a thought.
     
  27. NestorVG

    NestorVG

    Joined:
    Feb 12, 2019
    Posts:
    40
    The way I understand it, that's exactly what's happening.


    Apart from that, I think I like this method of reading information for making a custom Whittaker so I'm implementing my own system to create textures from a single image that holds all the biomes in it with different colors, and then add some smoothing so that biomes blend a bit. This is letting me add new biomes as well, which is very nice.
     
  28. Greviouss

    Greviouss

    Joined:
    May 27, 2016
    Posts:
    176
    that loosely but suspiciously looks almost exactly like my biome edges being a slope causing artifacts and other weird issues to occur / appear in the world.... i know we handle these a bit differently but that really looks/sounds close...
     
  29. dpGoose

    dpGoose

    Joined:
    Feb 12, 2017
    Posts:
    7
    Is it possible to get the generated output value (0..1) from a specific node for a given coordinate in the world at runtime?
     
  30. Alex_Bo

    Alex_Bo

    Joined:
    Sep 18, 2014
    Posts:
    19
    >> Do you have any error in the console? Does it occur in build only or in editor too?

    All is perfect in the editor, happens only in the build. Seems like every new tile generated in runtime is pure flat. In the same time the spawned objects appear in the correct height (floating in the air). Also the draft tiles generated in the distance are correct and get flat when the player approaches. No errors in the console.
     
  31. EveFreeman

    EveFreeman

    Joined:
    Jul 15, 2013
    Posts:
    6
    Hi,
    I installed Map Magic in 2022.3.9f1 (Built-in Render Pipeline)
    And I was getting the following shader error.
    Map Magic Error 1.PNG

    This is how it looked in the scene view.
    Map Magic Error 2.PNG

    I google around and was able to make a code fix (I think, I don't know how to code shaders)
    But after addding the following line of code to the LightingLeafSSS shader, the trees are being rendered correctly and the error message no longer appers.
    Map Magic Error 3.PNG

    Just wanted to let you know, because maybe it is happening to other people as well.
     
    hopeful likes this.
  32. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,282
    What about you? As one of MapMagic users, what examples do you need, and what would like to be added to demo graphs?

    Got it, thanks!

    Yes. You can do this with Direct Matrices node.

    If the drafts are applied then it must be something on reading heightmap from texture. Can you please try to switch MM object -> Output Settings -> Apply Type -> Main to Set Heights, make it the same as Draft?

    Aha, so it's about forward rendering! Good finding, thank you for sharing it! Will include it in next version!
     
    dpGoose likes this.
  33. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,700
    Until a few days back, I only had the free version - which I thought was very nice in early testing - but now I have the bundle and I haven't gotten into it yet. When I do, sure, I'll try to make note of any issues and things that might help.
     
  34. Alex_Bo

    Alex_Bo

    Joined:
    Sep 18, 2014
    Posts:
    19
    I did as you suggested, and it solved the issue. Do you want me to check anything else?
     
  35. NestorVG

    NestorVG

    Joined:
    Feb 12, 2019
    Posts:
    40
    Making my own custom biomes I found that there's an issue with the Matrix Assets which makes a single line of pixels bleed to the other side of the texture when in reality the texture itself is correct


    upload_2024-5-4_19-50-55.png

    Here's an example in the border of a tile
    upload_2024-5-4_19-55-13.png

    Even when I check in MS Paint, I can see the file is correct and has no mistakes on it
    upload_2024-5-4_19-56-43.png


    I use a custom script to generate the biomes using an image that holds all the biomes by colors and then produces all the different textures that the Whittaker is later going to use. This script of mine also adds some "fade" to the biome borders but as shown in the last image, it doesn't create any artifacts that would cause those strange lines to appear, which I am experiencing even when making test textures by hand in MS Paint.
     
    hopeful likes this.
  36. Greviouss

    Greviouss

    Joined:
    May 27, 2016
    Posts:
    176
    So you made your own custom solution and map magic is broken meanwhile it definately is not your custom solution?
    ....
    ok:cool:
     
  37. NestorVG

    NestorVG

    Joined:
    Feb 12, 2019
    Posts:
    40
    The thing my custom solution does is:
    -Create textures from a single texture that holds all the biomes in it
    -Have the Whittaker node duplicated and with more biomes available

    It does not change the way MatrixAsset works or is read by the whittaker.

    The part causing issues is the class MatrixAsset which I did not make myself, it's part of the asset. I don't know if it's because I'm using .png files instead of RAW (using textures instead of RAW is an option given by the asset by default, BTW) but it's an issue happening by the normal usage of the asset.


    You can literally have the same issue by using the default solution but trying to use different biomes that don't have gaps between them (because the default biomes show gaps as I have shown previously)



    You have had to make a LOT of custom nodes yourself for your biome stuff, found many issues along the way, like biome borders being slopes, and have been forced to develop many workarounds to the issues you found along the way, Mr. Grevi ;)
     
  38. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,282
    So it seems that Android has some issue reading height from texture, and Unity doesn't work well with this here. Actually I'm only calling built-in function, so I can't change the way it works. The only thing I can recommend you is to leave Set Heights - maybe it has a bit lower performance, but at least it works.

    It looks like the standard texture filtration issue - it tends to read the other tile at the edge. But as what I can say from the screenshot you have point (i.e. disabled) filtration and mirror wrap mode. If it is that texture you are using to produce matrix it should not happen - I will try to reproduce it and found out why.
     
    NestorVG and hopeful like this.
  39. Greviouss

    Greviouss

    Joined:
    May 27, 2016
    Posts:
    176

    I have - but I generally have not blamed map magic for not working when i had to do that... cause 99% of the time, my code, or my implementation was to blame, :oops:
    or what i am doing is outside of the original design for map magic and the fine print clearly states im on my own when doing that ;)
     
    NestorVG likes this.
  40. mailfromthewilds

    mailfromthewilds

    Joined:
    Jan 31, 2020
    Posts:
    219
    Is there another way to import a spline than exposing every element in manual node array?
    (this limitation forces fixed size)
     
    Last edited: May 11, 2024
  41. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,282
    The thing is that MapMagic graph is a separate asset. It is not bound to scene by design - no scene objects could be used in graph. Since the Unity spline is part of the scene it should not be used here - but if you have an idea on how scene-independent spline (maybe scriptableobject asset?) I'll gladly think it over.