Search Unity

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

MapMagic 2 - infinite procedural land generator

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

  1. JohnnyFactor

    JohnnyFactor

    Joined:
    May 18, 2018
    Posts:
    343
    I'm getting namespace and module errors from MicroSplatEditor.cs and MicroSplatOutput.cs. I do not have MicroSplat installed. Deleting these two scripts resolves the issue and no further issues come up.
     
  2. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,227
    Glad you could sort that out!

    thevisad, HP, JohnnyFactor:
    Thanks for issue reporting! Here is the fix.
     
    mick129 likes this.
  3. nobluff67

    nobluff67

    Joined:
    Nov 3, 2016
    Posts:
    338
    Is there anyway to keep the trees on the layer they are on? E.g. my trees are layered as tree, however when a terrain is created the trees are moved to the terrain layer. This only happens with trees node, the objects node keeps the layer.

    For the above reason I am currently using objects in order to place trees. I am not sure what the difference is as far as MM is concerned. Is there a performance hit?

    EDIT: After a quick test, it seems there is a big difference in performance between tree node and object node. Tree node being significantly quicker.
     
    Last edited: Feb 24, 2021
  4. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,227
    Yes, trees are applied faster, but most important thing is that they are rendered faster as well - standard Unity trees performance is way higher than the same models placed as transforms.
     
  5. mick129

    mick129

    Joined:
    Jun 19, 2013
    Posts:
    228
    It is me again braking new stuff (sorry :p)

    So my first project is completed, built and tested and it work great :)

    But my second is really messed up, I can't load any terrain either "draft" or "main" as I get error on pin.

    Edit: after a few test the problem is linked to the import node and recreating a new one doesn't solve it.
    Edit2: I have made a new node and net import graph, teste all the possibilites (RAW, new etc) and none of them work. My graph work if I remove the import completely.

    upload_2021-2-24_13-8-32.png
     
    Last edited: Feb 24, 2021
  6. thevisad

    thevisad

    Joined:
    Jan 29, 2018
    Posts:
    24
    Thanks, that resolve those issues, there are also scene issues. i will just delete those, but wanted to report.

    Edit I am using the latest LTS 2019.4.20

    Failed to load 'Assets/MapMagic/Demo/Compatibility/VegetationStudioPro/VSProStorage.asset'. File may be corrupted or was serialized with a newer version of Unity.
    Failed to load 'Assets/MapMagic/Demo/Compatibility/MicroSplat/MicroSplatScene.unity'. File may be corrupted or was serialized with a newer version of Unity.
     
  7. nobluff67

    nobluff67

    Joined:
    Nov 3, 2016
    Posts:
    338
    Is there any way to keep the layers of the trees separate from the actual terrain? e.g. Trees as layer 1, terrain as layer 2
     
  8. mick129

    mick129

    Joined:
    Jun 19, 2013
    Posts:
    228
    I have created a new graph to reproduce it. This graph work if a use a noise but break if I switch to an import node. Also I have deleted MM2 before updating and made sure I had no problem with the cache using the package manager.
    upload_2021-2-24_13-40-54.png
     
  9. Refeas

    Refeas

    Joined:
    Nov 8, 2016
    Posts:
    192
    I can confirm the VSPro compatibility throws compiler errors.
     
  10. thevisad

    thevisad

    Joined:
    Jan 29, 2018
    Posts:
    24
  11. thevisad

    thevisad

    Joined:
    Jan 29, 2018
    Posts:
    24
    I can confirm the input node causes an issue with the graph generation.
     
  12. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,227
    No, it's okay, I really appreciate your feedback. It's me who should feel sorry - I made usual testing, automatic testing, recorded several videos but have not run into these two issues. MM is a vast thing :)

    And I'd like to thank everyone who posts reports on new version!

    Fix

    Even after this fix is applied?

    I will try to re-create compatibility demos in Unity 2019, but I'm not sure it's possible - some assets can be not compatible with it.
     
  13. thevisad

    thevisad

    Joined:
    Jan 29, 2018
    Posts:
    24

    Need to change MatrixSet line 196

    from
    Matrix.Cop(srcMatrix, dstMatrix);

    to

    Matrix.CopyIntersected(srcMatrix, dstMatrix);


    but this gives us an additional error.


    Thread failed: System.Exception: Couldn't upsize: src Den.Tools.CoordRect: offsetX:-18 offsetZ:-18 sizeX:549 sizeZ:549 is less than dst Den.Tools.CoordRect: offsetX:-16 offsetZ:-16 sizeX:545 sizeZ:545
    at Den.Tools.Matrices.MatrixOps.Upsize (Den.Tools.Matrices.Matrix src, Den.Tools.Vector2D srcOffset, Den.Tools.Vector2D srcSize, Den.Tools.Matrices.Matrix dst) [0x0004e] in H:\Atavism\Rings of Una x.3 LTS\Assets\MapMagic\Tools\Matrix\MatrixOps.cs:529
    at MapMagic.Nodes.MatrixGenerators.Import200.ImportWithEnlarge (Den.Tools.Matrices.MatrixWorld src, Den.Tools.Matrices.MatrixWorld dst, MapMagic.Terrains.Area area, MapMagic.Products.StopToken stop) [0x0017d] in H:\Atavism\Rings of Una x.3 LTS\Assets\MapMagic\Generators\Matrix\Runtime\MatrixInitial.cs:418
    at MapMagic.Nodes.MatrixGenerators.Import200.Generate (MapMagic.Products.TileData data, MapMagic.Products.StopToken stop) [0x0014e] in H:\Atavism\Rings of Una x.3 LTS\Assets\MapMagic\Generators\Matrix\Runtime\MatrixInitial.cs:375
    at MapMagic.Nodes.Graph.GenerateRecursive (MapMagic.Nodes.Generator gen, MapMagic.Products.TileData data, MapMagic.Expose.Override ovd, MapMagic.Products.StopToken stop) [0x00265] in H:\Atavism\Rings of Una x.3 LTS\Assets\MapMagic\Nodes\Graph.cs:913
    at MapMagic.Nodes.Graph.GenerateRecursive (MapMagic.Nodes.Generator gen, MapMagic.Products.TileData data, MapMagic.Expose.Override ovd, MapMagic.Products.StopToken stop) [0x00057] in H:\Atavism\Rings of Una x.3 LTS\Assets\MapMagic\Nodes\Graph.cs:870
    at MapMagic.Nodes.Graph.Generate (MapMagic.Products.TileData data, MapMagic.Products.StopToken stop, MapMagic.Expose.Override ovd) [0x00047] in H:\Atavism\Rings of Una x.3 LTS\Assets\MapMagic\Nodes\Graph.cs:856
    at MapMagic.Terrains.TerrainTile.Generate (MapMagic.Nodes.Graph graph, MapMagic.Terrains.TerrainTile tile, MapMagic.Terrains.TerrainTile+DetailLevel det, MapMagic.Products.StopToken stop) [0x00052] in H:\Atavism\Rings of Una x.3 LTS\Assets\MapMagic\Terrains\TerrainTile.cs:681
    at MapMagic.Terrains.TerrainTile+<>c__DisplayClass40_1.<StopEnqueueTask>b__0 () [0x00000] in H:\Atavism\Rings of Una x.3 LTS\Assets\MapMagic\Terrains\TerrainTile.cs:634
    at Den.Tools.Tasks.ThreadManager.TaskThreadAction (Den.Tools.Tasks.ThreadManager+Task task) [0x00002] in H:\Atavism\Rings of Una x.3 LTS\Assets\MapMagic\Tools\ThreadManager\ThreadManager.cs:138
    UnityEngine.Debug:LogError(Object)
    Den.Tools.Tasks.ThreadManager:TaskThreadAction(Task) (at Assets/MapMagic/Tools/ThreadManager/ThreadManager.cs:141)
    System.Threading.ThreadHelper:ThreadStart()
     
  14. mick129

    mick129

    Joined:
    Jun 19, 2013
    Posts:
    228
    Thanks for the fast reply!

    Tested it and I get another error. I could comment but it will probably lead to other problems.

    upload_2021-2-24_14-53-50.png
     
  15. mick129

    mick129

    Joined:
    Jun 19, 2013
    Posts:
    228
    TheVisad solution allowed me to progress a bit but the texturing seems to be off (Microsplat)

    Edit, after erasing all the terrain and pinned new ones, it got fixed somehow. The texturing seems very off but I will work on it to see if I can reajust it


    upload_2021-2-24_15-3-12.png
     
  16. Nunez-Torrijos

    Nunez-Torrijos

    Joined:
    Mar 3, 2016
    Posts:
    33
    Hi, same problem happened to me.

    It happened when I updated a project from Unity 2019 to 2020.2.6, then I closed the project, opened it again and made me open it in safe mode because it was full of errors, so I gave up on that project.

    I created a fresh project, and this problem disappeared, but lots of errors in the console appeared...

    upload_2021-2-24_17-17-51.png

    I just realized that Unity 2020.2.6 was realeased today, february 24th, and Mapmagic 2.1.0 was sent to Unity for review on February 18th.

    In this regards, it would be great if @Wright could tell us which is the last version of Unity in which each Mapmagic update was tested before release. In the asset store always says only from which version onwards, but not the latest.

    Now I will have to install previous versions of unity until finding one that gives me no errors, which is going to take some time.

    *Disclaimer: I am just trying to get things going after several months of no development. I know it is my responsibility to check for versions, but I am rusty and just screwed up.
     

    Attached Files:

    Last edited: Feb 24, 2021
  17. Refeas

    Refeas

    Joined:
    Nov 8, 2016
    Posts:
    192
    @Wright OK, after the fix, VSPro seems working. Now I have other, more serious problem. None of my graphs with Function node inside them load at all with the following exception.

    Code (CSharp):
    1. Exception: Could not load graph data:
    2. System.Exception: Could not load graph data:
    3. System.Exception: Could not find type for: MapMagic.Nodes.Biomes.Function200+FnOutlet`1[[Den.Tools.TransitionsList, Den.Tools, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]], MapMagic, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
    4.   at Den.Tools.Serializer.DeserializeObject (System.Int32 refId, Den.Tools.Serializer+Object[] serialized, System.Object[] deserialized, System.Object[] reuse, System.Action`1[T] onBeforeDeserialize) [0x0047c] in C:\Dev\games\project\Assets\Plugins\MapMagic\Tools\Serializer.cs:627
    5.   at Den.Tools.Serializer.DeserializeObject (System.Int32 refId, Den.Tools.Serializer+Object[] serialized, System.Object[] deserialized, System.Object[] reuse, System.Action`1[T] onBeforeDeserialize) [0x002c4] in C:\Dev\games\project\Assets\Plugins\MapMagic\Tools\Serializer.cs:566
    6.   at Den.Tools.Serializer.DeserializeObject (System.Int32 refId, Den.Tools.Serializer+Object[] serialized, System.Object[] deserialized, System.Object[] reuse, System.Action`1[T] onBeforeDeserialize) [0x003e7] in C:\Dev\games\project\Assets\Plugins\MapMagic\Tools\Serializer.cs:617
    7.   at Den.Tools.Serializer.Deserialize (Den.Tools.Serializer+Object[] serialized, System.Action`1[T] onBeforeDeserialize) [0x0000f] in C:\Dev\games\project\Assets\Plugins\MapMagic\Tools\Serializer.cs:191
    8.   at MapMagic.Nodes.GraphSerializer200Beta.Deserialize (MapMagic.Nodes.Graph graph) [0x0000b] in C:\Dev\games\project\Assets\Plugins\MapMagic\Nodes\GraphSerializer.cs:58
    9.   at MapMagic.Nodes.Graph.OnAfterDeserialize () [0x00008] in C:\Dev\games\project\Assets\Plugins\MapMagic\Nodes\Graph.cs:1150
    10.   at MapMagic.Nodes.Graph.OnAfterDeserialize () [0x0001e] in C:\Dev\games\project\Assets\Plugins\MapMagic\Nodes\Graph.cs:1159
    11.   at MapMagic.Nodes.Graph.CheckFixIdsRecursively (System.Collections.Generic.HashSet`1[T] susGens, System.Collections.Generic.Dictionary`2[TKey,TValue] allIds, System.Collections.Generic.Dictionary`2[TKey,TValue] oldNewIds, System.Collections.Generic.List`1[T] zeroNewIds) [0x00008] in C:\Dev\games\project\Assets\Plugins\MapMagic\Nodes\Graph.cs:225
    12.   at MapMagic.Nodes.Graph.CheckFixIdsRecursively (System.Collections.Generic.HashSet`1[T] susGens, System.Collections.Generic.Dictionary`2[TKey,TValue] allIds, System.Collections.Generic.Dictionary`2[TKey,TValue] oldNewIds, System.Collections.Generic.List`1[T] zeroNewIds) [0x000d3] in C:\Dev\games\project\Assets\Plugins\MapMagic\Nodes\Graph.cs:257
    13.   at MapMagic.Nodes.Graph.CheckFixIds (System.Collections.Generic.HashSet`1[T] susGens) [0x00012] in C:\Dev\games\project\Assets\Plugins\MapMagic\Nodes\Graph.cs:212
    14.   at MapMagic.Nodes.GraphSerializer200Beta.Deserialize (MapMagic.Nodes.Graph graph) [0x000d4] in C:\Dev\games\project\Assets\Plugins\MapMagic\Nodes\GraphSerializer.cs:76
    15.   at MapMagic.Nodes.Graph.OnAfterDeserialize () [0x00008] in C:\Dev\games\project\Assets\Plugins\MapMagic\Nodes\Graph.cs:1150
    16. MapMagic.Nodes.Graph.OnAfterDeserialize () (at Assets/Plugins/MapMagic/Nodes/Graph.cs:1159)
    17. UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)
    18.  
    Seems like you removed the Function200 node class but the system doesn't provider a placeholder for them.
     
  18. Nunez-Torrijos

    Nunez-Torrijos

    Joined:
    Mar 3, 2016
    Posts:
    33
    Update: I installed Unity 2020.1.17, made a fresh new project, installed Mapmagic 2.1.0 (all its modules) and got the following errors.

    upload_2021-2-24_18-14-31.png

    However, I closed Unity, reopened the project and no errors appeared in the console, and the disappearing right click menus bug that was spotted by @AlanGreyjoy was also solved, as you can see below.

    upload_2021-2-24_18-21-0.png

    Now I will proceed importing my previous graphs (and the other assets and the rest of my project) and check whether they work or not, considering some previous comments by @mick129.

    I'm doing all this 'cause i'm looking forward to a good Vegetation Studio Pro integration, that wasn't in good shape some months ago. Let's hope it works.

    Any further findings will be posted too.
     

    Attached Files:

  19. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,227
    My bad, forgot to add MatrixSet in the last patch.

    For convenience I've made a universal fix to 2.1.0 that includes all of the changes. Currently it includes 3 patches:
    - compatibility;
    - import node;
    - function update.

    I'm working in 2020.1.2 and testing in 2019.2.0 and 2020.2.2 (wow, I've downloaded it a month ago and now it's 2020.2.6!)
    I don't think it's caused by Unity version. Might it be that you've got VEGETATION_STUDIO_PRO enabled in your define symbols (Edit - Project Settings - Scripting define symbols) but no VS Pro installed?

    The universal fix should help as well.
    These not the compile errors, just error messages. They could be just cleared, no need to restart Unity.
    Don't know why they appear, but will try to find out.

    Yes, feel free to post any issues.

    And I'd like to thank everyone for your feedback, it really helps a lot!
    Will be AFK for some hours of sleep, but will go on fixing any more issues found in the morning.
     
    Last edited: Feb 24, 2021
  20. Nunez-Torrijos

    Nunez-Torrijos

    Joined:
    Mar 3, 2016
    Posts:
    33
    The compatibility fix you posted in message #812 solved the errors, @Wright , thanks
     

    Attached Files:

  21. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,227
    I'd like to recommend you using the universal fix anyways.
     
    Last edited: Feb 24, 2021
  22. thevisad

    thevisad

    Joined:
    Jan 29, 2018
    Posts:
    24
    @Wright thanks this fixed all the other stuff, but we are still left with this on import

    Code (Boo):
    1. Thread failed: System.Exception: Couldn't upsize: src Den.Tools.CoordRect: offsetX:-18 offsetZ:-18 sizeX:549 sizeZ:549 is less than dst Den.Tools.CoordRect: offsetX:-16 offsetZ:-16 sizeX:545 sizeZ:545
    2.  at Den.Tools.Matrices.MatrixOps.Upsize (Den.Tools.Matrices.Matrix src, Den.Tools.Vector2D srcOffset, Den.Tools.Vector2D srcSize, Den.Tools.Matrices.Matrix dst) [0x0004e] in H:\Atavism\Rings of Una x.3 LTS\Assets\MapMagic\Tools\Matrix\MatrixOps.cs:529
    3.  at MapMagic.Nodes.MatrixGenerators.Import200.ImportWithEnlarge (Den.Tools.Matrices.MatrixWorld src, Den.Tools.Matrices.MatrixWorld dst, MapMagic.Terrains.Area area, MapMagic.Products.StopToken stop) [0x0017d] in H:\Atavism\Rings of Una x.3 LTS\Assets\MapMagic\Generators\Matrix\Runtime\MatrixInitial.cs:418
    4.  at MapMagic.Nodes.MatrixGenerators.Import200.Generate (MapMagic.Products.TileData data, MapMagic.Products.StopToken stop) [0x0014e] in H:\Atavism\Rings of Una x.3 LTS\Assets\MapMagic\Generators\Matrix\Runtime\MatrixInitial.cs:375
    5.  at MapMagic.Nodes.Graph.GenerateRecursive (MapMagic.Nodes.Generator gen, MapMagic.Products.TileData data, MapMagic.Expose.Override ovd, MapMagic.Products.StopToken stop) [0x00265] in H:\Atavism\Rings of Una x.3 LTS\Assets\MapMagic\Nodes\Graph.cs:913
    6.  at MapMagic.Nodes.Graph.Generate (MapMagic.Products.TileData data, MapMagic.Products.StopToken stop, MapMagic.Expose.Override ovd) [0x00047] in H:\Atavism\Rings of Una x.3 LTS\Assets\MapMagic\Nodes\Graph.cs:856
    7.  at MapMagic.Terrains.TerrainTile.Generate (MapMagic.Nodes.Graph graph, MapMagic.Terrains.TerrainTile tile, MapMagic.Terrains.TerrainTile+DetailLevel det, MapMagic.Products.StopToken stop) [0x00052] in H:\Atavism\Rings of Una x.3 LTS\Assets\MapMagic\Terrains\TerrainTile.cs:681
    8.  at MapMagic.Terrains.TerrainTile+<>c__DisplayClass40_1.<StopEnqueueTask>b__0 () [0x00000] in H:\Atavism\Rings of Una x.3 LTS\Assets\MapMagic\Terrains\TerrainTile.cs:634
    9.  at Den.Tools.Tasks.ThreadManager.TaskThreadAction (Den.Tools.Tasks.ThreadManager+Task task) [0x00002] in H:\Atavism\Rings of Una x.3 LTS\Assets\MapMagic\Tools\ThreadManager\ThreadManager.cs:138
    10. UnityEngine.Debug:LogError(Object)
    11. Den.Tools.Tasks.ThreadManager:TaskThreadAction(Task) (at Assets/MapMagic/Tools/ThreadManager/ThreadManager.cs:141)
    12. System.Threading.ThreadHelper:ThreadStart()
    13.  
     
    Last edited: Feb 24, 2021
  23. Nunez-Torrijos

    Nunez-Torrijos

    Joined:
    Mar 3, 2016
    Posts:
    33
    Yeah, i thought so, so I applied the universal fix, and got 23 errors in Serializer.cs.

    upload_2021-2-24_19-37-27.png
     
  24. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,227
    Try re-downloading it
     
  25. thevisad

    thevisad

    Joined:
    Jan 29, 2018
    Posts:
    24
    The serializer is in there twice now, looks like it was added to the Matrix folder in the patch.

    Delete the serializer in Assets/MapMagic/Tools, it was added in the patch to Assets/MapMagic/Tools/Matrix
     
  26. Nunez-Torrijos

    Nunez-Torrijos

    Joined:
    Mar 3, 2016
    Posts:
    33
    allright, thanks @thevisad , I removed Serializer.cs from Assets/MapMagic/Tools, along with its ".cs.meta" and ".meta" files also lacated in the same folder, and when I reopened the project I get an error about the biomes namespace:

    upload_2021-2-24_20-0-27.png

    I then realized serializer.meta had to remain there, in the Tools folder, so I restored the file version I removed, and the error persisted.
     
  27. Refeas

    Refeas

    Joined:
    Nov 8, 2016
    Posts:
    192
    @Wright Thanks for quick fixes, I really appreciate it! The universal fix seems to be working, all our graphs load now. Once we reconnect all our functions, I'll post if I run into any other issues.
     
  28. drkasch

    drkasch

    Joined:
    Jan 21, 2019
    Posts:
    8
    @Wright Hi Denis,
    Sorry, this was a misunderstanding. yes, I know I can use a height map and I am doing that regulary and it's a great feature. The question is if I can then apply a texture map to those tiles, that is of the same dimensions as the height map. To clarify,if I get a height map from a GIS server, I can also get a satellite image of the terrain, which would be useful as a base texture and/or to locate where certain features are. For instance if I was using MM2 recreate Manhattan island, then it would be useful to know, where Central Park or the Empire State Building are. The height map would not supply that information. Here is a link to my latest project, that may clarify further why this feature is important to me: https://burningfish.co.nz/thegreenplanet/
     
    Last edited: Feb 25, 2021
  29. Nunez-Torrijos

    Nunez-Torrijos

    Joined:
    Mar 3, 2016
    Posts:
    33
    Allright, I erased mapmagic, reinstalled it, and then I patched it, and all the errors are gone for now, only some inheritance hiding warnings and other minor warnings remain.
    Thank you @Wright and @thevisad
     
  30. drkasch

    drkasch

    Joined:
    Jan 21, 2019
    Posts:
    8
    @Wright Can you please make the 2.0.8 Version of the MM2 bundle available again in Package manager so I can revert to that? I am in the middle of a project and would like to finish it using the old version - but foolishly updated a bit prematurely and have all these bugs I can not deal with right now. The height map input seems to get ignored in the new version. Here is my warnings list. MM2 opens fine, but height map data are ignored Screen Shot 2021-02-25 at 11.19.27.png
     
  31. JohnnyFactor

    JohnnyFactor

    Joined:
    May 18, 2018
    Posts:
    343
    That's not possible but even if it was, why on earth would you update a project mid-production with no backup? That's the #1 mistake in game dev 101.

    Speaking of backups, do you even have any or is it just sitting on a hard drive? I saw a reddit post where a game dev didn't back up and lost a full year of work when his drive crashed. Don't be that person.
     
    blacksun666 and MasonWheeler like this.
  32. drkasch

    drkasch

    Joined:
    Jan 21, 2019
    Posts:
    8
    Look I don't post here to have some random guy tell me off about how I do my production. I do have backups but I do not want to have to deal with a buggy new version and spend my time fixing things that I have not broken. Now tell me why 1. you pipe up here when you don't have to contribute anything constructively and 2. why it is not possible to have the old version on package manager? It is possible with other plugins.
     
    Last edited: Feb 25, 2021
  33. JohnnyFactor

    JohnnyFactor

    Joined:
    May 18, 2018
    Posts:
    343
    Old versions are removed from the package manager and always have been. You are probably thinking of an asset that split into two packages like MM1 and MM2, or the built-in assets. You're welcome to ask for it to be emailed to you but that's it. Or ask Unity to change this behavior.

    As for backups-- if it's more trouble to restore a backup than to ask a developer to make an exception for you, then your backups aren't working.

    Since you think I'm not being constructive, I'll point you to a package I use. It's a one-button solution to quickly copy the Unity project to another location before you start overwriting critical files. One-button to restore it too. You can see my review where I said pretty much the same thing I did here.

    https://assetstore.unity.com/packages/tools/utilities/turbo-backup-pro-98711
     
    MasonWheeler likes this.
  34. drkasch

    drkasch

    Joined:
    Jan 21, 2019
    Posts:
    8
    Thank you for being constructive, much appreciated! I will check out that backup asset. But on the other issue I just checked my package manager, because I used to have just the MM2 base package before buying the bundle for the added modules. And lo and behold MM2 is available as 2.0.8 version and 2.1.0. So explain to me again please, why that is not possible with the bundled version? I'll attach a screenshot here so you can check that out yourself:
     

    Attached Files:

    MasonWheeler likes this.
  35. JohnnyFactor

    JohnnyFactor

    Joined:
    May 18, 2018
    Posts:
    343
    Lol! Thanks for that. I take it back. I was literally in a discussion about the package manager last month and was told it's not possible. I also couldn't find any evidence of it. You must be on version 2020? I'm still on 2019.4 and I don't have anything like that.
     
  36. drkasch

    drkasch

    Joined:
    Jan 21, 2019
    Posts:
    8
    No, I am on 2019.4 myself and don't dare updating yet to 2020 or else everything will break. But I have got a few 3rd party assets that you can scroll open and choose which version you want to use (granted, its usually only the previous version that is still on offer). For instance Microsplat and TVE are having the newest and previous version still available. But I also wanted to say one more word about the backup thing. I do make religiously backups, but I am not a game developer but work in VFX and filmmaking and need to be able to use several Unity projects for one film project. I want to be able to open a new project file in Unity and import MM2 and have it produce reliable and reproducible results. That's what I pay for when I buy an asset and its up to the developer to deliver that. If an updated asset is too buggy then it was not ready for public release and the least I should be able to expect is that I can go back to the old version that worked for me. And that has nothing to do at all with my backup policy. The thing is not everybody here is a game developer. Unity has become an interesting asset for quite different industries, but they have also different needs and expectations.
     
  37. JohnnyFactor

    JohnnyFactor

    Joined:
    May 18, 2018
    Posts:
    343
    Unity creates live and active productions and there's a million moving parts that all need to work together. I find it to be terribly fragile compared to vfx and requires a different backup strategy to deal with things that go sideways. My success rate in trying new versions is about 50/50.

    I agree that 2.10 wasn't quite ready and I think Denis gave in to pressure to release it. He puts an insane amount of time and effort into MM and honestly, should probably delegate certain tasks to other people so things like what you experienced don't happen.
     
  38. drkasch

    drkasch

    Joined:
    Jan 21, 2019
    Posts:
    8
    Yes. totally agree with the "fragile" statement. But the fact that you can render 4K images really fast is making up for many of the other headaches - if nothing breaks, that is. And Yes I appreciate the great work that Denis puts into this amazing product. If I only could go back to 2.0.8 :)
     
  39. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,227
    The thing is MM uses the standard Unity terrains with standard materials - it doesn't bring anything new in texturing or shaders, it's a bit out of the scope of MM. So I guess with standard terrain materials the only way to make it is to use a giant texture and set a tile size that covers all of your land.

    Great project, BTW. I like the idea and implementation - at least what I see in videos.

    I cannot return older version to the package manager since I have no control on this tool. I'm not using package manager to submit anything on the store. The only thing I can make is to upload asset to the asset store with a special Unity pluging.

    However I have a control on my dropbox so I've send you a link via PM - just in case you still need it :)

    As far as I understand package managers shows your currently installed version and new version available here. There's no way to download older versions (or even re-download the one that is installed).

    EDIT: Hmmm, maybe, maybe. At least for testing. Let's try opening a recruitment of MM specialists for testing the Brush module (paid). I will figure out what's the best platform for this and will announce it a bit later when the brush will be more or less ready.
     
    Last edited: Feb 25, 2021
  40. Mr_Darkness

    Mr_Darkness

    Joined:
    Apr 6, 2020
    Posts:
    8
    Hi. thank you for the new version. I have a question, how can I place another biome in the selected area so that the others remain in the same places. Now they are placed using a simple form
     

    Attached Files:

  41. drkasch

    drkasch

    Joined:
    Jan 21, 2019
    Posts:
    8

    @Wright Thank you for the bundle Denis. Much appreciated! And I am glad you like my project.
     
  42. valentinwinkelmann

    valentinwinkelmann

    Joined:
    Nov 3, 2014
    Posts:
    186
    The new MapMagic version causes problems as soon as Vegetation Studio Pro is added.

    As soon as Vegetation Studio Pro is added, the error occurs:

    Code (CSharp):
    1. Assets\MapMagic\Compatibility\VegetationStudio\VSProMapsOut.cs(96,10): error CS0117: 'Graph' does not contain a definition for 'OnBeforeOutputFinalize'

    As soon as I try the patch you uploaded, there are more errors:

    Code (CSharp):
    1. Assets\MapMagic\Compatibility\VegetationStudioObjects\VSProObjectsOut.cs(12,22): error CS0234: The type or namespace name 'ObjectsGenerators' does not exist in the namespace 'MapMagic.Nodes' (are you missing an assembly reference?)
    2. Assets\MapMagic\Compatibility\VegetationStudioObjects\VSProObjectsOut.cs(70,10): error CS0246: The type or namespace name 'PositioningSettings' could not be found (are you missing a using directive or an assembly reference?)
    3. Assets\MapMagic\Compatibility\VegetationStudioObjects\VSProObjectsOut.cs(36,10): error CS0246: The type or namespace name 'PositioningSettings' could not be found (are you missing a using directive or an assembly reference?)
    4. Assets\MapMagic\Compatibility\VegetationStudioObjects\VSProObjectsOut.cs(37,10): error CS0246: The type or namespace name 'BiomeBlend' could not be found (are you missing a using directive or an assembly reference?)
    I Using Unity 2020.2.5f1 on URP. The Project is fresh and Only Contains MapMagic + Vegetation Studio Pro

    Too bad, I had hoped that the version eliminates some compatibility problems. :(
     
    Last edited: Feb 25, 2021
  43. valentinwinkelmann

    valentinwinkelmann

    Joined:
    Nov 3, 2014
    Posts:
    186
    Lol, there are also plenty of errors without Vegetation Studio Pro.

    When running the playmode, the error appears immediately:
    Code (CSharp):
    1. Exception: Empty weld array. Possibly terrain has not been generated yet
    2. MapMagic.Terrains.Weld.ApplyToTerrain (UnityEngine.TerrainData terrData, System.Single[] arr, Den.Tools.Coord dir) (at Assets/MapMagic/Terrains/Weld.cs:689)
    3. MapMagic.Terrains.Weld.WeldDraftToMain (MapMagic.Terrains.TerrainTile reference, MapMagic.Terrains.TerrainTile welded, Den.Tools.Coord weldDir) (at Assets/MapMagic/Terrains/Weld.cs:650)
    4. MapMagic.Terrains.Weld.WeldSurroundingDraftsToThisMain (MapMagic.Core.TerrainTileManager tileManager, Den.Tools.Coord coord) (at Assets/MapMagic/Terrains/Weld.cs:576)
    5. MapMagic.Terrains.TerrainTile.SwitchLod () (at Assets/MapMagic/Terrains/TerrainTile.cs:214)
    6. MapMagic.Terrains.TerrainTile+<ApplyRoutine>d__44.MoveNext () (at Assets/MapMagic/Terrains/TerrainTile.cs:783)
    7. Den.Tools.Tasks.CoroutineManager.Update () (at Assets/MapMagic/Tools/ThreadManager/CoroutineManager.cs:147)
    8. MapMagic.Core.MapMagicObject.Update () (at Assets/MapMagic/Core/MapMagicObject.cs:142)
     
  44. thevisad

    thevisad

    Joined:
    Jan 29, 2018
    Posts:
    24

    Did you apply the patch above?

    https://forum.unity.com/threads/rel...al-land-generator.875470/page-17#post-6873704
     
  45. valentinwinkelmann

    valentinwinkelmann

    Joined:
    Nov 3, 2014
    Posts:
    186
    @thevisad As I mentioned in my first post, yes.
    I have now upgraded to Unity 2020.2.6f1, there the patch seems to solve these problems.


    I can work with it so far, but I haven't tested it yet if I get errors as long as I use Vegetation Studio actively, so far there are no errors.

    Another point:
    The MapMagic Changelog 2.1.0 mentions the integration of MicroSplat TerrainBlending, which I have been hoping for for a long time.
    But it doesn't seem to work or I don't know how to activate it. Unfortunately there is still no detailed
    documentation for MapMagic.
     
  46. thevisad

    thevisad

    Joined:
    Jan 29, 2018
    Posts:
    24
    He updated it over night it looks like and resolved a few issues. I redownloaded it this morning and reapplied the patch to a fresh install and all my issues were solved, including the import problem. Interesting the .6 version works, maybe you grabbed the updated patch and applied that. I am in 2019.4.20 LTS and things seem to work as expected with the patch.
     
    Last edited: Feb 25, 2021
  47. valentinwinkelmann

    valentinwinkelmann

    Joined:
    Nov 3, 2014
    Posts:
    186
    @thevisad I just downloaded it today a few hours ago, so my problems already include the updated patch version. Would be good if they are fixed. With 2020.2.6f1 I get along now, only how the TerrainBlending works, I would like to know, because there is no documentation. Maybe @Wright can help me with this later.
     
  48. thevisad

    thevisad

    Joined:
    Jan 29, 2018
    Posts:
    24
    We really need to be able to use multiple vegetation packages with VSP and MM2. With being limited to one we are severely limiting VSP's capabilities and how we can generate Biomes from MM2. Here is an example of why and also an indication that the VSPro objects don't work as expected/shown/indicated?

    In VSP we can have multiple packages, all named the same biome or in various biomes. In these packages we can add and remove vegetation and use masks on them. With the singular VSP object allowed, we cannot access these additional packages and are forced to use a singular one for the entire scene. Knowing this, I attempted to work around the issue to find that it does not work as expected. In the visual scene the dark green plants are the only ones that should be present in the map, yet it displays all of the vegetation in the package (red and light green). So with this, there is no way of properly using this with MM2 in the current state. I can mask this out easily, but that's a lot of foot work when it seems this should do this by design. If MM2 either allowed multiple vegetation packages or properly selected the vegetation it should render from the list and rendered that, this could be resolved easily.






     
  49. thevisad

    thevisad

    Joined:
    Jan 29, 2018
    Posts:
    24
    I am also still having an issue with VSP, when changing the vegetation in the package it crashes with the following errors. I have to close out of the scene, then reload the scene for it to reload the vegetation.

    Code (Boo):
    1. ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
    2. Parameter name: index
    3. System.ThrowHelper.ThrowArgumentOutOfRangeException (System.ExceptionArgument argument, System.ExceptionResource resource) (at <eae584ce26bc40229c1b1aa476bfa589>:0)
    4. System.ThrowHelper.ThrowArgumentOutOfRangeException () (at <eae584ce26bc40229c1b1aa476bfa589>:0)
    5. System.Collections.Generic.List`1[T].get_Item (System.Int32 index) (at <eae584ce26bc40229c1b1aa476bfa589>:0)
    6. AwesomeTechnologies.VegetationSystem.VegetationSystemPro.Update () (at Assets/AwesomeTechnologies/VegetationStudioPro/Runtime/VegetationSystemPro/VegetationSystemPro.cs:625)
    Code (Boo):
    1. InvalidOperationException: The previously scheduled job VegetationItemLODSplitAndFrustumCullingJob writes to the NativeArray VegetationItemLODSplitAndFrustumCullingJob.VegetationItemLOD0MatrixList. You must call JobHandle.Complete() on the job VegetationItemLODSplitAndFrustumCullingJob, before you can read from the NativeArray safely.
    2. Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle.CheckReadAndThrowNoEarlyOut (Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle handle) (at <d29d557b212f474390dc0b17ef6ce0dd>:0)
    3. Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle.CheckReadAndThrow (Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle handle) (at <d29d557b212f474390dc0b17ef6ce0dd>:0)
    4. Unity.Collections.NativeList`1[T].get_Length () (at Library/PackageCache/com.unity.collections@0.9.0-preview.6/Unity.Collections/NativeList.cs:157)
    5. AwesomeTechnologies.VegetationSystem.VegetationSystemPro.RenderVegetationItemLOD (Unity.Collections.NativeList`1[T] matrixList, Unity.Collections.NativeList`1[T] lodFadeList, AwesomeTechnologies.VegetationSystem.VegetationItemModelInfo vegetationItemModelInfo, System.Int32 lodIndex, UnityEngine.Camera targetCamera, System.Int32 cameraIndex, UnityEngine.Rendering.ShadowCastingMode shadowCastingMode, UnityEngine.LayerMask layer) (at Assets/AwesomeTechnologies/VegetationStudioPro/Runtime/VegetationSystemPro/VegetationSystemPro.cs:1121)
    6. AwesomeTechnologies.VegetationSystem.VegetationSystemPro.RenderInstancedVegetation () (at Assets/AwesomeTechnologies/VegetationStudioPro/Runtime/VegetationSystemPro/VegetationSystemPro.cs:1035)
    7. AwesomeTechnologies.VegetationSystem.VegetationSystemPro.LateUpdate () (at Assets/AwesomeTechnologies/VegetationStudioPro/Runtime/VegetationSystemPro/VegetationSystemPro.cs:835)
    8.  
    Code (Boo):
    1. InvalidOperationException: The previously scheduled job MergeCellInstancesJob writes to the NativeArray MergeCellInstancesJob.OutputNativeList. You must call JobHandle.Complete() on the job MergeCellInstancesJob, before you can deallocate the NativeArray safely.
    2. Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle.CheckDeallocateAndThrow (Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle handle) (at <d29d557b212f474390dc0b17ef6ce0dd>:0)
    3. Unity.Collections.LowLevel.Unsafe.DisposeSentinel.Dispose (Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle& safety, Unity.Collections.LowLevel.Unsafe.DisposeSentinel& sentinel) (at <d29d557b212f474390dc0b17ef6ce0dd>:0)
    4. Unity.Collections.NativeList`1[T].Dispose () (at Library/PackageCache/com.unity.collections@0.9.0-preview.6/Unity.Collections/NativeList.cs:373)
    5. AwesomeTechnologies.VegetationSystem.VegetationStudioCameraRenderList.DisposeMatrixInstanceList (System.Collections.Generic.List`1[T] list) (at Assets/AwesomeTechnologies/VegetationStudioPro/Runtime/VegetationSystemPro/VegetationStudioCamera.cs:134)
    6. AwesomeTechnologies.VegetationSystem.VegetationStudioCameraRenderList.Dispose () (at Assets/AwesomeTechnologies/VegetationStudioPro/Runtime/VegetationSystemPro/VegetationStudioCamera.cs:104)
    7. AwesomeTechnologies.VegetationSystem.VegetationStudioCamera.DisposeVegetationStudioCameraRenderList () (at Assets/AwesomeTechnologies/VegetationStudioPro/Runtime/VegetationSystemPro/VegetationStudioCamera.cs:516)
    8. AwesomeTechnologies.VegetationSystem.VegetationStudioCamera.PrepareRenderLists (System.Collections.Generic.List`1[T] vegetationSystemProList) (at Assets/AwesomeTechnologies/VegetationStudioPro/Runtime/VegetationSystemPro/VegetationStudioCamera.cs:307)
    9. AwesomeTechnologies.VegetationSystem.VegetationSystemPro.Update () (at Assets/AwesomeTechnologies/VegetationStudioPro/Runtime/VegetationSystemPro/VegetationSystemPro.cs:505)
    10.  
     
    valentinwinkelmann likes this.
  50. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,227
    In case you are using a core version perhaps a better alternative to patch: a complete package.

    Is there any way to reproduce this issue? At first glance could not replicate it with demo scenes or new template. What scene or at least graph are you using?

    Thanks for reporting it! Will try to find out why it happens for the next update.