Search Unity

Map Magic World Generator - a node based procedural and infinite game map tool

Discussion in 'Assets and Asset Store' started by Wright, Mar 10, 2016.

  1. malkere

    malkere

    Joined:
    Dec 6, 2013
    Posts:
    1,212
    I think he means how during the generation process the terrains are disabled while generation takes place, then re-enabled once the data is prepared. I assume he's reading in the marker nodes prior to engaging the generation process.

    You could remove the generated terrains from MapMagic's awareness so that it thinks it's generating new terrains, then when it turns new ones on, figure out the location, and destroy any old terrains.

    I think your approach is good @YolanOTHER . The way I do it is to specify the tower placement in code and/or leave it up to noise based placement, instead of reading markers, but then it's pretty much the same workflow. I don't reflatten during runtime though, I just generate the data prior to turning them on once.
     
  2. illinar

    illinar

    Joined:
    Apr 6, 2011
    Posts:
    863
    @Wright "it will be seamless unless the generators require neighbor pixels"

    Hmm.. Sounds like a lot of generators would require neighbor pixels. I can see a potential workaround though. Say a generator requires to read 100 in a pixel radius around the current one. I can generate a chunk with 100 pixels of extra size, and then read everything but those 100 pixel borders.

    In my opinion this should be built into the method. It should know how much generators go over the borders, then it should generate with those extra borders, and then it would use the data in the middle as the output data.

    Safe borders concept seems kinda unsafe to me (no pun intended). Someone mentioned that it used to change results depending on chunk load order. And it seems like it wouldn't allow me to read pieces of the world at arbitrary positions with arbitrary size.

    So approach with extra "trow-away" borders generated seems more solid although would have some overhead.
     
  3. YolanOTHER

    YolanOTHER

    Joined:
    Oct 23, 2016
    Posts:
    47
    I'm using a static threadsafe list of SpatialObjects. When I add an object that should be tracked it updates that list and then I manually call MapMagic.instance.Generate(). The node then iterates over that list on its thread safely. The terrain disappearing issue was so bad I ended up doing a temporary manual patch of the terrain and then added a button to call Generate(). I really want to give this a try on MM2 and see how it does. Does MM2 support CTS/VSPro yet? The last time I pulled from git I had issues with both, but it seems like that was because the assembly dependencies got messed up on import.

     
  4. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,277
    That's the way it's done in MM2. Each chunk has a virtual margins that are generated. Instead of resolution of 512, for instance, it generates 512+16+16, but applies only the central 512 pixels. It creates some overhead, but masks seams pretty well in most cases.

    So you are re-generating in a playmode. MapMagic hides the terrains to avoid player to see partial apply. For example, when height is already applied, but splatmap information is scheduled for the next frame with apply coroutine player can see a white terrain blinking for one frame. Commenting out lines 282 and 283 of MapMagic.cs will turn this hide feature off, making your terrains persistent.

    Thanks for the idea! The header text color was initially bright, but I decided it was a bit gaudy. In the later versions headers are pretty readable because of their font, and blend well with the other dark text.
     
    Last edited: Dec 30, 2019
    illinar likes this.
  5. TiToMoskito

    TiToMoskito

    Joined:
    Jan 28, 2014
    Posts:
    66
    How can planets be made with MM and Voxeland? I read its possible, but there is no described way, how to manage it
     
  6. YolanOTHER

    YolanOTHER

    Joined:
    Oct 23, 2016
    Posts:
    47
    @Wright do you expect the MM2 beta to work on a mac yet? I'm getting a pile of missing asmdef errors:

    Assembly has reference to non-existent assembly 'GUID:f916027ffe7a29c4dbc7d2ba84359bf4' (Assets/MapMagic/Tools/Editor/ToolsEditor.asmdef)
    Assembly has reference to non-existent assembly 'GUID:f916027ffe7a29c4dbc7d2ba84359bf4' (Assets/MapMagic/Addons/Editor/MapMagicAddonsEditor.asmdef)
    Assembly has reference to non-existent assembly 'GUID:10c2c8b9f42fe8c43bbe8dae22545979' (Assets/MapMagic/Editor/MapMagicEditor.asmdef)
    Assembly has reference to non-existent assembly 'UnityEngine.TestRunner' (Assets/MapMagic/Tools/Tests/ToolsTests.asmdef)
    Assembly has reference to non-existent assembly 'GUID:f916027ffe7a29c4dbc7d2ba84359bf4' (Assets/MapMagic/Addons/VegetationStudio/MapMagic_VegetationStudio.asmdef)
    Assembly has reference to non-existent assembly 'GUID:f916027ffe7a29c4dbc7d2ba84359bf4' (Assets/MapMagic/Runtime/MapMagic.asmdef)
    Assembly has reference to non-existent assembly 'GUID:f916027ffe7a29c4dbc7d2ba84359bf4' (Assets/MapMagic/Tools/Tests/UnitTests/ToolsUnitTests.asmdef)
    Assembly has reference to non-existent assembly 'GUID:f916027ffe7a29c4dbc7d2ba84359bf4' (Assets/MapMagic/Addons/VegetationStudio/Editor/MapMagic_VegetationStudioEditor.asmdef)
    Assembly has reference to non-existent assembly 'GUID:f916027ffe7a29c4dbc7d2ba84359bf4' (Assets/MapMagic/Tools/Tests/Editor/ToolsTestsEditor.asmdef)
    Assembly has reference to non-existent assembly 'GUID:f916027ffe7a29c4dbc7d2ba84359bf4' (Assets/MapMagic/Addons/Runtime/MapMagicAddons.asmdef)
     
  7. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,277
    I've seen planets created with Voxeland + custom scripts, but I'm not aware if they could be generated with MapMagic. You can find a link to the forum post showing Voxeland planets in f.a.q., however I have not tried doing this myself, so can't say anything particular about how it's done.

    Yes, MM2 works on Mac. Could you please report an issue (and specify your Unity version btw)?

    The only Mac issue I know is that it doesn't support Native mode for some generators like Erosion yet, so you've got to switch to Managed to make the graph generated. Guess I will just make it Managed by default for now.
     
    protopop likes this.
  8. psistalk

    psistalk

    Joined:
    Sep 23, 2013
    Posts:
    68
    Note that MM2 requires Unity 2019.2 or later with .NET 4.x compatibility enabled in Project Settings (Edit - Project Settings - Player- Other Settings).
     
    sfoust and Wright like this.
  9. YolanOTHER

    YolanOTHER

    Joined:
    Oct 23, 2016
    Posts:
    47
    @Wright do you want us to report issues in git lab? I assume CTS and VSPro are not supported yet? If I have them in my project mm won't compile. I've also had issues where runtime generation isn't happening and there is tearing along landscape borders. One random tile was all zero height.
     
  10. SLASH24

    SLASH24

    Joined:
    Sep 20, 2012
    Posts:
    144
    hi there ! I'm using map magic, when I set up the textures on terrain, based on slopes, and cavity, for example, once I enter play mode, the look of the terrain revert back to something else, the textures appears at totally differents places, and no longer take slopes into account. when I go back to edit mode, and once I update some settings in map magic, the textures finally revert again to what I've wanted and that I've set up correctly.
    to sum up I can't manage to keep my terrain settings and appearance persistent.

    Can I get some help please ?
     
    Last edited: Jan 1, 2020
  11. YolanOTHER

    YolanOTHER

    Joined:
    Oct 23, 2016
    Posts:
    47
    @Wright should runtime generation be working? I'm not seeing any terrains get generated at runtime unless I pin them.
     
  12. camta005

    camta005

    Joined:
    Dec 16, 2016
    Posts:
    320
    I see that MM2 requires Unity 2019.2 or later. Is there a reason that 2018.3 or later couldn't be supported, as that was the unity version where the major terrain changes were made.
     
  13. Aress28

    Aress28

    Joined:
    Dec 12, 2015
    Posts:
    100
    when will be MM2 released out of beta?
    I see there is output CTS but cant find anything about VS Pro...VS Pro is not supported?
     
    Last edited: Jan 1, 2020
  14. illinar

    illinar

    Joined:
    Apr 6, 2011
    Posts:
    863
    Edit: editor gimes me weird performance spikes I thought it's my async MM call, but no.
     
    Last edited: Jan 4, 2020
  15. Zeven001

    Zeven001

    Joined:
    Sep 11, 2017
    Posts:
    10
    Hi i got some realy strange stripes on Generating some landscape how do i fix this? TripesMM.png
     
  16. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,277
    No, no, not gitlab, but ideainformer. You can find the link and instructions on how to report the issues on the instructions page.

    Since version 2.0.B3 it requires 2019.1. It might be working with an older Unity version, however I haven't tested that yet.

    Currently I'm working on C++ support for mac, then I'm going to renew the documentation, and then going fix the bugs found during the beta test. Don't know how much time it will take, though.

    It should be supported, however it placed in a different folder (Addons) in a different assembly (since VS Pro is working in a different assembly too). Probably some assembly issue, please report a bug.

    It's hard to say anything about these spikes - there's not enough information for conclusions. Could you please clarify when they happen and profile what function calls them if possible?

    Seems like the built-in Unity noise floating point limitations. Try switching to other noise type in noise generator.
     
  17. YolanOTHER

    YolanOTHER

    Joined:
    Oct 23, 2016
    Posts:
    47
    @Wright, is there a reason you're using assembly defs? How do you give access to code with an assembly def to scripts outside of that def? Related to @Aress28's issue the only way I've found to reference an object in an assembly def so far is to create an assembly def and add a ref to it.
     
  18. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,277
    Compile time. Encapsulation in broad terms. MapMagic is an independent plugin if you can call it that, and should not be compiled together with the other game code.

    If your game code is split into several independent assemblies, or at least using one assembly separated from Unity's code and other plugins - you will have no problem in adding reference(s) to MapMagic's assembly.
    If not - you can still fully use MM2, however won't be able to access it via code.

    You'll have to do it anyways. No matter if MM uses asmdefs or not - the thing is that VS Pro uses them, so you've got to create an additional assembly anyways. For instance, MM1 does not use special assemblies - except VS Pro generator that is stored in a special folder with a special asmdef. No difference with MM2 in here.
     
    Last edited: Jan 8, 2020
  19. Astaelan1

    Astaelan1

    Joined:
    Sep 29, 2015
    Posts:
    192
    @Wright I think there is a bug in the VS Pro Maps node, when you attempt to use more than one Mask Group, it always exports the maps to the first group.

    I have the following basic setup to test this:



    From the bottom, I have Ocean = Group 1 R, Reef = Group 1 G, Shallows = Group 1 B, Beach = Group 1 A, and Field is Group 2 R.

    When I set a vegetation in veg studio to include using mask from Group 2 R, nothing shows up. If I select Group 2 B, it appears in the shallows masked area. If I then swap the mask from Shallows to Ocean and use Group 2 R, I see my vegetation show up in the Ocean mask confirming that it's only exporting to the first group and doesn't support additional groups selected from the node.
     
  20. Astaelan1

    Astaelan1

    Joined:
    Sep 29, 2015
    Posts:
    192
    I also attempted to use the approach with Biomes, giving each it's own vegetation package as follows:



    However, this is also not working, and results in only one of the two biomes being updated. For whatever reason, it only updates masks in the field biome, and the masks in the beach are unaffected. I removed the texture group masks from veg studio, regenerated from MapMagic to confirm and Field regenerated, but Beach did not.

    What's more interesting is I'm only posting to the Green channel, but the texture masks of the Field biome look like this:



    Which suggests it's picking up the red mask from the beach I think. It's hard to tell exactly what's going on here, but it has certainly picked up a red channel somehow.
     
  21. YolanOTHER

    YolanOTHER

    Joined:
    Oct 23, 2016
    Posts:
    47
    upload_2020-1-11_23-0-50.png

    I was trying out the microsplat node on mm 1.10.8 and I'm having an issue with new terrains not showing up properly. If I select the individual terrains and hit the sync button on the MicroSplatTerrain object it works. I also tried throwing a sync in an onTerrainGenerated delegate, but no luck.

    Code (CSharp):
    1.  
    2.     // Update is called once per frame
    3.     void Update() {
    4.         if (syncQueue.Count > 0) {
    5.             try {
    6.                 MapMagic_OnGenerateCompleted(syncQueue.Peek());
    7.             } catch (MissingReferenceException) {
    8.                 syncQueue.Dequeue();
    9.             }
    10.         }
    11.     }
    12.  
    13.     private void OnEnable() {
    14.         MapMagic.MapMagic.OnGenerateCompleted += MapMagic_OnGenerateCompleted;
    15.     }
    16.  
    17.     private void MapMagic_OnGenerateCompleted(Terrain terrain) {
    18.         MicroSplatTerrain mso = terrain.GetComponent<MicroSplatTerrain>();
    19.         Debug.Log("Terrain: " + terrain.name + ", will sync? " + (null != mso ? "yes" : "no"));
    20.         if (null != mso && mso.Sync()) Debug.Log("Synced " + terrain.name);
    21.         else syncQueue.Enqueue(terrain);
    22.     }
     
  22. camta005

    camta005

    Joined:
    Dec 16, 2016
    Posts:
    320
    @Wright Saving a graph to a data.asset file is not saving Regard Prefab Rotation, Regard Prefab Scale and Instantiate Clones for the Objects generator. It appears to be saved to the scene but not the asset file, if you create a new scene it will only use the defaults for those settings even after importing a graph data.asset file.
     
  23. protopop

    protopop

    Joined:
    May 19, 2009
    Posts:
    1,561
    Is there a performance hit if we use biomes vs not sing them?

    I have 3 biomes and all is good. But im wondering if there's any benefit if I open them up and put all the nodes on the main graph instead?

    Or is it all the same performance wise?

    MapMagic 1 btw not 2
     
    Last edited: Jan 12, 2020
  24. protopop

    protopop

    Joined:
    May 19, 2009
    Posts:
    1,561
    So far I am loving the updates to MapMagic2. Im so glad you are releasing this.

    For Mac users if you get an error goto the editor graph Erosion node and choose "Managed" from the little drop down at the bottom of the mode to bypass native erosion (not implemented on Mac yet)

    Can we import MM1 files into MM2, even if partially?
     
    Lars-Steenhoff likes this.
  25. protopop

    protopop

    Joined:
    May 19, 2009
    Posts:
    1,561
    I tested running MapMagic 1 and two in the same project, and scene and it worked.

    I renamed MapMagic folder to MapMagicx.

    Then I dragged in the MapMagic2 folder, created a template graph, an gadded it to my scene which already has a MapMagic 1 instance in it.

    I was able to have both MM1 and MM2 running in the same scene. I have tried walking too far in it, but this bodes well because it will help transitioning a project using MapMagic1 to 2 when it comes out. I am super excited about this.
     
  26. protopop

    protopop

    Joined:
    May 19, 2009
    Posts:
    1,561
    sorry to ask this here. I was able to submit a first bug report to idea informer. but it won't give me an option to submit any more than the one. maybe it needs to be approved before I can submit multiple reports there?

    I have no problem with MM2 in a fresh project, but imported into an existing one, everything seems ok except an error in the MicrosplatOutput.cs

    namespace name 'JBooth' could not be found
    and many others in that file alone like Mapmagic.Products,.... not found

    If I move the file outside that folder then the JBOOTH is found but not the others. Maybe its an assembly definition thing?

    EDIT: or maybe its because I dragged and dropped the MM2 folder into unity instead of importing it through the asset importer?
     
  27. Sholms

    Sholms

    Joined:
    Nov 15, 2014
    Posts:
    85
    I'm testing the mapmagic 2 beta, I'm using the 2019.3.0f3 and the Random Node gives me the next error.

    Thread failed: System.NotImplementedException: The method or operation is not implemented.
    at MapMagic.Nodes.ObjectsGenerators.RandomObjects200.Generate (MapMagic.Products.TileData data, MapMagic.Products.StopToken stop) [0x0006c] in D:\Unity Projects\HDRP Test\Assets\MapMagic\Runtime\Generators\Objects\ObjectsGenerators.cs:75
    at MapMagic.Nodes.Graph.GenerateRecursive (MapMagic.Nodes.Generator gen, MapMagic.Products.TileData data, MapMagic.Products.StopToken stop) [0x001a1] in D:\Unity Projects\HDRP Test\Assets\MapMagic\Runtime\Generators\Graph.cs:659
    at MapMagic.Nodes.Graph.GenerateRecursive (MapMagic.Nodes.Generator gen, MapMagic.Products.TileData data, MapMagic.Products.StopToken stop) [0x000a6] in D:\Unity Projects\HDRP Test\Assets\MapMagic\Runtime\Generators\Graph.cs:638
    at MapMagic.Nodes.Graph.GenerateRecursive (MapMagic.Nodes.Generator gen, MapMagic.Products.TileData data, MapMagic.Products.StopToken stop) [0x00055] in D:\Unity Projects\HDRP Test\Assets\MapMagic\Runtime\Generators\Graph.cs:631
    at MapMagic.Nodes.Graph.Generate (MapMagic.Products.TileData data, MapMagic.Products.StopToken stop) [0x00041] in D:\Unity Projects\HDRP Test\Assets\MapMagic\Runtime\Generators\Graph.cs:613
    at MapMagic.Terrains.TerrainTile.Generate (MapMagic.Nodes.Graph graph, MapMagic.Terrains.TerrainTile tile, MapMagic.Terrains.TerrainTile+DetailLevel det, MapMagic.Products.StopToken stop) [0x00052] in D:\Unity Projects\HDRP Test\Assets\MapMagic\Runtime\Terrains\TerrainTile.cs:649
    at MapMagic.Terrains.TerrainTile+<>c__DisplayClass37_0.<EnqueueTask>b__0 () [0x00000] in D:\Unity Projects\HDRP Test\Assets\MapMagic\Runtime\Terrains\TerrainTile.cs:557
    at Plugins.Tasks.ThreadManager.TaskThreadAction (Plugins.Tasks.ThreadManager+Task task) [0x00002] in D:\Unity Projects\HDRP Test\Assets\MapMagic\Tools\Runtime\ThreadManager\ThreadManager.cs:125
    UnityEngine.Debug:LogError(Object)
    Plugins.Tasks.ThreadManager:TaskThreadAction(Task) (at Assets/MapMagic/Tools/Runtime/ThreadManager/ThreadManager.cs:128)
    System.Threading.ThreadHelper:ThreadStart()
     
  28. protopop

    protopop

    Joined:
    May 19, 2009
    Posts:
    1,561
    Screen Shot 2020-01-12 at 3.19.58 PM.png

    This is how I referenced MapMagi1 in scripts - I used it to set the seed before generating.

    With MM2 it says im trying to use the namespace MapMagic as a type, and that"instance" isn't part of MapMagic (probably because now its being seen as a namespace not a MapMagic type)

    Do you know ho I can reference MapMagic in the scene with MM2?
     
  29. AngelBeatsZzz

    AngelBeatsZzz

    Joined:
    Nov 24, 2017
    Posts:
    239
    Hi, I encountered a bug related to Draw Instanced, which caused the terrain to be invisible.

    Steps to reproduce:
    1. Open the DEMO scene and check ‘Draw Instanced’.
    2. Unpin the terrain in the DEMO scene, so that all terrains are generated at runtime.
    3. Build Game and then run the game.exe.

    The terrain is visible in the editor, but it will not be visible in game.exe.

    20200113212336.jpg
     
  30. protopop

    protopop

    Joined:
    May 19, 2009
    Posts:
    1,561
    My answer here isn't really related to MM but in case it leads somewhere... I had a problem with Unity Instanced terrain being incompatible with Anisotropic Filtering enabled on iOS (the terrain would freak out into stretched flashing patches). SO I think there are still some conflicts with Unity Instanced terrains specifically and some platforms and features.
     
  31. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,277
    New Beta version is available, bringing fixes described on GitLab and ideaInformer (instructions and download page).

    Ok, will look into it.
    This won't work with the biomes - both outputs should have the same layers.

    Are you talking about MM2? If so it is an expected behaviour - these settings (marked with the link icon) are stored not in a graph, but in mm object, so they are saved with the scene. In MM1 they are static values, loaded each time mm is deserialized - and I admit it might be confusing.

    Biomes do have a slight overhead effect, but it's not so relevant compared to overall generate time. It should not be the reason to unroll the biomes.

    In the latest version erosion is managed by default on mac. However still working on it to make it native.

    Rather odd. All of the posts are approved automatically. Is there any error message or something?

    Could you please report an issue?

    MM object is called MapMagicObject here. Personally I would rather not create scripts in MapMagic namespace, just in case MM will have the class named LoadManager. It's better define `using MapMagic` instead.

    Is it working with Draw Instanced disabled?
    It seems related more with the default terrain shaders - since there are no terrain objects in build they are not included. Try adding Nature/Terrain/Standard shader to Always Included Shaders in Project Settings - Graphics.
     
  32. camta005

    camta005

    Joined:
    Dec 16, 2016
    Posts:
    320
    I was referring to MM1. I see in OutputGenerators.cs in the Objects generator you have commented out bools that look like they were going to be used for this:
    Code (CSharp):
    1.             //public bool regardRotation = false;
    2.             public bool rotate = true;
    3.             public bool takeTerrainNormal = false;
    4.  
    5.             //public bool regardScale = false;
    6.             public bool scale = true;
    7.             public bool scaleY;
    8.  
    9.             //public bool usePool = true;
    10.             public bool parentToRoot = false;
    11.  
     
  33. AngelBeatsZzz

    AngelBeatsZzz

    Joined:
    Nov 24, 2017
    Posts:
    239
    Terrain is visible when Draw Instanced is disabled.

    I added 'Nature / Terrain / Standard shader' but the terrain is still not visible in game.exe.
     
  34. Daniel-Talis

    Daniel-Talis

    Joined:
    Dec 10, 2011
    Posts:
    425
    MM2 beta, (latest), Infinite terrains working in editor but not appearing when compiled to exe.
     
  35. protopop

    protopop

    Joined:
    May 19, 2009
    Posts:
    1,561
    no error on the feedback page- It was able to add one feedback (the Mac Drag to change variable item) then the add new button disappeared after that, or maybe im missing it? If I type something in the field and submit it, it just reloads the same page.

    Screen Shot 2020-01-14 at 4.16.59 PM.png
     
  36. protopop

    protopop

    Joined:
    May 19, 2009
    Posts:
    1,561
    Is there a way to import MapMagic 1 files into MapMagic 2?
     
  37. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,277
    Beta 5 is available - it brings native code compatibility to Mac OS. If you have already installed previous beta - enable native compatibility in Window - MapMagic - Settings.

    Try typing anything in "I would like to" field. It should draw the list of similar problems and display Share button below.

    Currently there is no way to do so. Graph structure could be pretty different, and node values do not match. I'm thinking of a small graph upgrade utility, but even so it won't generate the similar result.

    Could you please report an issue? Infinite terrain seems to be working fine for me, so I need more information like build platform, unity version, etc. Please see the instructions on how to report a bug.

    These values are stored in the objects pool, that is the part of the scene.

    Try selecting the terrain material in MapMagic object - Terrain Settings and enable GPU Instancing for it. Works fine for me. Seems to be shader compatibility stuff.
     
    AngelBeatsZzz and protopop like this.
  38. protopop

    protopop

    Joined:
    May 19, 2009
    Posts:
    1,561
    Cool:) Thank you.
    I use MapMagic 1 on iPhone/ipad. Do you think I should use Managed in my erosion node in MapMagic 2? If I use Native does that only work for nodes running on a Mac (or pc) build of the game. And im guessing managed does this the original way, which I guess is safer and more compatible?
     
  39. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,277
    As far as I know iOS uses bundles (compiled file sets), as well as OSX. Don't know if they are the same bundles, though. Guess it's worth trying to test native MM2 on iOS.

    EDIT: Just briefly looked inside the bundle, but could find only the MacOS files here.
     
    protopop likes this.
  40. boysenberry

    boysenberry

    Joined:
    Jul 28, 2014
    Posts:
    365
    I am about to dig back into terrain creation with MM, but I am not sure if I should use MM2 or MM1.
    I know MM2 is in beta, but I also have read that what is produced in MM1 will not port to MM2.
    I'd like to be able to use MM2 for my game.
    How long until MM2 is out of beta? Would you suggest I use MM1 or MM2? I plan on upgrading once you release and already own a license for MM1. Rather than building everything from scratch again when MM2 is released I am contemplating using it now, helping you debug it and just rolling with the updates/releases. I plan on a 3 year development cycle before release, so I'll have a lot of time before needing to be production ready.
    What do you suggest?

    Thank you,
    Boysenberry Payne
     
    protopop likes this.
  41. Beloudest

    Beloudest

    Joined:
    Mar 13, 2015
    Posts:
    247
    Recently I've been struggling to get perfectly aligned splat layers across multiple tiles along seams when generating layers via the Slope tool. Visually this can be seen on the edges of terrain tiles when textures are applied as very obvious misaligned textures. My project is currently using Microsplat, my terrain res is 256 and fairly large tiles for a flying experience.

    Image
    https://www.dropbox.com/s/7mc1ucfdkcwqxeh/picturemessage_ybk1t1sb.0q5.png?dl=0

    I have found that messing around with noise settings and uniformity can make my splats align to some degree but as I move towards 6-8 texture layers it becomes impossible to get splats aligned when using Slope node with Custom Shader. Is this a computational limitation of being able to blend slopes properly along seams or is something not working quite right here? Have you any advice, many thanks.
     
    Last edited: Jan 19, 2020
  42. Daniel-Talis

    Daniel-Talis

    Joined:
    Dec 10, 2011
    Posts:
    425
    I'm going with the beta. If you are at the beginning of a three year development cycle I'd suggest do the same. It'll surely be out of beta in 6 months.
     
    Last edited: Jan 20, 2020
    protopop and boysenberry like this.
  43. AtomsInTheVoid

    AtomsInTheVoid

    Joined:
    Jul 27, 2015
    Posts:
    251
    upload_2020-1-20_15-15-30.png

    Might be a basic question, but I'm using MM with Vegetation Studio Pro, and have the foilage get mapped to a texture that VSP then uses for grass placement.

    But I want different foilage in the forest than in the plains area.

    I was thinking, NO PROB, I'll just take the green forest output and put it as mask for the VS Pro Maps node.. but of course that's blue! So I looked in vain for a node that would convert Green data to Blue data, but nothing.

    So how can I tell "blue" nodes that a "forest" is currently here but not there?
     
  44. malkere

    malkere

    Joined:
    Dec 6, 2013
    Posts:
    1,212
    You're looking for a "Blob" generator =D
     
    Wright and camta005 like this.
  45. AtomsInTheVoid

    AtomsInTheVoid

    Joined:
    Jul 27, 2015
    Posts:
    251
    BRILLIANT!!!
     

    Attached Files:

    malkere and camta005 like this.
  46. Deleted User

    Deleted User

    Guest

    I have a question:

    Is it possible to create an in-game UI of all nodes so that the player later on in the game could make its own generations, same as the Editor UI but for the end-user later directly in the game?

    I think it's possible on the technical side but how does it look for the licencing?

    Talking now about MM2, just for the Game maybe with an Import/Export function with an own serialized data file which only works for this special game application later on.
     
  47. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,277
    I don not plan big changes for MM2 until the release, so you probably could use MM2 to start the project with.

    Unlike heights and the standard terrain textures, 3rd party terrain textures are not welded with the neighbor chunks. In some cases welding is impossible - for example, for MegaSplat, in some (like MicroSplat or CTS) it requires absolutely different algorithms rather than standard welding. This feature isn't supported by MM, but I can think of implementing it after MM2 release (I still plan to make some fixes for MM1) if it will have votes.

    If you are creating a game that will have the other purpose rather than creating terrains - I don't think it would be a re-distribution. However I can refine that by asking Unity law department if you mean business.
     
    Lars-Steenhoff likes this.
  48. Deleted User

    Deleted User

    Guest


    The Game is a Survival Game and it has another purpose, I just thought it would be a cool extra to allow editing the terrain for the player, something like an in-game map editor.
    I also just would serialize the generation data in a way that it only works with this special Survival game and the data would be useless in Unity or other applications....
    But it's just an idea, I just would like to know it :)
    If you think it's a bad move or feel not really good by allowing me that I will not do it as making all correct plays a big part for me, just in case it's allowed
     
    Last edited by a moderator: Jan 22, 2020
  49. protopop

    protopop

    Joined:
    May 19, 2009
    Posts:
    1,561
    I don’t know if this is related to mapmagic (love it) or unity terrain or iOS but I have a large area with 3 biomes, each with several types of grass. When I build it for iPad a couple of the grass types don’t appear. Only in the build it works great on my Mac.

    So in my southern biome I added three flower types but only one shows up on the iOS itself. If I isolate the biome and just build it alone all three flowers show up. Maybe there is something with my normalize layers blocking something beneath it? I’m not sure what the process is behind those.

    Does anyone have any ideas, like could there be some kind if of terrain grass atlas texture limit or something? What’s really stumping me is that this only happens in the Build. My only current theory is that maybe there’s a limit of eight grass textures on mobile or something? Any theories will help.
     
  50. malkere

    malkere

    Joined:
    Dec 6, 2013
    Posts:
    1,212
    I have had nothing but problem using Unity's grass out of the box. I use Vegetation Studio (non-pro) specifically for grass. If you deep profile it, the performance spike from turning on of new terrains with grass added to them is ridiculous, and it's caused by the grass, not the terrains, though that's not something everyone does. I also had problems where grass would not show up in builds back when I was trying to use it through Unity terrains, or show up whitewashed, or pink, etc. That was a long time ago though, I'm not sure if I ever solved it without going 3rd party.
     
    mmaclaurin and Wright like this.