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
    1. That's the normal flow of the asset yes.
    2. The MapMagic object itself has a seed that is sort of the "main" seed. There are also internal seeds on the generator nodes such as Noise and Scatter that generally remain static and are used more to make sure that each noise node is generating something different than one another, though you can manipulate those freely as well.
    3. You can write custom generators to do almost anything. I have a custom generator that defines a biome for every 8x8 chunk or terrains which then tells MapMagic what to draw where.
    4. Absolutely. To make this easier I've added a simple "name" string to some of my generators so I can find them during startup. Keep in mind that changing a value in runtime would mean that you would need to regenerate all the terrains for the changes to take affect, which is basically turning them all off, regenerating them, then turning them all on again. This isn't a problem for like world settings prior to loading a level, but not really something you want to do while the world is loaded and being played.
     
    Wright likes this.
  2. tapticc

    tapticc

    Joined:
    Jan 16, 2014
    Posts:
    379
    Thanks for the detailed response :)
     
  3. tapticc

    tapticc

    Joined:
    Jan 16, 2014
    Posts:
    379
    I guess I should wait for the new version MM2?
     
  4. malkere

    malkere

    Joined:
    Dec 6, 2013
    Posts:
    1,212
    I'm not sure how you came to that response? MM2 won't be changing any of those base mechanics as far as I know. Is there something that sounded bad in all that?
     
  5. tapticc

    tapticc

    Joined:
    Jan 16, 2014
    Posts:
    379
    Sorry, no I just mean if it is being released soon I could avoid buying both versions
     
    Last edited: Sep 5, 2019
  6. GamePowerNetwork

    GamePowerNetwork

    Joined:
    Sep 23, 2012
    Posts:
    257
    I would like to add MapMagic to a current project that I'm working on.. but I keep hearing about MM2 and I don't want to jump in now because I'm not sure when MM2 will be released.
     
  7. Binary42

    Binary42

    Joined:
    Aug 15, 2013
    Posts:
    207
    Bump.
    For the platformer im using MM for, i managed to *just not* generate the tiles in view direction and behind the camera with a custom center object that strictly moves left/right only. So i kinda have a 1D generation but with a realistic FOW one can see the left and right tiles pop in, that's why i should use a higer range for tile generation but that would generate those in view dir and behind too ...

    The other question is: how do i feed world data into MM? For instance a road network.

    For MM2 there will maybe a fair upgrade price @Wright? So you can start right away, it's worth it. ;)
     
  8. Daahrien

    Daahrien

    Joined:
    Dec 5, 2016
    Posts:
    100
    and can my project migrate to mm2? or I will have to make another terrain "from scratch"?
     
  9. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,276
    Stardog, Bodyclock, thanks for reporting the issue. The thing is the assets compatible with MM change, and this can cause the bugs where it was working and tested.

    It would be cool if you could share your project so I could look deeper into this issue (email). If not - could you please check if the same issue appears in the demo scene?

    You can input custom coordinates with the custom node like this one. There's no way to access scene objects out of the box, however the custom node that reads coordinates in Prepare function is possible, but requires some scripting knowledge.

    You can turn off both "Generate around main camera" and "Generate around objects tagged", and assign the tiles you need to generate manually with the script using mapMagic.chunks.Deploy and CoordRect.PickIntersectingCellsByPos to calculate the deploy rects.

    I like the idea of naming generators to get access via code. Will note it to implement in MM2 :)

    It depends on how much time you have for your project or what features do you need from MM. If you are happy with MM at it's current state or don't have three months or so in reserve - take MM1. If you are looking for a platform for you future projects or need splines, faster speed, drafts, etc - then MM2 is worth waiting for. I plan to release it within three months, however it's just a plan.

    I will make a grace period of minimum a month for MM1 users on MM2 release - this means that all who purchased MM1 a month prior to MM2 release date will get MM2 for free. Other MM users will get it for the half price.

    There will be an upgrade helper tool that will convert the nodes to MM2 format, however the generated results will differ because the random algorithms have changed. You will still need to look through and tune your graph.
     
  10. Lumos

    Lumos

    Joined:
    Feb 11, 2013
    Posts:
    49
    The GPU Instancer is compatible with MM out of the box. One of the older versions didn't support biomes, but I'm pretty sure they've fixed it at this point.
     
    Giantsmall likes this.
  11. tapticc

    tapticc

    Joined:
    Jan 16, 2014
    Posts:
    379
  12. Giantsmall

    Giantsmall

    Joined:
    Apr 28, 2019
    Posts:
    18
    Regarding accessing mm output by coordinates
    I made some progress on accessing generator output by coordinates.
    I created bitmap that somewhat reflects output preview (see attachment - preview is on right).
    I am not sure how to proceed.. any ideas?

    Code (CSharp):
    1.  
    2.         MapMagic.Chunk.Results results = new MapMagic.Chunk.Results();    
    3.         MapMagic.Chunk.Size size = new MapMagic.Chunk.Size(magicMap.resolution, magicMap.terrainSize, magicMap.terrainHeight);
    4.         magicMap.gens.Calculate(32, 32, 1024, results, size, 12345);
    5.         MapMagic.Matrix mmTrix = (MapMagic.Matrix)results.results.Values.ToList().First();
    6.  
    7.         float min = mmTrix.array.Min();
    8.         float max = mmTrix.array.Max();
    9.         int len = (int)Math.Sqrt(mmTrix.array.Length) / 2;
    10.         Rectangle bmpRect = new Rectangle(0, 0, len, len);
    11.         Bitmap bmp = new Bitmap(len, len, PixelFormat.Format32bppRgb);
    12.         byte[] byteArray = new byte[len * len * 4];
    13.    
    14.         byteArray = new byte[len * len * 4];    
    15.         for (int x = 0; x < len * 2; x++)
    16.         {
    17.             for (int y = 0; y < len * 2; y++)
    18.             {
    19.                 int index = x * len * 2 + y;
    20.                 byteArray[index] = (byte)((mmTrix.array[index] - min) / (max - min) * 255);
    21.             }
    22.         }    
    23.  
    24.         BitmapData flagData = bmp.LockBits(bmpRect, ImageLockMode.ReadWrite, bmp.PixelFormat);
    25.         System.Runtime.InteropServices.Marshal.Copy(byteArray, 0, flagData.Scan0, byteArray.Length);
    26.         bmp.UnlockBits(flagData);
    27.         bmp.Save(@"U:\\bitmap.bmp");
     

    Attached Files:

  13. malkere

    malkere

    Joined:
    Dec 6, 2013
    Posts:
    1,212
    @msmolana what's your end goal with this?
     
  14. Giantsmall

    Giantsmall

    Joined:
    Apr 28, 2019
    Posts:
    18
    I want to get tactical map that will be generated based on position on world map.
    So if I am standing in the forest tactical map will be generated with trees etc.
     
  15. p_hergott

    p_hergott

    Joined:
    May 7, 2018
    Posts:
    414
    Is it possible, to create several map graphs, then switch them dynamically? Like eg. 1 level is forest, Level 2 desert. Ect ect.

    and what is the common practice people use for Navmesh?
     
    Last edited: Sep 8, 2019
  16. p_hergott

    p_hergott

    Joined:
    May 7, 2018
    Posts:
    414
    I updated mapmagic, and if i try to load a project, it crashes...
     
  17. malkere

    malkere

    Joined:
    Dec 6, 2013
    Posts:
    1,212
    You could definitely take a picture with a camera just looking down at your world and render that to a sprite if that works for your case. Otherwise, the way I do it is to actually use the TerrainData of the terrain itself once MM is done with it. There you've got splat weights and tree positions easily accessible. I assign each splat a color and generate a color for each point on the map based on a blend of all the splats. I don't take into account trees, but you could make a pass on the resulting image to paint top down trees on it.
     
  18. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,276
    Could you please clarify what are the size ratios between world map and tactical map? Is the world map the one that has a large scale, and tactical map just uses the part of it? Or vice versa?

    If you mean graph - could you please send it to me so I could look into this? If it's really a project - well I have to try to load it somehow anyways.
     
  19. p_hergott

    p_hergott

    Joined:
    May 7, 2018
    Posts:
    414

    Create a render texture. Set a camera like 50 units or more above your player, set the render texture into that cameras render slot. Then create a UI. With the raw image of that render texture. Like malkere said. Or set the camera super high with a far clipping and use that as a larger world type map. Just dont render that one everyframe lol.
     
  20. Deleted User

    Deleted User

    Guest

    I send you an Email...
     
  21. trilobyteme

    trilobyteme

    Joined:
    Nov 18, 2016
    Posts:
    309
    I was away for the last several weeks, and when I got back I updated my Unity 2017.4.x project to 2017.4.32f1 (for Mac) and updated MapMagic to 1.10.6. Ever since, I've been getting this hard stop error in my console.

    Assets/MapMagic/Generators/CustomShaderOutput.cs(842,5): error CS1525: Unexpected symbol `break'

    I tried deleting and re-installing, but it persists. I'm not sure if it's relevant, but this project had Vegetation Studio (not Pro) 1.5.2.0 (update dated 7 September) installed as well. Any help you could give me banishing this error would be greatly appreciated.
     
  22. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,276
    It's related with CTS rather than Vegetation Studio, but it's definitely MM issue. Try this quick fix.
     
  23. trilobyteme

    trilobyteme

    Joined:
    Nov 18, 2016
    Posts:
    309
    Thanks, though unfortunately it created a dozen other hard stop errors...

    Assets/MapMagic/Generators/CustomShaderOutput.cs(1,0): error CS1525: Unexpected symbol `<'
    Assets/MapMagic/Generators/CustomShaderOutput.cs(3,25): error CS1012: Too many characters in character literal
    Assets/MapMagic/Generators/CustomShaderOutput.cs(4,5): error CS1012: Too many characters in character literal
    Assets/MapMagic/Generators/CustomShaderOutput.cs(23,24): error CS1012: Too many characters in character literal
    Assets/MapMagic/Generators/CustomShaderOutput.cs(24,24): error CS1012: Too many characters in character literal
    Assets/MapMagic/Generators/CustomShaderOutput.cs(25,24): error CS1012: Too many characters in character literal
    Assets/MapMagic/Generators/CustomShaderOutput.cs(29,21): error CS1012: Too many characters in character literal
    Assets/MapMagic/Generators/CustomShaderOutput.cs(71,37): error CS1012: Too many characters in character literal
    Assets/MapMagic/Generators/CustomShaderOutput.cs(76,255+): error CS1012: Too many characters in character literal
    Assets/MapMagic/Generators/CustomShaderOutput.cs(76,255+): error CS1012: Too many characters in character literal
    Assets/MapMagic/Generators/CustomShaderOutput.cs(76,255+): error CS1012: Too many characters in character literal
    Assets/MapMagic/Generators/CustomShaderOutput.cs(76,255+): error CS1012: Too many characters in character literal
     
  24. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,276
    All the MapMagic 2 testers might find useful this new MM2 tutorial:

    It seems that something went wrong during the downloading or copying the script. Please check if your CustomShaderOutput.cs really contains the code.
     
    Jaimi, ftejada and Nihilus0 like this.
  25. secondsight_

    secondsight_

    Joined:
    Mar 2, 2014
    Posts:
    163
  26. trilobyteme

    trilobyteme

    Joined:
    Nov 18, 2016
    Posts:
    309
    I tried re-saving the file through dropbox, and it worked the second time. Thanks, and can't wait to get to use MMWG 2!
     
  27. DropNodes

    DropNodes

    Joined:
    Jun 11, 2019
    Posts:
    39
    updated to the latest version and getting this error:

    Assets\MapMagic\Generators\LegacyOutputs.cs(378,26): error CS1061: 'MapMagic' does not contain a definition for 'terrainMaterialType' and no accessible extension method 'terrainMaterialType' accepting a first argument of type 'MapMagic' could be found (are you missing a using directive or an assembly reference?)

    Assets\MapMagic\Generators\LegacyOutputs.cs(388,26): error CS1061: 'MapMagic' does not contain a definition for 'assignCustomTerrainMaterial' and no accessible extension method 'assignCustomTerrainMaterial' accepting a first argument of type 'MapMagic' could be found (are you missing a using directive or an assembly reference?)

    I completely deleted the old MM and installed the new one

    Unity 2019.2.5f1
     
  28. AngelBeatsZzz

    AngelBeatsZzz

    Joined:
    Nov 24, 2017
    Posts:
    239
    Hi, I am using the latest version of Mapmagic + Unity2019.2.0f1.

    I have a flying camera and when it flies for about 15-20 minutes the terrain may suddenly be no longer generated, no matter which direction. In the end, there is only one terrain block left. My MapMagic component configuration is shown in the figure, and the editor node is the same as the Demo scene. Do you know how to solve this problem or optimize it?

    There is another problem, I tried to check Draw Instanced, but after checking, the camera can see the tree behind the mountain.

    20190914205615.png 20190914205637.png
     
  29. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,276
    Thanks for finding that out, the issue is fixed and submitted for review. As a workaround you can remove the LegacyOutputs.cs script completely if you don't want to use old Splats Output.

    Is there any error in the console?
    I have not encountered the issue with trees seen through the terrain, but they could be probably related with the floating point precision limitation. Flying for 20 minutes is a pretty large distance after all. Or is this happen on the first tile?
     
  30. AngelBeatsZzz

    AngelBeatsZzz

    Joined:
    Nov 24, 2017
    Posts:
    239
    This problem sometimes happens in the first tile.

    The error in the console shows:
    Code (CSharp):
    1. Error generating chunk: MapMagic.Coord x:1 z:-1: System.OutOfMemoryException: Out of memory
    Thank you for your reply, I have two new questions. Where can I change the floating point precision limitation? If I reload the game scene, do I need to reset the mapmagic with code?
     
    Last edited: Sep 20, 2019
  31. camta005

    camta005

    Joined:
    Dec 16, 2016
    Posts:
    320
    How difficult will it be to update custom generators to MapMagic 2 ?
     
  32. GamePowerNetwork

    GamePowerNetwork

    Joined:
    Sep 23, 2012
    Posts:
    257
    Hello @Wright I have my MM purchase invoice number. Could I somehow help test MM2?
     
  33. Southroner

    Southroner

    Joined:
    May 29, 2017
    Posts:
    5
    Hello! Thanks again for the continued support of your great asset.

    I have used Megasplat with Map Magic in the past and had it work flawlessly using your integration. However, I have tried getting it to work again here recently in Unity 2019.2.3f1 and have run in to a problem with the current integration - only the base layer texture cluster is shown regardless of input to other texture clusters. I can get other clusters to show if I use a constant - 1 input or if I use noise with intensity > 2 (however this makes the whole chunk's texture that of the texture cluster fed by the noise node). There is never any overlap or more than one texture cluster drawn per chunk.

    I opened a test project using only map magic's demo scene and swapped in Megasplat instead of the texture node - no other assets - but the problem remains.

    I am able to properly texture another terrain procedurally using Megasplat and a script of my own so Megasplat seems to be working well even though it hasn't been updated recently. I just am not sure what broke in the integration or if there is something obvious I need to do that I am missing.

    Thanks in advance for your help!
     
  34. trilobyteme

    trilobyteme

    Joined:
    Nov 18, 2016
    Posts:
    309
    Heads-up, MMWG 1.10.7 is crashing on install in Unity 2019.4.9f1. It downloads without incident, and the import button and floating menu appear as expected, but partway through actually installing it, it crashes the Unity Editor (on macOS). After it crashes the project, the Unity Editor will then crash on launch until the /Assets/MapMagic folder is deleted.

    I tried again after manually removing that folder (in case it was something in the previous install causing the issue), but that did not help. I then created a blank Unity 2018.4.9f1 project with nothing else in it and tried to import MM, and it crashed.
     
  35. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,276
    Guess it's 2018.4 you are talking about. Probably something mac-related, on PC it seems to be working fine. Might it be that it has not been downloaded properly?

    Thanks for reporting this issue. I've already fixed this, and the fixed version (1.10.7) is now available at the Asset Store.

    Sure, email me your order number and GitLab account name if any.

    It should not be a problem, especially when your generator logic is placed within a special method. Here is what the new nodes will look like:
    Code (CSharp):
    1.     [System.Serializable]
    2.     [GeneratorMenu (
    3.         menu="Map/Modifiers",
    4.         name ="Terrace",
    5.         icon="GeneratorIcons/Terrace",
    6.         disengageable = true,
    7.         helpLink ="https://gitlab.com/denispahunov/mapmagic/wikis/map_generators/terrace")]
    8.     public class TerraceGenerator200 : StandardGenerator, IOutlet<MatrixWorld>  //standard (non-layered-output-biome etc) generator that returns matrix
    9.     {
    10.         [Val("Input", "Inlet")] public readonly Inlet<MatrixWorld> inlet = new Inlet<MatrixWorld>();
    11.         public override IEnumerable<Inlet> Inlets() { yield return inlet; }
    12.  
    13.         [Val("Seed")]         public int seed = 12345;  //attributes instead of gui method
    14.         [Val("Num")]         public int num = 10;
    15.         [Val("Uniformity")] public float uniformity = 0.5f;
    16.         [Val("Steepness")]     public float steepness = 0.5f;
    17.         [Val("Intensity")]     public float intensity = 1f;
    18.  
    19.      
    20.         public override void GenerateSelf (TileData data, StopToken stop)
    21.         {
    22.             MatrixWorld src = data.GetProduct(inlet); //gets source matrix from data
    23.             if (!enabled || src == null || num <= 1) return;
    24.  
    25.             MatrixWorld dst = new MatrixWorld(src); //clones source
    26.  
    27.             float[] terraceLevels = TerraceLevels(new Noise(data.random,seed));
    28.                 //prepares the heights of the terrace
    29.          
    30.             if (stop!=null && stop.stop) return;
    31.             dst.Terrace(terraceLevels, steepness, intensity);
    32.                 //native c++ function that applies terrace levels to matrix
    33.                 //here could be your own custom logic instead
    34.  
    35.             data.SetProduct(this, dst);  //writes cloned and processed dst to data
    36.         }
    37.     }
     
    camta005 likes this.
  36. wethecom

    wethecom

    Joined:
    Jun 24, 2015
    Posts:
    75
    i swear i looked but how do you spawn a player at a random location on the map, problems im having im geussing the cameras are what map magic is following but im not sure,, and there is no camera when the game turns on because the player has a camera on it and well that dosnt help... so when i use the function terrain.getactiveterrain it give a terrian but its not really active.. i look and searched for hours and even in this fourum but im not finding a solution that works for me can you point out the solution im sure you know right were it is this has to be a common question..
     
  37. shubhank008

    shubhank008

    Joined:
    Apr 3, 2014
    Posts:
    107
    @Wright does MM support the new Polaris v2 ? I saw your video for Polaris (which is quite old now) but does Polaris v2 works the same ?
     
  38. malkere

    malkere

    Joined:
    Dec 6, 2013
    Posts:
    1,212
    You're asking a lot of unrelated stuff here. If you want to spawn something at a random location just generate a random x and a random z with Random.Range(minimum, maximum), do a Raycast check to find the terrain height at those coordinates and spawn your player there. That's assuming the terrain has generated. Or, wait for the terrain to generate then do it. Not sure what you're trying to do with GetActiveTerrain.
    By default MapMagic tracks the main camera if you're letting it turn terrains on and off, or generate them and destroy them as you move. You can set it to follow whatever you like though. You can also pin terrains in a scene so that they are already on when the scene is loaded for spawning your player onto. You can also force terrains to generate by telling MapMagic to generate them, though they will auto-off if you have a disable distance setup and they are too far from whatever you've specified for MapMagic to follow.
    Feel free to ask, or hope in Discord though, we can help.
     
    Wright likes this.
  39. mmaclaurin

    mmaclaurin

    Joined:
    Dec 18, 2016
    Posts:
    244
    Hello @Wright

    Want to +1 the reports of MapMagic crashing on import. It's 100% repro on Mac:
    - Unity is 2019.2.5f1
    - new project (I'm using LWRP but not sure if that matters)
    - import latest MM from asset store
    - crash Failed assertion: "MTLTextureDescriptor has invalid pixelFormat (0)"

    This has kind of shut me down - can't test builds anymore.

    Partial stack:
    Thread 0:: CrBrowserMain Dispatch queue: com.apple.main-thread
    0 libsystem_kernel.dylib 0x00007fff7e63c22a mach_msg_trap + 10
    1 libsystem_kernel.dylib 0x00007fff7e63c76c mach_msg + 60
    2 libdispatch.dylib 0x00007fff7e4ce3e7 _dispatch_mach_send_and_wait_for_reply + 609
    3 libdispatch.dylib 0x00007fff7e4ce882 dispatch_mach_send_with_result_and_wait_for_reply + 50
    4 libxpc.dylib 0x00007fff7e739647 xpc_connection_send_message_with_reply_sync + 178
    5 com.apple.Foundation 0x00007fff547ff7b6 __NSXPCCONNECTION_IS_WAITING_FOR_A_SYNCHRONOUS_REPLY__ + 9
    6 com.apple.Foundation 0x00007fff547febd5 -[NSXPCConnection _sendInvocation:eek:rArguments:count:methodSignature:selector:withProxy:] + 4551
    7 com.apple.Foundation 0x00007fff54849508 -[NSXPCConnection _sendSelector:withProxy:arg1:arg2:] + 125
    8 com.apple.Foundation 0x00007fff54849485 _NSXPCDistantObjectSimpleMessageSend2 + 46
    9 com.apple.IconServices 0x00007fff6fd098bf -[NSXPCConnection(ISIconCache) _ISIconCache_syncRequestImageDataWithGenerationRequest:completion:] + 223
    10 com.apple.IconServices 0x00007fff6fd08aa9 -[ISIconCache _generateImageWithRequest:] + 454
    11 com.apple.IconServices 0x00007fff6fcedc78 -[ISIconCache imageWithRequest:] + 116
    12 com.apple.IconServices 0x00007fff6fd04bb3 -[ISIconMacOS prepareImagesForImageDescriptors:] + 761
    13 com.apple.AppKit 0x00007fff505eb9e0 NSISIconImageRepGetCGImage + 261
    14 com.apple.AppKit 0x00007fff4fd7ba5c -[NSImageRep _bitmapImageReps] + 166
    15 com.apple.AppKit 0x00007fff4fd7b979 __53-[NSImage TIFFRepresentationUsingCompression:factor:]_block_invoke_2 + 110
    16 com.apple.AppKit 0x00007fff4fd7b8ef -[NSImage _usingBestRepresentationAmongRepresentations:forRect:context:hints:body:] + 164
    17 com.apple.AppKit 0x00007fff4fd7b820 __53-[NSImage TIFFRepresentationUsingCompression:factor:]_block_invoke + 290
    18 com.apple.AppKit 0x00007fff4fbb8351 -[NSImage _usingRepresentationsPerformBlock:] + 73
    19 com.apple.AppKit 0x00007fff4fd7b610 -[NSImage TIFFRepresentationUsingCompression:factor:] + 310
    20 com.unity3d.UnityEditor5.x 0x0000000113ac6617 PlatformImageForIconForExtension(core::basic_string<char, core::StringStorageDefault<char> > const&, Image&) + 439
    21 com.unity3d.UnityEditor5.x 0x0000000110f76f3f ImageForIconForExtension(core::basic_string<char, core::StringStorageDefault<char> > const&) + 431
    22 com.unity3d.UnityEditor5.x 0x0000000110f76d13 ImageForIconAtPath(core::basic_string<char, core::StringStorageDefault<char> > const&) + 51
    23 com.unity3d.UnityEditor5.x 0x0000000111456de5 GenerateDefaultImporterAssets(AssetImporter&) + 693
    24 com.unity3d.UnityEditor5.x 0x00000001112ff9de AssetDatabaseV1::ImportAsset(UnityGUID, Asset&, core::basic_string<char, core::StringStorageDefault<char> > const&, core::basic_string<char, core::StringStorageDefault<char> > const&, AssetDatabase::AssetImporterSelection&, AssetDatabase::UpdateAssetOptions, core::string_with_label<1> const&, bool, bool, InstanceIDLocalIdentifierLookup&, dynamic_array<Object*, 0ul>&) + 1390
    25 com.unity3d.UnityEditor5.x 0x0000000111305dd0 AssetDatabaseV1::UpdateAsset(UnityGUID const&, UnityGUID const&, AssetDatabase::UpdateAssetOptions, dynamic_array<UnityGUID, 0ul>&, bool, Hash128) + 6496
    26 com.unity3d.UnityEditor5.x 0x000000011134b62d AssetInterface::processAssetsImplementation(double&, std::__1::map<AssetImporterHashKey, unsigned int, std::__1::less<AssetImporterHashKey>,
     
  40. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,276
    I have not tested Polaris (nor v1, neither v2), so it might be someone else's video, but that's what v2 description says:
    I'm not sure if it will work in infinite mode (guess not), but at least there's a way to convert pinned tiles.

    Thanks, looking into it. According to the Internet this issue occurs when using DTX texture compression - but there wasn't anything texture related with the latest release.

    If someone else is experiencing this problem and need a fix urgently - please contact me to get the previous version that seems to be working (or at least there were no reports on it).
     
  41. wethecom

    wethecom

    Joined:
    Jun 24, 2015
    Posts:
    75
    the get active terrian is exactly whats it sound find the active terrain and spawn the player to it.. but it gives a false postive
     
  42. wethecom

    wethecom

    Joined:
    Jun 24, 2015
    Posts:
    75
    do you have a link to the discord?
     
  43. shubhank008

    shubhank008

    Joined:
    Apr 3, 2014
    Posts:
    107
    Yep it was someone else, I will ask polaris devs about it instead. But from their video should work (its just that in this video it looked like a 1 click way to use MM terrain in polaris).



    Just not sure if that script/option is part of MM or Polaris.

    Also, I was watching one of your level design videos in which you create the terrain, grass and trees and then create a village. I remember in that video you talked about locking the terrain if you place custom objects in it (village) else making any changes to the nodes will overwrite/remove the objects ?

    My question is this:
    If I create a temporary terrain right now using MM and nodes which I am happy for now, and create my map on top of it (the tiles, rocks, villages, house, roads, etc. i.e. placing objects manually or stamping) and focus on game mechanics for now.
    Then 1 week later I decide I want to change the grass texture of my terrain ir change node settings, will it remove my custom placed game objects and reset everything or what ?
     
    Andreas12345 likes this.
  44. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,276
    Thanks for reporting this issue. I found out that the reason is in MicroSplat textures arrays inside Demo/Scenes/MicroSplat folder. I've fixed it and new version is currently pending review. As a workaround you can remove the MicroSplat demo folder (or just texture arrays inside) to make the current version work on Mac.

    You can keep your objects outside of MapMagic's hierarchy, this way your objects will not be changed in any way. This way you can change the minor settings, but obviously don't expect MM to automatically place your objects on the changed terrain. The grass texture doesn't seem to affect the terrain shape, so this should work fine in this case.

    Sure. However I must apologize in advance, I'm not a frequent guest here, and mainly active in MM2 channel, but the community is quite friendly and willing to help, and I very appreciate that.
     
    Last edited: Sep 20, 2019
    mmaclaurin likes this.
  45. N1warhead

    N1warhead

    Joined:
    Mar 12, 2014
    Posts:
    3,884
    @Wright is it possible to generate random biomes?
     
    Last edited: Sep 21, 2019
  46. malkere

    malkere

    Joined:
    Dec 6, 2013
    Posts:
    1,212
    I can think of several ways to do that =D I think I will try that... Everything on a graph is accessible, so you can simply grab a curve node and adjust its values, etc.
     
  47. Deleted User

    Deleted User

    Guest

    Hey,

    We removed completely our Background Terrains because we come up with a maybe better method which is way more optimized at least I think that, correct me if I'm wrong.

    We try to get the generator somehow and try to generate a 2D mesh depending on the highest height of X and Z.
    2019-09-24 02_41_06.jpg

    T would be the terrain chunk what we are trying to fake and P is the player where the 2D Mesh is facing.

    So my question is:
    How do I get the Y value of the terrain to make this happens, do I need a special heightmap converter to convert the heightmap to world space if yes where do I find the output heightmap, It also makes no sense for me to usually generate the chunk make some calculations and generate out of it the 2D mesh.

    If anyone could help me it would be Amazing!

    EDIT: I figured out I can get the heights from the terrain data but this requires to generate one chunk, I mean I could follow this technique but maybe there is a better way by getting the generator data or other, please let me know.
     
    Last edited by a moderator: Sep 25, 2019
  48. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,276
    I'm going on making videos for the upcoming MM2. I want to make all of the features covered with tutorials on release.

    I guess the chunk should be generated anyways. There's no way to generate the single "line" if the terrain, and not because there's no built-in method for that, but by its very nature - most generators work with neighbor pixels both in X and Z dimensions, and should be re-written from scratch to do so. And even so their algorithm would differ. So it's won't be a MapMagic after all :)

    Do you mean the random graph? Well you can access the graph via scripts, but I guess it would be too much random in creating graphs to create random terrains.
     
    ftejada and psistalk like this.
  49. PaperMouseGames

    PaperMouseGames

    Joined:
    Jul 31, 2018
    Posts:
    434
    Hi there! Sorry if these questions are already answered earlier in the thread or if they are too obvious but I'm very much a beginner not just to game development, but to Unity and the asset store as a whole. I'm making an open world RPG, currently using Unity 2018.3.4f1

    1. If I purchase this asset and use it on the game I'm making, can I still sell my game commercially in the future? If so, do I need to credit everyone who worked on this asset or can I just sell the game as my own?

    2. I take it this uses some sort of async scene loading. I was planning on using async scene loading for indoor locations as well as the overworld for my open world RPG, would that conflict with the way this asset works?

    3. Are there good resources / guides for new users for this asset, it looks very in-depth and I don't want to be unable to find good documentation on it.

    4. Is there a size limit to the terrains you can make or can you just keep stretching it out? I'm looking to make a (simple) but really large map.

    Thanks so much! I really hope this can work for me, it looks like exactly what I wanted from the videos.

    EDIT: Added question 4.
     
  50. protopop

    protopop

    Joined:
    May 19, 2009
    Posts:
    1,560
    Im doing some tests to decide to use MM or MM2. In Unity 2019.2.6 on Mac in an empty project with MM2 and the Shared folder installed. When I try to open the editor I get this error:

    NullReferenceException: Object reference not set to an instance of an object
    MapMagic.Nodes.GUI.GraphWindow.ShowEditor () (at Assets/mapmagic-master/Editor/Nodes/GraphWindow.cs:710)

    Or if I create a new MM2 object the script info in the inspector is empty and I get this warning:

    EntryPointNotFoundException: QueryPerformanceCounter
    Plugins.Timer.Start (System.String name) (at Assets/shared-master/Tools/Runtime/Timer.cs:126)

    Do you think MM2 will work in unity 2019.2? If not, do you know what the newest version of Unity that supports MM2? I know its in progress so no worries if this isn't a thing yet.

    BTW ill pay whatever for MM2 when its ready. You know its just fascinating and fun walking around in MapMagic and MM1 has been worth every penny:)

    EDIT: btw is there a file where I can confirm I installed MM2 and not 1? I have MM1 from the asset store, and I downloaded MM2 from the repository, but I don't see it says specifically MM2 anywhere there. so I'm wondering of I DL the correct one.