Search Unity

  1. Unity 2019.2 is now released.
    Dismiss Notice

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,085
    I like 6 as well. Feels more organized.
     
  2. blitzvb

    blitzvb

    Joined:
    Mar 20, 2015
    Posts:
    284
    I like number 2 and 5. But number 2 is my favorites.

    But more importantly, I am not a big fan of this blue tiling. It look childish and your Demographic target is pro. Something closer to ASE will be more aesthetic and will keep the visibility of the node.
     
    Last edited: Mar 11, 2018
  3. secondsight_

    secondsight_

    Joined:
    Mar 2, 2014
    Posts:
    123
    I´d also vote with no 6
     
    blitzvb likes this.
  4. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    1,625
    Sure:
    NodesView15.png

    I guess the next poll will be devoted to the inputs/outputs look :)

    Pity forums don't allow to make in-post polls (only per thread, and they could not be removed). So I'm using survey monkey:
    MapMagic nodes look poll
     
    boysenberry and blitzvb like this.
  5. vaclavmazany

    vaclavmazany

    Joined:
    Dec 11, 2013
    Posts:
    1
    Hi, I'm just in the middle of evaluation your plugin - and I'm wondering, is it possible to input in-scene GameObjects to the graph ?
    So that I could for ex. hand place buildings in the Unity scene editor and then flatten area around those buildings in the MapMagic graph. I need to place certain objects manually, also I don't want to use texture inputs for this.
    I'd assume that having some sort of object(group) input that would pass the positions to the Stamp - as the Scatter does it should work, but I wasn't able to modify the script because it doesn't let me to connect in-scene GameObjects, it allows prefabs only. Or am I missing something ? Thx in advance

    Just a note - I'm trying this in demo version 1.8.3.
     
  6. Poxican

    Poxican

    Joined:
    Oct 17, 2012
    Posts:
    37
    I can't quite figure out how to do what I want with those generators. Essentially I'm trying to achieve something like this:


    This is a 16km by 16km map. The 'background' is a number of blended biomes generated using a perlin noise base. These are the 'wastelands'. Then the black dots are the key points of interest, scattered in a somewhat evenly spaced manner, and the cloud shapes are 5 distinct, unique biomes associated with those POIs. As you can see, the distinct biomes span multiple chunks. This is the thing I'm having trouble with. I've tried the Stamp node and Single Form generators, but those won't span multiple chunks. They produce this result:

    That's a Simple Form cone.

    The Raw Input can span multiple chunks which gives me the effect I need, but then I can't place it procedurally, I have to specify the offset. The lightest patches in the lower left and upper right quadrants are an example of this:



    Apologies for going on and on about this, I feel like it's almost possible with the default nodes, but not quite, and I'm not sure I have the programming skills to achieve it with custom nodes etc.. If it's just not possible I guess I'll have to investigate another approach...


    OK cool, I'll see if I can figure that out. Seems like it would be a really useful default node though! IE., a version of the Scatter node that has a 'scale' function, so for example it could scatter 10 objects across 100 chunks.
     
    Last edited: Mar 11, 2018
  7. Gandamir

    Gandamir

    Joined:
    Nov 22, 2017
    Posts:
    36
    You could create a custom generator for Single (code provided in the Wiki) that takes the inputs (manual process) for where your building is. You can then use the samples for creating a village to flatten around that point.

    Alternatively you could write your own generator to read the scene objects to get their position dynamically at runtime.
     
  8. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    1,625
    Everything that spawns on several terrain chunks is a problem. Chunks are isolated by design, it makes possible generating infinite terrain in any direction, and it makes the chunks work independently in threads. You can try using the Single node, but if you have a fixed objects position (it's required for the Single) it will be easier and more convenient to draw low-resolution texture mask that will spread over all of the chunks. No coding required. But your world could not be made infinite this way.

    No. That's a feature I plan to make or v2, but it's not implemented yet.
     
    boysenberry likes this.
  9. Exbleative

    Exbleative

    Joined:
    Jan 26, 2014
    Posts:
    201
    Hi @Wright, I'm getting some help with custom generators and would like to know, for the MM evaluation version (1.8.3) if a custom generator works for that version, will it work in 1.9.1?
     
  10. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    1,625
    I'd better update the evaluation version today
     
    Exbleative and blitzvb like this.
  11. PeterB

    PeterB

    Joined:
    Nov 3, 2010
    Posts:
    342
    How do I randomise rotation along other axes than just the Y axis? There are many use cases for this, such as for stones and rocks. Only being able to rotate these along one axis creates monotony, as each stone prefab is easily recognisable each time it occurs.

    I've read a previous posting to which the reply was "this is not supported as the UI would be more complex", but that's really beside the point. If it's too much trouble adding two more rotation channels to the components that handle rotation, such as Adjust, then all we really need is the ability in the last Object component to rotate 360° randomly along all axes (change the Rotate checkbox to a three-item dropdown menu of Suppress, Allow, and XYZ Random).

    In my opinion, random rotation along all axes is an absolute must.
     
    Last edited: Mar 12, 2018
  12. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    1,625
    You can use MM's OnApplyCompleted event to post-process terrain children in any way you like. However I'm going to use quaternions instead of floats in MM's further objects data, so it could be done with a generator.
     
    PeterB likes this.
  13. FractalCore

    FractalCore

    Joined:
    May 15, 2009
    Posts:
    139
    I'm playing with Vegetation Studio and Map Magic. They work great together, until I walked on to the neighbouring terrains. Then the trees stop appearing, but their shadows still show, and I can run into their colliders.

    You can see in the image, the top left axis is the world 0,0,0. The bottom right is my player. The nearby capsule colliders from the trees are there, and all the shadows from invisible trees around. I've turned and am looking back up to the left so, it's not frustum culling. They never showed as I walked through there.

    At first I thought it was because I was using Map Magic to spawn the trees, so I switched to letting Vegetation Studio do it, but it still happens just the same.

    Is there some kind of cap on the number of trees maybe. Because it only happens after walking off the centre terrain.
     

    Attached Files:

  14. blitzvb

    blitzvb

    Joined:
    Mar 20, 2015
    Posts:
    284
    Hey,

    Do there is a way to place road and river through nodes?

    2.0 is supposed to help on that matter right?

    Thanks in advance
     
  15. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    1,625
    FractalCore, does this happen in a playmode? Does the issue remains after forcing re-generate? Is there any way to reproduce it?

    I plan to add a couple of spline nodes in next MM, just to get some feedback of what users expect from splines and what direction should I move next.
     
    boysenberry, bok and blitzvb like this.
  16. floAr

    floAr

    Joined:
    Oct 14, 2013
    Posts:
    5
    Is there an ETA for this preview? Or a way to get our hands on a preview version? Currently working around a lot of these limitations to make road-network and end-to-end world generation work with MM and would love the prevent double work :)
     
    PeterB likes this.
  17. blitzvb

    blitzvb

    Joined:
    Mar 20, 2015
    Posts:
    284
    I expect to be able to be able to conform à spline to a terrain and carve the riverbed bellow the spline. For road a little bit of carving but not much.

    ETA for 2.0?
     
  18. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    1,625
    I plan to start an open beta for v2 in about two or three weeks, but splines feature will be added a bit later. Maybe within a month.
     
    boysenberry and blitzvb like this.
  19. blitzvb

    blitzvb

    Joined:
    Mar 20, 2015
    Posts:
    284
    a bit late for me so I will have to find a way with current generators.

    Keep up your awesome work. Your asset is just incredible.
     
    Last edited: Mar 13, 2018
  20. bok

    bok

    Joined:
    Feb 24, 2014
    Posts:
    35
    Is there a way to create randomly spawning lakes? I know you can create craters with MapMagic, but is it possible to spawn a AQUAS water prefab in the center of those craters without manually placing them?
     
    blitzvb likes this.
  21. blitzvb

    blitzvb

    Joined:
    Mar 20, 2015
    Posts:
    284
    Do you have a link for the crater?
     
  22. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    1,625
    You've got an "object" in the center of the crater - the source for the Stamp node. You can output it with the Object Output by assigning a plane prefab.


    (For some reason YouTube has not made an HD version of the video, and I can't find the source)
     
    blitzvb likes this.
  23. FractalCore

    FractalCore

    Joined:
    May 15, 2009
    Posts:
    139
    This is in play mode. How do you re-generate? And no, I can't reproduce it. I just tried in a new project with just the two assets and a Speedtree to test with and it worked perfectly.

    So, not sure what I managed to do, I'll just start a new project and keep going, thanks.
     
  24. bok

    bok

    Joined:
    Feb 24, 2014
    Posts:
    35
    Oh the Adjust node gives all the information! That's awesome. Thanks so much for the fast reply Denis!!
     
    Last edited: Mar 13, 2018
  25. bok

    bok

    Joined:
    Feb 24, 2014
    Posts:
    35
    blitzvb likes this.
  26. Diego_Graphics

    Diego_Graphics

    Joined:
    Nov 3, 2014
    Posts:
    84
    @Wright
    I am really excited about the function "Low detail terrains at horizon".
    maybe one of the most important features that are currently missing.
    Then Map Magic would also be interesting for airplane games.
     
    blitzvb likes this.
  27. blitzvb

    blitzvb

    Joined:
    Mar 20, 2015
    Posts:
    284
    hey @Wright

    I have difficulty to blend borders of stamped height map that are scattered next to each other. I would like to weld those stamped "terrain" together.

    do you think it's possible?

    thanks in advance.
     
    Last edited: Mar 14, 2018
  28. boysenberry

    boysenberry

    Joined:
    Jul 28, 2014
    Posts:
    339
    I like 2 the best myself.
     
    Last edited: Mar 15, 2018
  29. bok

    bok

    Joined:
    Feb 24, 2014
    Posts:
    35
    I have a top down game (the perspective is like Divinity Original Sin or Diablo). This means that I only ever need to see the terrain and objects that are near my characters surroundings and I don't need to see any far away objects or far terrain.
    Are there any settings that I can use to save me a lot of performance for a top down game or anything else I need to consider when using MapMagic?
     
  30. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    1,625
    Maybe. Definitely it will not be compatible in beta, but later - who knows? BTW here is a list of possible compatible assets - they will be selected by a poll. Feel free to add your suggestions!

    Don't scatter your objects near the chunk borders to avoid it. Use "Safe Borders" masking of the Scatter node. It will be a bit idle at the edges, but at least there will be no seams.

    You can try setting the lower chunk size and resolution (so that detail density does not change) and decreasing Generate and Remove ranges.
     
    bok likes this.
  31. bok

    bok

    Joined:
    Feb 24, 2014
    Posts:
    35
    Great, thank you for the help!!
     
  32. blitzvb

    blitzvb

    Joined:
    Mar 20, 2015
    Posts:
    284
    that's not what I meant.

    Imagine something like that, instead of rocks it's mountains and hills that are scattered :

    HexCells.jpg

    Each edges of those mountains or hills are touching each other. And that's where I would like to blend/weld those edges because there heights is not smooth.

    thanks in advance.
     
  33. Lurking-Ninja

    Lurking-Ninja

    Joined:
    Jan 20, 2015
    Posts:
    4,624
    I also like the 6th design, although I also like the AssetGraph-style one as well, where you have this actual "connector-feeling" (if you know what I mean):



    My other thought were also the 6th style but with triangles (pointing to the right, so pointing inwards for input and outwards for output).
     
    Last edited: Mar 15, 2018
  34. boysenberry

    boysenberry

    Joined:
    Jul 28, 2014
    Posts:
    339
    Now that I found the survey I actually voted #7. I think it looks best.

    As far as spline integration goes my vote is for Cascade. The developer is top notch and I think it is the best river/water solution in the store. It's really new and already does incredible things with water by reading the existing terrain.

    https://www.assetstore.unity3d.com/en/#!/content/106072
     
    Last edited: Mar 15, 2018
    blitzvb and camta005 like this.
  35. bok

    bok

    Joined:
    Feb 24, 2014
    Posts:
    35
    I like 2, 5 and 7.
     
  36. techtasie

    techtasie

    Joined:
    Mar 15, 2018
    Posts:
    4
    Hey @Wright,


    I have a Problem with Terrain Borders.

    Can I get Matrix data from any terrain? And How?


    My problem:

    I try to develop an own shore Element for MM, but I find no solution to generate through terrain borders. My idea is to generate the Shore height based on the water-fields in the area but at the corners are a lower amount of water-fields because I cant check above the borders.


    thanks in advance.
     
  37. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    1,625
    Nope :) What's that? I see nothing extraordinary on the screenshot. Except that the image is dark - but MM will have a dark skin too.

    I don'e quite get what do you mean under "through borders", but I have to mention that MM chunks are independent. Nor they get any data from a neighbor chunk, neither they send it. Otherwise each chunk will require all of the neightbour chunks to generate, and they will require all of their neigbours to be generated, and so on up to infinity.

    And now the poll results:
    Results.png

    Variants 6 and 7 were so close, they've got the same number of votes, but I decided to choose 7. It has a more conservative look compared to the previous MM version:
    7.png

    This poll is closed now, the next one will be devoted to the blue/green circles after a while - hope that I'll get some ideas about them while working on non-graphical part.
    Thanks for all of the voters!
     
    boysenberry, camta005 and blitzvb like this.
  38. Lurking-Ninja

    Lurking-Ninja

    Joined:
    Jan 20, 2015
    Posts:
    4,624
    Okay, so I will try to clear this up. So when I take a look at the blue dots and lines I don't get the gut feeling that I'm looking at connections between two things.
    When I'm looking at this AssetGraph, I have the feeling that these circles and lines are sockets and plugs and gives me the feeling that I'm looking at things which are clearly connected.
    I guess it's not a big deal, it just probably lowers the brainpower needed to process the overview of the node network.

    Hope this helps. And sorry, English isn't my native language so I may express myself on funny ways. (My superpower is that I speak Hungarian)
     
    camta005 likes this.
  39. recon0303

    recon0303

    Joined:
    Apr 20, 2014
    Posts:
    1,601

    You also can make, something in GAIA, Terrain Composer 2, export out, make sure you have a raw file.. Can make in Photoshop, Gimp etc if need be . to get the height map you want, then use Map Magic and use the imported height maps.... I do this all the time. With World Creator Standalone, I make different chunks. and use MM, to connect all my biomes, blend etc... as I like how MM does it compare to everyone else. :) Then I export that, out of MM, and use World Streamer to Stream my world :) Hope that helps.
     
    jnbbender likes this.
  40. recon0303

    recon0303

    Joined:
    Apr 20, 2014
    Posts:
    1,601
    didn't know there was a poll, oh well missed it, but Unreal 4 stuff looks the best typically, I been using Unreal for many years. Before Unity even . So wasn't able to see it but I bet that would of been the best one, I bet.
     
  41. techtasie

    techtasie

    Joined:
    Mar 15, 2018
    Posts:
    4
    Sorry for the imprecisely Question.

    I mean, can I interrogate single height values of multiple terrains.


    thanks in advance.
     
  42. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    1,625
    LurkingNinjaDev, I know what you mean, but I'm just wondering what is so special about these connectors that make them look more connector-like.

    techtasie, from the generated ones?
     
  43. Lurking-Ninja

    Lurking-Ninja

    Joined:
    Jan 20, 2015
    Posts:
    4,624
    Good question, I think it is the dark background (or padding) around the discs? Maybe. I guess.
     
  44. techtasie

    techtasie

    Joined:
    Mar 15, 2018
    Posts:
    4
  45. malkere

    malkere

    Joined:
    Dec 6, 2013
    Posts:
    1,085
  46. techtasie

    techtasie

    Joined:
    Mar 15, 2018
    Posts:
    4
    Hey @malkere
    I need in my own Node from the inputs the other Matrix generator data
     
  47. MaximilianPs

    MaximilianPs

    Joined:
    Nov 7, 2011
    Posts:
    199
    I'm pretty interested in MM, 'cause his simplicity, At the moment I'm using the trial version, but I can't see a solution to flat the terrain where city should be placed and how to draw river. I need to reproduce an existing terrain, but some modification.

    Also, I didn't get how to use the Masks, I'm using a black and white jpg loaded via Texture Input but looks like it doesn't effect.
     
  48. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    1,625
    So why can't you use the standard matrix[x,z] indexer? Just make an additional input for the generator you you are going to read from and connect it at the node graph.

    But, as I've already mentioned, you can't get a matrix value from the other chunk.

    You can use Flatten node to make a land flat in some area. Here is a tutorial of how to use it when creating towns.

    If you get an error in the console saying that the texture is not readable enable read/write in the texture's import settings.
     
    MaximilianPs likes this.
  49. MaximilianPs

    MaximilianPs

    Joined:
    Nov 7, 2011
    Posts:
    199
    I need to have some sort of plane map on the red square, nothing random, any idea?
    I need something "pretty" precise, for example I could draw a texture (a raw?) there the town should be placed or where rivers bed are. But how to apply it correctly on editor?
     
    Last edited: Mar 17, 2018
  50. bok

    bok

    Joined:
    Feb 24, 2014
    Posts:
    35
    Just an idea: It would be so cool if we could colorize graphs and groups. The node structure can get really complex and having for instance all plants colored in green and all items in blue would be super helpful.

    I'm sure you have plenty of other plans, but maybe you have already considered it.
     
    boysenberry and malkere like this.