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. Jesus

    Jesus

    Joined:
    Jul 12, 2010
    Posts:
    484
    Uploaded some pictures to the Unity Connect Project page.

    Scroll down to see me pushing MapMagic to create a monstrous map and do an epic equator-to-pole run nonstop, on a single Unity Terrain (ok it's only about 500m distance, but this is a testing map where I have to get places fast, and I made the run in just over a minute)

    wolf_nocamo_3.png

    Click HERE on the post to link to it. Also, I need help naming the game. It's been an overtime after-hours sorta project to keep me fresh, but after a day of making reporting systems, ShaderForging the building blocks of life, and MapMagicing like 16 biomes onto a single terrain, I cannot into a name. More descriptions on project page.
     
    Last edited: Dec 14, 2016
    malkere likes this.
  2. HittmanA

    HittmanA

    Joined:
    Jul 27, 2016
    Posts:
    45
    Hey @Wright , I am working on a project that needs to utilize LOD automagically like MMWG. Basically, it should automatically switch LODS and such without entering what object is the "center" so to speak. I was wondering how you made MMWG do this, and if you could tell me where you learned how to do it. Thanks in advance!
     
  3. Gherid_lacksGPS

    Gherid_lacksGPS

    Joined:
    Dec 3, 2011
    Posts:
    111
    @Wright

    Looking over some of the tools Star Citizen has shown off, was wondering if you've considered "painting biome's." Have a biome set up, then allow the user to paint / blend biomes via brush. Or if that's even possible within the current technical context.

    Magnificent tool, btw.
     
  4. Ziboo

    Ziboo

    Joined:
    Aug 30, 2011
    Posts:
    326
    It's Curvy
     
  5. yrucrem

    yrucrem

    Joined:
    Aug 5, 2013
    Posts:
    17
    Hello @Wright

    First of all thanks for your awesome work, what I've seen in the youtube videos and screenshots in this thread is really impressive.

    I only recently started working with Unity, and I've only played around with the MM demo, but I'm already pretty sure, I'll stick with it :).

    I'd like to use Map Magic to generate worlds in an MMO environment and hoped that you guys could give me some pointers or clear up some misconceptions of this Unity newbie.

    • 1) The generated maps have to be accessible to the server, and I've read in this thread, that since Map Magic can generate maps from multiple cameras, this is obviously possible when the server itself is a Unity3D application. Has anybody experience if this scales well, when the number of concurrent players goes up?
    • 2) If we opt for a server where Unity is not available (like Photon or Smartfox), we would need a way of extracting navmeshes, so that they can be made available on the server. Searching the asset store yielded for example RecastUnity, but it does not seem to be still actively developed. I would appreciate any pointers on how to let Map Magic create a map, and extracting the necessary data for the server. (Of course the generated Maps would be potentially infinite, but I was thought the player would enter an "exhaustion zone" when moving too far away from the center, which would prevent the necessity for actually "extracting an infinite map".)

    With the next questions I try to estimate how much diversity is feasable, and I'd like to start with an example.

    Say a player arrives at a location and the game engine decides he is now in "Desert type 17", represented by a certain node graph we designed, but it changes the plants placed by Map Magic by adjusting the respective nodes during runtime. Furthermore if the player walks north for a certain time, the map changes to "Plains type 3" represented by another graph completely.

    • 3) Does this sound like a reasonable approach when using Map Magic?
    • 4) The biome feature seems to take care of blending different landscapes, but can the graphs reasonably be adjusted during runtime using scripting, or would the results probably be too unpredictable, so that manual checks and adaptions would be needed?
    • 5) Taking the idea of a level above Map Magic a step further, would it be possible to create a representation of graphs outside the Unity editor which could be deserialised by Map Magic?

    Sorry for the wall of text, and thanks in advance for your thoughts. Any feedback on any of the points would be much appreciated!
     
  6. Rexoto-Games

    Rexoto-Games

    Joined:
    Jan 11, 2013
    Posts:
    36
    I have only just started working with biomes now and one thing i can't figure out is how to randomly select a biome for each or multiple terrains so there is different biomes scattered around in an infinite world
     
  7. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    1,652
    Jesus, great screens of a nice project! However I have to admit that making all of your post a link is not a good idea - it's not convenient to read and it looks like an ad.

    HittmanA, I'm at a loss: are you talking about LODDisable demo script? In other aspects MMWG has nothing to do with LODs, I guess I've got it confused with some other asset?

    Gherid_lacksGPS, I have plans to make MMWG an editor for already existing terrains - give it an ability to paint any map - including biomes. Imagine Erosion Brush that can paint not only erosion or noise, but the whole graph. Hope it will paint objects, trees and grass too.

    yrucrem, I'm not an experienced MMO developer - I participated in one MMO project about 5 years ago and it was not made with Unity Engine - and in the end the project was cancelled :) We had a baked height and permeability maps to use on server. Of course they had a lower resolution then the real terrain detail, but it was enough to determine some basic player positions (and then graphically fine-tune them on a client) and to calculate some basic pathfinding. Since MM will generate exactly the same terrain on the same position you can bake those maps for server and let client applications generate fine-detail terrains locally.

    That sounds exactly like biomes. They are using absolutely independent graphs for each biome (plus one global graph to rule them all to determine biome masks). That's a quite reasonable approach of using MM.
    However I guess that changing graph in playmode will ruin the concept of baked server maps, and I guess it's really a complicated task to make MMO with a dynamically changing game world. However it is possible to change some of the node values or to switch between inputs (a custom generator will be required for that - it could be found a dozen of posts above). Whether the result check will be required depends on the changes made to the graph.

    thisnamesucks, you've got to use biome masks for that. Try assigning some high-scale and high-contrast (contrast could be increased with a curve) noise as a biome mask. Here is biome masks usage is shown:
     
  8. Exbleative

    Exbleative

    Joined:
    Jan 26, 2014
    Posts:
    204
    Did I miss something or do the new Blend nodes now act somehow fundamentally different to the old legacy Blend?

    With old Blend you could choose two things to Mix, and feed in a Mask so that black = thing A and white = thing B. Now it seems that the Mask's black = nothing will appear (it'll be flat).

    Anyone else noticed this? Or am I using it wrong somehow?
     
    antoniog9430 likes this.
  9. RANUCE

    RANUCE

    Joined:
    Apr 28, 2013
    Posts:
    12
    Hello - I have a question please: Is MapMagic good for making LowPoly terrains , the trees and rocks?........I would like to create LowPoly terrain - can I use MapMagic for that?....thanks
     
    Last edited: Dec 16, 2016
  10. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    1,652
    MapMagic internally use the standard terrains. If you know the way to convert standard terrain to lowpoly one then you can use it.

    Exbleative, thanks for your email, I admit the problem and will fix it soon.
     
  11. RANUCE

    RANUCE

    Joined:
    Apr 28, 2013
    Posts:
    12
    Thanks for answer - Im new on all this, but what is the way to convert to Lowpoly?
     
  12. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    1,652
    I don't know. MMWG cannot do that - it has the other purpose. Maybe there's some plugin on Asset Store that can convert standard terrain to low poly one.
     
  13. Jesus

    Jesus

    Joined:
    Jul 12, 2010
    Posts:
    484
    Is there a way to have height information kept from the base map when using biomes?

    For example, if I have a giant mountain, the biome at the top will be 'snowy mountain' but if I use the biome system, it might grab a valley part of that 'snowy mountain' biome.

    Biomes are a good idea, but, and I accept this might be a bit advanced, if there was a way to grab not height from a biome, but heightmap alteration (just the erosion, etc nodes) and the trees/grass/objects.
     
  14. tanoshimi

    tanoshimi

    Joined:
    May 21, 2013
    Posts:
    292
    Mapmagic doesn't *make* trees and rocks at all - it places trees and rocks (and any other arbitrary prefab) on the surface of a procedurally-generated terrain based on a set of rules. If you want to use low-poly assets for it to distribute (e.g. https://www.assetstore.unity3d.com/en/#!/content/70164) that's fine.
     
  15. arturmandas

    arturmandas

    Joined:
    Sep 29, 2012
    Posts:
    197
    Does it/will it support Substance Designer substances?
     
  16. Jesus

    Jesus

    Joined:
    Jul 12, 2010
    Posts:
    484
    I don't see why it wouldn't. Probably the big thing is what sort of terrain shader you use. MM will default to Unity's normal terrain shader, so if you can get textures from your substance into a Unity terrain, I see no reason it wouldn't work with this.
     
  17. Nyuchen

    Nyuchen

    Joined:
    Sep 9, 2015
    Posts:
    16
    Your work is amazing and i look into this asset for month. After the biomes and biome-blending stuff its a really help for people who imagine a huge and realistic world like "skyrim" or "the crew".

    Map magic Editor is fully controllable and gives you the ability of everything you wanted by the node-control. Often seen that by streams and youtube.

    That asset is a must have for people who trying to build impressiv and realistic worlds. For mmorpg creators its a nice time saver.

    Me, my friends and some streamers hoping for a christmas/winter price-special. is anything like that planned? :3

    Thank you for your great work on that asset! Wish you and all readers a good christmas time. :)
     
  18. Hakazaba

    Hakazaba

    Joined:
    Jul 1, 2015
    Posts:
    109
    Hey, I'd like some advice on how to proceed with something, or perhaps to suggest an update to the blur node.

    Here is what im trying to do. I have volcanic terrain, spawning a volcanic ridge at a certain intensity of mountain. Rather than tieing in the surrounding scorched lands into height, i only want the land to be scorched if the magma is presant.

    Ive managed to achieve that so far with a blur and curve node, but the blur cant currently stretch over the boarder of a chunk. Here is a demonstration.

    https://gyazo.com/e3eb6ad8e61fd9964e4430219af4d6f1

    How would i do this in a way that works across chunks?

    If there isn't a way to do this, could we please have some kind of generator that expands a mask across multiple chunks?
     
  19. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    1,652
    I was thinking about some kind of "scripting output" generator, that will convert map ("Matrix" class) to 2D array or Texture2D and will fire an event with a converted object. Sometimes custom scripts really need some other maps rather then heightmap.

    What kind of support would you like to see?

    LadyNyuuu, thanks so much! Unity usually informs about a sale a month beforehand, unfortunately I have not received any notice so do not expect sale within at least a month. But surely I can provide a free copy for streamers. The copy is fully functional one, but with no further updates. Besides I usually don't mind granting my plugins to non-commercial projects or just if I find a project interesting.


    Hakazaba, it's one of MMWG's concepts: chunks are independent. Nor they get any data from a neighbor chunk, neither they send it. But if magma is controlled with a noise generator you can make a scorched land using the equivalent noise, but with lesser detail value. It will give a "smoother" look, so you will not have to use blur generator at all.
     
    Nyuchen likes this.
  20. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    1,652
    PS: Jason Booth just made his MegaSplat plugin compatible with MMWG:
     
    malkere likes this.
  21. Nyuchen

    Nyuchen

    Joined:
    Sep 9, 2015
    Posts:
    16
    Thank you for the information, i thought it was up to the developers of the asset if there will be price reductions.
    I bought it now, because you deliver new updates on upcoming versions of unity and fast bug fixes.
    i hope i can stick to your asset a long time because its quality and a pure eye-candy. :3

    If the Streamer will need a license too, i tell him that he can contact you and maybe find a arrangement what fits to you too.


    btw, the new unity version seems to make a method obsolete what you have used. makes the asset currently not running. happens on a new created project with new downloaded and imported files.
    Error Output: Assets/MapMagic/Main/Extensions.cs(218,30): error CS0117: `UnityEditor.EditorUtility' does not contain a definition for `SetSelectedWireframeHidden'
    https://docs.unity3d.com/ScriptReference/EditorUtility.SetSelectedWireframeHidden.html
    I would be happy if you can fix it. :3
     
  22. yrucrem

    yrucrem

    Joined:
    Aug 5, 2013
    Posts:
    17
    @Wright Thanks for the reply, it's good to know I'm kinda on the right track.The decision for Map Magic is all but fixed, we're making really nice progress.

    In the spirit of the season, I'm feeling bold enough to ask, if you considered a christmas sale of some kind? I'm sure, I would not be the only one thrilled about that :).
     
  23. Nyuchen

    Nyuchen

    Joined:
    Sep 9, 2015
    Posts:
    16
    @yrucrem I already asked that too. :3

     
  24. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    1,652
    LadyNyuuu, thanks, I've fixed this - patch will be available with the next minor update.

    yrucrem, nothing changed in a last two days, I still do not expect MMWG sale within next month :)
     
    Nyuchen likes this.
  25. gb1_unity

    gb1_unity

    Joined:
    Dec 21, 2016
    Posts:
    5
    Oh yes, a christmas/New Years sale, is something i am also hoping for. Lets see if there is a chance to get one! :)
     
  26. malkere

    malkere

    Joined:
    Dec 6, 2013
    Posts:
    1,110
    Hey all. I've been absent for quite a while, I rebuilt my website, http://www.solacecrafting.com/ and have been working on some promotional videos. I'm going through developer withdrawal though I put the real development of my game on hold for too long! XD So I'm jumping back into MapMagic, and am going to work on a zero point shift, or floating point error correction system tomorrow. I was wondering if anyone made any progress with that?

    We've shared the links showing the find all transforms and shift them according to the camera's x,z distance from 0,0 method, but this will really just displace everything. We need a system to tell MapMagic to offset (for example) terrain generation by 20,000 so that Terrain -20,0 (assuming 1000 in size) comes in at 0,0. Once everything gets moved it should only need to happen with generation/disable/enable checks by MapMagic I think, maybe the generate terrain markers as well. I'm thinking a global offset int for distance in 1000 reference that MapMagic can watch easily.

    Anyway, if anyone has had any experience on what needs to be changed, or success stories I'd love to hear them before I spend the next two days working on it XD

    here's a little script I wrote that recognizes if the nearest four terrains are ready near the player or not for example at the start of a new level
    Code (CSharp):
    1. using System.Collections;
    2. using System.Collections.Generic;
    3. using UnityEngine;
    4.  
    5. public class PlayerManager : MonoBehaviour {
    6.  
    7.     Transform terrains;
    8.  
    9.     void Start () {
    10.         terrains = GameObject.Find("MapMagic").transform;
    11.  
    12.         StartCoroutine(PlayerSpawnCheck());
    13.     }
    14.  
    15.     IEnumerator PlayerSpawnCheck () {
    16.         yield return new WaitForFixedUpdate();
    17.  
    18.         bool keepChecking = true;
    19.         while (keepChecking) {
    20.             int terrainsFound = CheckForLocalTerrains();
    21.             if (terrainsFound == 4) {
    22.                 Debug.Log("Local terrains loaded");
    23.                 keepChecking = false;
    24.             }
    25.             else {
    26.                 Debug.Log("Loading local terrain " + terrainsFound.ToString() + "/4");
    27.             }
    28.             yield return new WaitForSeconds(1f);
    29.         }
    30.     }
    31.  
    32.     int CheckForLocalTerrains () {
    33.         Vector3 playerLocation = PlayerScriptController._player.position;
    34.         float worldX = playerLocation.x / 1000f;
    35.         float worldZ = playerLocation.z / 1000f;
    36.  
    37.         string string1 = Mathf.CeilToInt(worldX).ToString() + "," + Mathf.CeilToInt(worldZ).ToString();
    38.         string string2 = Mathf.CeilToInt(worldX).ToString() + "," + Mathf.FloorToInt(worldZ).ToString();
    39.         string string3 = Mathf.FloorToInt(worldX).ToString() + "," + Mathf.CeilToInt(worldZ).ToString();
    40.         string string4 = Mathf.FloorToInt(worldX).ToString() + "," + Mathf.FloorToInt(worldZ).ToString();
    41.         //handle in case the same?
    42.  
    43.         int localTerrainsFound = 0;
    44.         for (int i = 0; i < terrains.childCount; i++) {
    45.             Transform c = terrains.GetChild(i);
    46.             if (c.name.Contains(string1) ||
    47.                 c.name.Contains(string2) ||
    48.                 c.name.Contains(string3) ||
    49.                 c.name.Contains(string4)) {
    50.                 if (c.gameObject.activeSelf) {
    51.                     localTerrainsFound++;
    52.                 }
    53.             }
    54.         }
    55.  
    56.         return localTerrainsFound;
    57.     }
    58.  
    59. }
    certainly not the best way to go about it, but easy enough, might help someone out.
    cheers
     
    Nyuchen likes this.
  27. Jesus

    Jesus

    Joined:
    Jul 12, 2010
    Posts:
    484
    I've got a floating origin system in my flight sim - had to, trying to get Unity to handle hundreds of k's in every direction caused physX to go spastic.

    I've not integrated it with MM - YET - but the trick I've found is that it's useful to keep tabs on the offsets.

    The floating origin system on the Unity wiki uses 1000 units magnitude from origin, so that might be 700x 200Y 300Z (or something) and it'll move everything back by those numbers to be the new 0,0,0.

    Mine, I changed to treat each axis independently, so 999,999,999 won't trigger it but 1000,0,0 will, and to keep a counter of steps as well, so 1000,0,0 becomes (0,0,0)(1,0,0) because I've stepped once in the X axis (second vec3). This helps with keeping track of 'actual' positioning easier, and would probably be useful for this.
     
  28. malkere

    malkere

    Joined:
    Dec 6, 2013
    Posts:
    1,110
    I'm trying to build something to manage the continuity of the ground noise so that I can generate noise based terrains endlessly. Moving a group of objects back and forth works for physics, or like you said is a must for physics, but I don't understand the inner workings of MM enough yet to track what is calculating the neighbor (new terrain) world locations.. once I find that hopefully it will just be a matter of adding in a counter like you said, but those noises are being used for grass and trees and everything, so it might not be that easy XD @Wright ? =D
    /fingerscrossed
     
  29. Grillstern

    Grillstern

    Joined:
    Oct 14, 2013
    Posts:
    31
    How can I produce a random rotation on my trees/stones so that they all don't look in the same direction?
     
  30. Wavinator

    Wavinator

    Joined:
    Dec 24, 2013
    Posts:
    79
    If I remember correctly from a tut Wright did, the tree rotation thing is a known issue with Unity, not MapMagic. One suggestion was to make prefabs with different rotations until this limitation can be fixed.
     
    Nyuchen and Grillstern like this.
  31. malkere

    malkere

    Joined:
    Dec 6, 2013
    Posts:
    1,110
    correct. Unity Trees, meaning objects placed on Unity Terrains as trees (not objects) are optimized in a lot of ways to increase performance, but that process makes them all the same rotation. The exception being SpeedTrees which even if placed as trees can rotate.
    Using Object placement you can rotate objects freely, but if you tree to place thousands of trees as objects you will have a hard performance hit. There are some third party options to help out with that as well though.

    To rotate objects you can use an adjust generator or a split generator in between the scatter and the output
     
    Wavinator and Grillstern like this.
  32. tanoshimi

    tanoshimi

    Joined:
    May 21, 2013
    Posts:
    292
    Yes - you need object placement to get uniquely-rotated trees. Performance of terrain objects can be significantly improved by either:
    - combining all objects placed on each terrain chunk that MM generated into a single mesh in a custom OnGenerateCompleted callback function. (That's essentially what Unity is doing internally with terrain trees and grass)
    - using GPU instancing (introduced in 5.4) by using an instanced shader on the material assigned to your objects.

    Both have the result of reducing your terrain objects to a single draw-call - the first using the CPU, the second on the GPU.
     
    Grillstern and malkere like this.
  33. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    1,652
    I guess it's more a question of "how do I make MM rotate my objects" rather then "how do I make rotated trees in Unity" since stones are mentioned - I doubt that they are made using the Tree Output.
    In this case you've got to use Adjust Generator before stones output, and set rotation range to 0 - 360:
    RandomRotation.jpg

    malkere, Jesus, I'm thinking about adding such a solution to MM, however I doubt that it will be done in an upcoming version.
    Noise pattern does not depend on the MM object position - it has an internal coordinates that are not related with the real world units. Consider it like noise generator uses the local position values, not the global ones.
    I see the main problem of a floating point solution in particles and rigidbodies. Moving an object 1000 units at once can make them think an object is moving at a great speed, so I guess some sort of a hack should be needed there.
     
  34. malkere

    malkere

    Joined:
    Dec 6, 2013
    Posts:
    1,110
    This I had to immediately fix to implement MM into my game. I use different layers, so the noise has to match. In other words I am using noise in global coordinates. I forgot to mentioned that but yes that's an important step for noise continuity. With some downfalls of course, the zero lines at x and z become mirrors for one. If you remove the % operators and the *1000, *100, noise patterns fine though.
     
  35. deathorphan666

    deathorphan666

    Joined:
    Oct 29, 2016
    Posts:
    1
    Hi Denis,

    Having great fun with your product, happy customer here :)

    I'm trying to understand the logic of making Magic and RTP work together.
    - It was fairly easy to get it to work with a single relief component on the MMagic game object.
    - Now I'm trying to get it to work with biomes :
    - I fail to understand how the grouping concept of RTP meets the biomes concept. What I mean is that 'biomes' are transverse to multiple terrains and can be mixed on one single terrain wereas RTP grouping seems more rigid.
    I found a mention of the Old-Style RTP approach in your generator's code, which seems to be the way I got it to work until now (single relief terrain script shared by all biomes and terrains).

    My question : if there is an old-style RTP ... what can you tell me about the new style RTP in MMagic ? WIP ? or I missed something ?

    BTW : happy new year in advance !
     
    malkere likes this.
  36. ayk

    ayk

    Joined:
    Nov 14, 2013
    Posts:
    56
    Bought Map Magic last night because I wanted to make a procedurally-generated infinite walking sim, and love it! Still learning the ropes, but the tutorials and node system are making it relatively easy to come to grips with.

    I spent some time experimenting with making some low-resolution landscapes with a nice angular look. The only problem is that Unity seems to be smoothing out the terrain textures, causing blurring at the edges where the terrain textures are supposed to change.

    Screenshot 2016-12-26 21.56.08.png

    Anyone have any ideas on how to get some nice flat shading and hard transitions?
     
  37. malkere

    malkere

    Joined:
    Dec 6, 2013
    Posts:
    1,110
    hmm.... you should write a quick script to output all the x's on a single z row of one of your terrains splatmap array. you want it to go 1,0 1,0 0,1 0,1 but it's probably got a 0.5,0.5 somewhere in it. Might have to do with the way MM uses the lowest layer as a sort of Background input rather than an actual calculated number.... I think.
     
  38. ayk

    ayk

    Joined:
    Nov 14, 2013
    Posts:
    56
    Thanks for the reply, unfortunately doing what you suggest is outside my skill level just yet. I was hoping there'd be a setting that would make it happen magically, but based on my research I suspect that the blurring is being caused by the way Unity handles terrain generation. That's just a guess though.

    Unrelatedly: I checked out Hellhound's fractal noise plugins, and they're great! they just need a mask input to be perfect :)
     
  39. Twoonebe

    Twoonebe

    Joined:
    Mar 30, 2013
    Posts:
    169
    Hello Dennis,

    How does it actually look with rivers, lakes or roads us in MM? Have there absolutely no information or a video about it anybody experience and can perhaps show by means of pictures what is possible?
     
  40. tanoshimi

    tanoshimi

    Joined:
    May 21, 2013
    Posts:
    292
    It looks exactly the same as rivers, lakes, or roads in any other Unity terrain ;) Once MM has done its generation, its output is a completely normal Unity terrain. You can even remove the MM asset entirely from your project if you wish and it won't make any difference. MM doesn't have river, lake or road generators built-in, but any tool designed to work on Unity terrain will work on MM-generated Unity terrain just fine.
     
  41. Twoonebe

    Twoonebe

    Joined:
    Mar 30, 2013
    Posts:
    169
    Thanks for answer me.
    Can you give me maybe a few pictures showing what MM so anything or maybe someone else?
     
  42. malkere

    malkere

    Joined:
    Dec 6, 2013
    Posts:
    1,110
    @Twoonebe there are some in this thread, check it out
     
  43. RETRO_GEEK

    RETRO_GEEK

    Joined:
    Dec 27, 2016
    Posts:
    10
    Hi Denis,

    Just a quick question, once a map is complete in MM is there a way to smooth/build up terrain manually to be able to place towns, roads etc...? is there a tool in MM for this or is it done via the Unity terrain tools?

    Also, what are the limitations of the MM evaluation version and is it easy to upgrade to full?

    Thanks.
     
  44. ayk

    ayk

    Joined:
    Nov 14, 2013
    Posts:
    56
    The tutorial video goes pretty in-depth with most of the features MM provides, including placing towns. It doesn't discuss roads, but I'd assume it'd be pretty much the same. I've got it bookmarked and have been constantly referring to it in order to learn how to get things done.

     
  45. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    1,652
    RETRO_GEEK, Once the map is complete you can lock the pinned terrain to prevent it's accidental re-generate and edit it with the standard Unity tools.
    You cannot edit a saved scene graph in the other Unity session (hardcoded restriction), and cannot use an evaluation version or terrains made with it in your final product (license restriction).
    To upgrade to the full version you just have to buy, download and import full version. You will have to overwrite or remove evaluation version script files, both versions could not work simultaneously.
    Scene saved with an evaluation version could be loaded with a full version.

    ayk,
    That's right. But I think it's worth trying to look for a special terrain shader on the Asset Store, maybe there is a one without a transition, or post a shader task via Unity Connect - as far as I can say it should not be extremely hard to create.

    deathorphan666, I guess you are talking about this clause:
    Code (CSharp):
    1.       //guard if old-style rtp approach is used
    2.             ReliefTerrain chunkRTP = chunk.terrain.gameObject.GetComponent<ReliefTerrain>();
    3.             if (chunkRTP !=null && chunkRTP.enabled)
    4.             {
    5.                 Debug.Log("MapMagic: RTP component on terain chunk detected. RTP Output Generator works with one RTP script assigned to main MM object only. Make sure that Copy Components is turned off.");
    6.                 chunkRTP.enabled = false;
    7.             }
    It was the way users tried to work with RTP before the RTPOutputGenerator was released. It consisted of assigning RTP component to each chunk terrain directly. This way is not compatible with the RTPOutputGenerator, that's why it checks if RTP is assigned to chunk, and disables it with a console message.
    Since biomes are chunk-independent (several or all biomes could be used on one chunk depending on user setup) each chunk has to have a full set of textures. Standard terrain splats have an optimization - MM skips channel if it's not used on a particular chunk, but with a single RTP component it's not possible - at least I don't know a neat way to do that.
     
  46. tequyla

    tequyla

    Joined:
    Jul 22, 2012
    Posts:
    327
    Last edited: Jan 1, 2017
  47. Mazak

    Mazak

    Joined:
    Mar 24, 2013
    Posts:
    210
    Hi, I am looking to place a pad into my scene for a city.

    I am thinking I want to do it when the terrain is being generated so the splat map is correct.

    upload_2016-12-28_15-19-28.png

    I saw I can create custom generators, I assume I could write one:
    1. Calculates a city size
    2. Creates the flat pad

    I could create another generator to create the city (placing the objects like in your examples of placing rocks)
     
  48. RETRO_GEEK

    RETRO_GEEK

    Joined:
    Dec 27, 2016
    Posts:
    10
    Hi Denis,

    What are the main differences between MMWG and Voxeland? can these products be used together? will they eventually be combined? at this stage I only need to create large world terrains with MMWG with no voxel, but this could change in the future.

    Thanks.
     
  49. Mazak

    Mazak

    Joined:
    Mar 24, 2013
    Posts:
    210
    I created a CityPadGenerator, this allows me to place a city at a specific location on the map.

    There appears to be an error in the Flatten function, if you look at the center of the pad its not flat. At first I thought the curve did not work correctly with four points, so I added several more to control the curvature. But it did not change.

    upload_2016-12-29_8-34-22.png

    upload_2016-12-29_8-35-13.png

    I love GROUPS! I cannot wait to play with the biome feature.
     
  50. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    1,652
    Mazak, flatten curve is radial one - it means that it's left is the spot edge, and it's right is the center - not the middle of the middle of the grid:
    CurveCenterEdge.jpg
    This way you've got to use only the half of your curve.

    RETRO_GEEK, I'm working on new Voxeland version now, and it will be compatible with MMWG.

    tequyla, I have not tested these plugins with MMWG, but you can always try it yourself (with the free evaluation version if you have not got the full one). BTW it would be great if you could share your test results here.
     
    tanoshimi likes this.
unityunity