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. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice
  3. Join us on November 16th, 2023, between 1 pm and 9 pm CET for Ask the Experts Online on Discord and on Unity Discussions.
    Dismiss Notice

TileWorldCreator - Create beautiful tile maps in Unity

Discussion in 'Assets and Asset Store' started by GiantGrey, Feb 5, 2015.

  1. GiantGrey

    GiantGrey

    Joined:
    Jul 2, 2012
    Posts:
    261
    @Der_Kevin thank you very much! :)

    when speaking about 2d isometric tiles you mean basically just planes, then yes, this is absolutely possible.
    Checkout this image. Those tiles are just simple planes with a texture assigned on it.
     
  2. Der_Kevin

    Der_Kevin

    Joined:
    Jan 2, 2013
    Posts:
    517
  3. GiantGrey

    GiantGrey

    Joined:
    Jul 2, 2012
    Posts:
    261
  4. Dan2013

    Dan2013

    Joined:
    May 24, 2013
    Posts:
    200
    @propeller
    This asset looks very cool.
    So, with 5 valid tiles, it simply generates Unity meshes (cubes, or merged big mesh?) that developers can also edit with Unity's default editing tools?

    I am also wondering if it works smoothly with other important assets that are very useful for creating RPG, RTS, Strategy games. Like Apex Path and Grids Pro
    https://www.assetstore.unity3d.com/en/#!/content/17943
    https://www.assetstore.unity3d.com/en/#!/content/9968

    In addition, does this asset provides source code for paid users?
     
    Last edited: Sep 29, 2015
  5. GiantGrey

    GiantGrey

    Joined:
    Jul 2, 2012
    Posts:
    261
    @Dan2013
    Thank you! Yes exactly, it uses 5 valid prefab tiles and instantiates them to a complete map. With the additional merge option it merges them to a new mesh. You can move, rotate, scale it... just like any Unity game objects in a scene

    Yes it works great with Apex Path, I didn't tested it with Grids Pro but I'm pretty sure it'll work as well without any problems.

    Yes, source code is provided.
     
    Dan2013 likes this.
  6. GiantGrey

    GiantGrey

    Joined:
    Jul 2, 2012
    Posts:
    261
    New Update 1.2.2 is out and live on the Asset Store

    There's now an option to create multi material meshes when merging a world.
    It is also possible to re-name the generated TWC_World group gameobject now. This is great when using multiple TileWorldCreator instances in the same scene. I have also fixed some bugs and the performance is slightly better when using multiple layers.

    See the complete changelog here: CHANGELOG

    Please backup before updating.
     
  7. Arganth

    Arganth

    Joined:
    Jul 31, 2015
    Posts:
    277
    any reasons it would not work with tiles which have a ceiling?
     
  8. GiantGrey

    GiantGrey

    Joined:
    Jul 2, 2012
    Posts:
    261
  9. Chaosgod_Esper

    Chaosgod_Esper

    Joined:
    Oct 25, 2012
    Posts:
    295
    hi there..

    We bought your Asset and stuck in some problems..

    1st:
    Your Doc says, better stay at a size of 1*1 for XZ on a Tile. That would be in C4D a size of 1cm * 1cm.. wich is.. unbelievable small... So lets say we want to use a size of our own.. lets say: 1m * 1m, or 64cm * 64cm..
    What do we need to change to make this work proper with the grid?

    2nd:
    Lets say we have multiple Layers.. and want Ramps/Stairs from one to another...
    Is there a way to say: Now let me paint on Layer 2, a tile from preset 3 and tileset 2... Where Tileset 2 is a Ramp version of tileset 1..
    So we can place 1 tile of Tileset 2 on a layer filled with tileset 1 tiles specifically.


    :D
     
  10. GiantGrey

    GiantGrey

    Joined:
    Jul 2, 2012
    Posts:
    261
  11. GiantGrey

    GiantGrey

    Joined:
    Jul 2, 2012
    Posts:
    261
    Early Christmas present :)
    TileWorldCreator is on today's 24 Hour Sale! 50% off!
    AssetStore

     
  12. GiantGrey

    GiantGrey

    Joined:
    Jul 2, 2012
    Posts:
    261
    Last hour of the 24 Hour Sale! Don't miss it :)
     
  13. marcos

    marcos

    Joined:
    Oct 18, 2009
    Posts:
    592
    Picked this up during the sale, pretty neat!

    Is there an easy way to have the in-editor TWC grid (and resulting world) rotated so that it faces front-on?

    I'm looking to maybe use this with 2D physics, and it's a bit of a pain to have to fiddle with rotations and so on every time I generate something.
     
  14. Chaosgod_Esper

    Chaosgod_Esper

    Joined:
    Oct 25, 2012
    Posts:
    295
    why not generate the map as it is, and when leaving editor mode, rotate the whole parent?
    and wen re entering the editor, sinply rotate the parent back..
     
  15. GiantGrey

    GiantGrey

    Joined:
    Jul 2, 2012
    Posts:
    261
    @marcos sorry I didn't got notified about a new post in this thread. As for now there's no feature for a XY grid. I will implement this in a next update.
    As for now i would suggest to do it like Chaosgod_Esper mentioned above.
     
    marcos likes this.
  16. arturmandas

    arturmandas

    Joined:
    Sep 29, 2012
    Posts:
    240
    Is it possible to have a square-angle-only level generated with Tile World Creator (Minecraft style)? I mean, would I then need to model properly the 2nd and 3rd prefab to have even angles, and this would yield a jagged (yet square) level? Also, are the shapes closed from below (I need a flying isle level I would like to be able to view from below during gameplay). Thank you in advance!
     
  17. GiantGrey

    GiantGrey

    Joined:
    Jul 2, 2012
    Posts:
    261
    @arturmandas sure you could just use a simple cube for all tiles. Then you will get a squared angle map. How the mesh will look from below totally depends on your tiles ;) So when using a cube the mesh would be also closed from below.
     
  18. Chaosgod_Esper

    Chaosgod_Esper

    Joined:
    Oct 25, 2012
    Posts:
    295
    Small feature Request (weiter unten in deutsch):
    A Selection Field to Select One of the multiple Tilemap Objects. Cause currently, the TWC uses a string Field to select the Tilemap you want to edit. So, if you want to use more than one tilemap per scene, you need to rename the string over and over again :/
    So.. perhaps an Object Field to Drag&Drop the TilemapObject into the Editor Inspector.. or a Dropdown List to select one of the existing ones and Jump with the Scene View to it.


    Deutsch:
    Das man im TileWorldCreator Objekt mittels String das zu editierende Objekt festlegt, scheint mir etwas umständlich. Wäre es nicht eifnacher hier entweder ein objectField für das Tilemap-ParentObject, dass man editieren möchte, zu haben.. Oder direkt eine Dropdownliste mit allen Tilemap Namen der Szene darin (wo dann der Scene View auf das entsprechende Object zielt)?
    Ggf eine Art Dummyscript oder Tag, nach denen der Inspector gezielt via FindGameObjectsWithTag sucht.. und die namen dann auflistet.
    Wäre übersichtlicher :)
     
  19. GiantGrey

    GiantGrey

    Joined:
    Jul 2, 2012
    Posts:
    261
    @Chaosgod_Esper hmmm alright I see what you mean.
    The idea why I used this approach is, that I thought that you basically create a new TileWorldCreator object for each new map, and to make sure they do not overwrite the builded map from the other one, you can give them a name.
    But yeah, I think a simple objectfield where you can just Drag and Drop the "map container" object could be very useful.
    Will work on it for the next update.... which will have a lot of nice features btw :)
     
  20. Chaosgod_Esper

    Chaosgod_Esper

    Joined:
    Oct 25, 2012
    Posts:
    295
    YEAH :)
    Great news!

    As for now, we are working on some Underground Cave Tiles (perhaps for a Rock Raider / Dungeon keeper like game).
    Therefore, we created a Blendshader to get a more fluid way to Map Roof, Wall and Floor together.
    Current Result:



    Edit:
    Small problem appeared when i want to create additional layers.
    is there a way to set the Layer height?
    Cause it seems, that TWC uses a height of 1.. But my tiles have a Y size of 2.5 - Means: They stack inside each other :)
     
    Last edited: Jan 28, 2016
    GiantGrey likes this.
  21. GiantGrey

    GiantGrey

    Joined:
    Jul 2, 2012
    Posts:
    261
    @Chaosgod_Esper : Regarding your issue with the height. You can create a new preset with a different Terrain height offset setting
     
  22. Chaosgod_Esper

    Chaosgod_Esper

    Joined:
    Oct 25, 2012
    Posts:
    295
    For sure, that is what i'm currently doing..
    But i've 8 tilesets on the first Preset right now.. and there's no copy button.. so i need to recreate the whole 1st preset again... with all 8 tilesets...

    So.. a simple height control in the layer selection would be much less complicated and a bit more timesaving ;)
     
  23. GiantGrey

    GiantGrey

    Joined:
    Jul 2, 2012
    Posts:
    261
  24. kenlem1

    kenlem1

    Joined:
    Mar 20, 2014
    Posts:
    37
    Is it possible to turn the TWC_World object into a prefab with just a single mesh? I'd like to build cells that I can assemble at runtime.
     
  25. GiantGrey

    GiantGrey

    Joined:
    Jul 2, 2012
    Posts:
    261
    @kenlem1 TileWorldCreator adds all instantiated tiles into cluster groups. Those can be merged to single meshes. You can of course also generate all tiles into one cluster and merge it to get one single mesh prefab. Although this does only work if the merged mesh does not exceed the Unity vertex count limit.
     
  26. Der_Kevin

    Der_Kevin

    Joined:
    Jan 2, 2013
    Posts:
    517
  27. GiantGrey

    GiantGrey

    Joined:
    Jul 2, 2012
    Posts:
    261
    Der_Kevin likes this.
  28. JunesiPhone

    JunesiPhone

    Joined:
    Feb 19, 2016
    Posts:
    5
    This tool is pretty amazing, i'm glad I purchased it. I have a few questions regarding multiple tiles and lightmapping them. Basically what is the best way. Currently it's been difficult to create a good lightmap. Each "tile" is created in blender basic block size of 0.5 (the instructions on the site say 1, but exporting as 1 from blender the block is too big). I mark seams and create a uv map. I then export (fbx) to unity. With the multiple prefabs (4 as I don't have a floor) I load them into TWC and create a single cluster. Mark the cluster as static and build a lightmap. It ends up terrible.

    Of course I know there is more to lightmapping than clicking build. Many settings such as generating lightmap uv on the .fbx itself while adjusting hard angle, pack margin, angle error, and area error. Messing with these settings for many days I have not found a "magic" number or anything that looks better than not generating a lightmap uv at all. The issue is edges will get a minor shadow. I did find a semi fix by editing the original uv map, usually by scaling a face with the issue down (most of the time this works). Since this is fixing it, I really feel as the shadow is the lightmap margin not being correct and one tile is "running over" to the next.

    Although I have tried many many times to adjust both uv margins and lightmap uv margins this issue still occurs. I feel like i'm totally going about this wrong way and seek help:) This may not be the thread for such help so I ask one thing.

    How where the presets (the ones included in this package) made, and what program was used to make them? Looking at the presets included in this package they look great, even after lightmapping they still look great. Thanks for your time.

    Image: http://imgur.com/blOMDfY
     
    Last edited: Feb 29, 2016
  29. GiantGrey

    GiantGrey

    Joined:
    Jul 2, 2012
    Posts:
    261
    @JunesiPhone

    I'm glad you like it :) Unfortunately I don't have much experience with lightmap baking but from what I understand, it does sound like a bleeding problem...
    just some shots in the dark:
    - Lightmap texture resolution too low?
    - Try to set Generate Lightmap UV option in the mesh import settings.
    - You can also try to change the filter mode of the baked lightmap textures.

    As for your other question, I mainly use Maya for modeling and UVs, but I think that tools really doesn't matter in creating your tiles. The textures for the sci fi tiles were made with substance painter.
    Btw. You can set a scale factor for each mesh in the Unity import settings if you think your tiles are too small or too big.
     
  30. Chaosgod_Esper

    Chaosgod_Esper

    Joined:
    Oct 25, 2012
    Posts:
    295
    looking forward to the new version :D
    Any news about the new features? or a sneak of them? ;)


    Small Question now:
    I reopened a previous Scene of my project and recognized, that in the Tile Preset, the additional Tilesets #2 - #8 are gone... I recreated the tilesets, saved the scene, opened another, reopened the last one - and again, the tilesets are gone.. Seems like they are not saved :/
    Same for Settings like Water on/off, Sizte..etc
    Same is for all my TWC Scenes :(

    I tried to reimport the asset, but no change..
    Can there be a reason for?


    Edit: Got a workaround..
    It seems like adding tilesets, presets or changing the tilemap, isn´t a reason for unity to activate the saving of the scene..
    It doesn´t matter if you hit STRG+S / CTRL+S or via File > Save Scene..
    You need to move any object a bit or change something that makes the scene saveable :/
     
    Last edited: Mar 18, 2016
  31. GiantGrey

    GiantGrey

    Joined:
    Jul 2, 2012
    Posts:
    261
    @Chaosgod_Esper
    it's gonna be a major new update, so lots of new stuff coming :)
    I'm currently fixing some bugs, writing documentation and polishing everything up.
    So it'll take a little, also because I'm currently very busy working on another project.

    But I'm sure you guys will like the new update.
    One feature that will be really cool is the possibility to implement your own map algorithms.
    Two new default algorithms will be included in the package as well.

    Regarding your issue:
    That is an interesting find, I will check it out with the current version I'm working on.
    But I guess that shouldn't happen in the next version, because all settings including presets will be stored in a separate Unity Asset file which can be completely loaded during runtime, great for changing level themes for example.
     
    Chaosgod_Esper likes this.
  32. Chaosgod_Esper

    Chaosgod_Esper

    Joined:
    Oct 25, 2012
    Posts:
    295
    Servus..
    Hab nochma ein paar kleine Fragen ^^

    1.)
    Ich will ein terrain anhand der worldmap[].maps bools verändern.
    Allerdings nur, anhand einer bestimmten tilemap in der szene.
    Sagen wir, ich habe: "Wall Map", "Roof Map", "Ruin Map"
    Und will nun, anhand der Wall Map das terrain verändern.
    Gibt es nen weg den worldMap Index dieser bestimmten map zu erhalten?

    2.)
    Ich erstelle eine neue Map, builde sie und speichere die Szene.
    Dennoch ergibt
    worldMap[0].map.GetLength(0/1)
    immer 0.. also.. keine bool vorhanden..

    3.)
    Gibt es schon Update News? :D



    engl.:
    hi there,
    Just a few small Questions ^^

    1.)
    I want to change a terrain according to a worldmap[].maps bool array.
    But, just according to a specific Tilemap in my Scene.
    So f.e. i got: "Wall Map", "Roof Map", "Ruin Map"
    now i want to change the terrain by the bools of Wall Map.
    Is there a way to get the List Index of the worldMap List, for this specific Tilemap only?

    2.)
    Although i created and build a map, the
    worldMap[0].map.GetLength(0/1)
    is always 0.. like there's no bool available.

    3.)
    Are there any Update News? :D
     
    Last edited: Jun 19, 2016
  33. GiantGrey

    GiantGrey

    Joined:
    Jul 2, 2012
    Posts:
    261
    @Chaosgod_Esper
    Sorry for the late reply, I was on Holidays and had lot of other work to do before ;)
    Regarding your questions:

    1. I'm not quite sure what you actually mean.
    worldMap array is basically the layer array. So if you want to change a map on layer 0 you will have to access it by using 0 as the index (worldMap[0].map)
    There's no name that belongs to it or possibility to access it by a name.

    2. hmm that's strange normally this should work.
    Do you have a reference to the TileWorldCreator?
    example:
    public TileWorldCreator tw;
    tw.worldMap[0].map.GetLength(0);

    3. I was very busy the last months working on our project, so I didn't had much time to work on TileWorldCreator.
    But still the new version exists and I only have to polish the last few stuff. So it really shouldn't take too long for the next version :)
     
  34. Andreas12345

    Andreas12345

    Joined:
    Oct 17, 2013
    Posts:
    523
    Hmm...
    anybody have the same problem that the objects only painting on Ground, and not on the selected layer?


    Help?
     
  35. GiantGrey

    GiantGrey

    Joined:
    Jul 2, 2012
    Posts:
    261
    I have sent you an email, it looks like that in your case you didn't set a Y position offset, therefore the painted objects are "stucked" inside of the tiles. Just open the paint object settings and set a Y offset.
     
  36. GiantGrey

    GiantGrey

    Joined:
    Jul 2, 2012
    Posts:
    261
    due to the forum rollback the announcement post for version 2.0 got lost. So here it is again version 2.0 :)



    What's new in this version:

    - New tileset dungeon
    - 4 new map algorithms (cellular, BSP, maze and simple dungeon)
    - possibility to implement your own algorithm
    - Settings are now stored in asset files
    - completely new and rewritten TileObjectScatterer
    - and many more see the changelog for a complete list




    New tileset dungeon included


    This is a major new update, so please backup your project before importing the latest version.

    For all Level 11 users:
    TileWorldCreator is currently in sale this month!
     
  37. Andreas12345

    Andreas12345

    Joined:
    Oct 17, 2013
    Posts:
    523
    Yes, thanks for the mail. It works now
     
  38. Yukichu

    Yukichu

    Joined:
    Apr 2, 2013
    Posts:
    420
    Did this ever get an XY grid setup so it can work with Unity's 2D physics?
    What's the biggest size tilemap you've made?
    Can it work with Sprites instead of plane+texture?
     
  39. GiantGrey

    GiantGrey

    Joined:
    Jul 2, 2012
    Posts:
    261
    Yes it supports XY grid orientation. Although it does not support Unity's 2D system (sprite and 2D physics)
    You will still need 3D geometry. If you want to create a 2D look you can use simple quads as geometry.
    The biggest map I made was about 150x150 tiles (22500 single tile objects). The paint feature starts lagging after this size. But as soon as you merge the map there's no more lag in the editor.

    Edit: small note regarding the map size. This depends also on the complexity of the tiles itself...
    simple quad tiles won't lag as much as very complex geometry like the sci-fi tiles.
    Also the more vertices one tile has, the less tiles can be merged to a single mesh object because of the 64k vertices limit. But TileWorldCreator takes care of this, to prevent any errors while merging
     
    Last edited: Jul 30, 2016
    Yukichu likes this.
  40. GiantGrey

    GiantGrey

    Joined:
    Jul 2, 2012
    Posts:
    261
    Last chance for every Level11 User! Get TileWorldCreator 50% off!! :)
    AssetStore
     
  41. haim96

    haim96

    Joined:
    May 24, 2013
    Posts:
    107
    HI,
    i'm using the version 2 of TWC and i have an issue with it.
    i created a map config file and scatter config file. since i'm planning to change the configuration from one level to other i set
    public var that hold the config file and then load it to tileworldcreator.configurator, here the code:

    Code (CSharp):
    1. public TileWorldConfiguration TwConfig;
    2. public TileWorldObjectScatterConfiguration TwScatterConfig;
    3. public TileWorldCreator TwCreator;
    4. public TileWorldObjectScatter TwScatter;
    all of them are set in the inspector of course, no null refernce etc...
    then i have this function to set the config into TileWorldConfiguration and TileWorldObjectScatterConfiguration

    Code (CSharp):
    1.  
    2. void CreateNewLevelV2(){
    3.     TileWorldCreator.configuration = TwConfig;
    4.         TwCreator.configuration = TwConfig;
    5.         TwScatter.configuration = TwScatterConfig;
    6.         TwCreator.GenerateAndBuild (true);
    7.         TwScatter.ScatterProceduralObjects ();
    8.         TwScatter.ScatterPositionBasedObjects ();
    9.     }
    10.  
    it seems to work fine.

    the problem is that from time to time TileWorldObjectScatter config file lose some or all configuration.
    sometime some of the object disappear, sometime some f settings reset to default.
    it can work for sometime then it reset.

    what is going on? why it's happen?

    thanks,

    haim.
     
  42. GiantGrey

    GiantGrey

    Joined:
    Jul 2, 2012
    Posts:
    261
    Hello,

    sorry for the late reply. We moved to a new office and I had limited internet access the last few days.
    Regarding your issue:
    I never had such an issue before. It looks like the configuration file does not get serialized.
    I see that you are calling the ScatterProcedural and PositionBasedObjects method at the same time as the GenerateAndBuild method. Please call both scatter object methods after the map build process is finished.
    You can use the event system for that. And call those methods after the MapBuildComplete event.
    There's also a demoscene in the package called runtime demo. Have a look at the RuntimeConfigurationCreation.cs script.

    Cheers!
     
  43. GiantGrey

    GiantGrey

    Joined:
    Jul 2, 2012
    Posts:
    261
    new update 2.0.1 with some small fixes is out now.

    - fixed a bug when trying to scatter more then one position based object
    - fixed a bug where tiles on a corner of a map got the wrong rotation
    - fixed a bug where a custom seed resulted in two different map generations with the BSP algorithm
    - removed a debug.log message
    - better fallback on "best guess" position based object scattering.
     
    overthere likes this.
  44. Der_Kevin

    Der_Kevin

    Joined:
    Jan 2, 2013
    Posts:
    517
    hey,
    is it possible to create an infinite world?
    like minecraft - where the world gets generated while you move around?
     
  45. GiantGrey

    GiantGrey

    Joined:
    Jul 2, 2012
    Posts:
    261
    @Der_Kevin
    hi,
    sorry I have to say no, this is not possible. And I do not plan to integrate this in the future.
     
    Der_Kevin likes this.
  46. Deleted User

    Deleted User

    Guest

    Hi,

    @propeller, you said for 2D. We can just create a simple Quad from Unity. However the rotation are all wrong when using Quad.
     

    Attached Files:

  47. GiantGrey

    GiantGrey

    Joined:
    Jul 2, 2012
    Posts:
    261
    @LORDECMT

    Hi, yes you are right since the latest update and the possibility to change the map orientation to xy. TileworldCreator takes care of the 90 degree rotation in the X-axis. The problem with the default Unity quad is, is that it is already rotated 90 degrees. So it's facing in -Z direction. See the picture below.




    You'll need a quad which is facing in the Y-Axis.
    I have created a quad for you just use this one :)
     

    Attached Files:

    • quad.zip
      File size:
      302 bytes
      Views:
      354
  48. Deleted User

    Deleted User

    Guest

    Thanks, is there any chance you will support 2D physics and Sprite instead of Quads?

     
  49. GiantGrey

    GiantGrey

    Joined:
    Jul 2, 2012
    Posts:
    261
    sorry as for now i do not plan to support it.
     
  50. GiantGrey

    GiantGrey

    Joined:
    Jul 2, 2012
    Posts:
    261