Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

[RELEASED] Super Tilemap Editor

Discussion in 'Assets and Asset Store' started by CreativeSpore, Feb 21, 2016.

  1. CreativeSpore

    CreativeSpore

    Joined:
    Nov 6, 2014
    Posts:
    1,190
    I guess you mean using RPG Map Editor. You can create ramps or staris, just adding walkable tile ove the ground like in this example:
    upload_2017-2-22_8-19-26.png

    And also add bridges between mountains, but in this case, walking under the bridge could be tricky to achieve. You can create the bridge but not walking under it. At the end, all the map is a plane, with some tiles placed at a different Z position when player should be rendered under it, like top tree tiles. But it is not a 3D environment like in Zelda A link to the Past.
    upload_2017-2-22_8-22-15.png

    Note: red areas are blocking the player movement.
     

    Attached Files:

  2. Andrew122222

    Andrew122222

    Joined:
    Jul 8, 2012
    Posts:
    28
    Thanks for the reply. Sorry I'm not clear on what you mean. Where would I apply the offset to the tilemap? You mean changing its transform position? I was hoping I wouldn't change the game object's position. Regarding the sprites, the pivots are centered.

    Attached is a screenshot of a grey square sprite that (16x16 resolution), which has the pivot in the center. If I move it around while holding ctrl (which invokes "unit snapping"), it's not aligned with the map cells. I've highlighted the map cell grid with red lines. The purple sprites are the ground sprites in the map.

    Unit snapping reference:
    https://docs.unity3d.com/Manual/PositioningGameObjects.html



    A second question I have, is that I have scripts which force a game object to require a component. Specifically:
    [RequireComponent(typeof(Collider2D))]

    I would like to attach a script with this restriction onto a tilemap game object. Even though I've enabled a 2D collider on a tile map, the script doesn't recognise that it has a collider attached to it, and therefore the above "RequireComponent" doesn't work. Do you know if you can expose some functionality such that the RequireComponent for collides will work?

    Reference:
    https://docs.unity3d.com/ScriptReference/RequireComponent.html

    Edit: Actually, related to the above, how do I access the collider of a tilemap? i.e
    collider = GetComponent<EdgeCollider2D>();
    collider = GetComponentInParent<EdgeCollider2D>();

    Doesn't seem to work.
     

    Attached Files:

    Last edited: Feb 23, 2017
  3. TimNedvyga

    TimNedvyga

    Joined:
    May 18, 2015
    Posts:
    95
    @CreativeSpore
    Is there any kind of method to add tiles at runtime.
    For example, function like this AddTile(posX, posY, TileX, TileY);
     
  4. flipwon

    flipwon

    Joined:
    Dec 29, 2016
    Posts:
    179
    When setting my tilemaps to static batching I get this warning:

    Mesh '*****' has more materials (2) than subsets (1)
    UnityEditor.UnityBuildPostprocessor:OnPostprocessScene()

    wondering how to fix this as this could have performance implications for me in the future. I think?
     
  5. CreativeSpore

    CreativeSpore

    Joined:
    Nov 6, 2014
    Posts:
    1,190
    Yes, you have these methods in the tilemap class to work with tiles in a tilemap:
    upload_2017-2-24_8-6-13.png
     
    SiliconAvatar likes this.
  6. CreativeSpore

    CreativeSpore

    Joined:
    Nov 6, 2014
    Posts:
    1,190
    In my experience, there is at least a version of Unity where the static batching make the chunks to be merged and this is breaking the tilemap tile animations, because the animation use a vertex index to change the tile uv and the index in not valid anymore after the mesh is merged. So using static batching could cause problems with animated tiles.
    All the other Unity versions I have tested (the ones used to submit the tool) looks fine and give no errors when setting a tilemap to static batching.
    Besides mesh renderer used to render the tiles is only using a material, the tilemap material, so unless you added another material manually, it shouldn't happen. Maybe it's a unity bug in your version?
     
  7. CreativeSpore

    CreativeSpore

    Joined:
    Nov 6, 2014
    Posts:
    1,190
    Hi there,

    The snap feature in Unity will round the object movement offset in modules of snapX snapY and snapZ values.
    It means, if you have a cell size of 16 and you have a sprite with the size of a tile and centered placed at position (0, 0) when you start dragging it while holding control, the tile will be placed over the corners of the grid cells.
    If the position was (8, 8) or the pivot was in the bottom left, the tile will be placed properly in the center.

    Anyway, you can use the tileset to place the prefabs by attaching the prefab to a tile. And if you don't want to create a prefab with the tile sprite for each tile, you can create a prefab with the component TileObjectBehaviour. This component will make the prefab to be created using the tile sprite where it is attached to.
    I always use the tileset to place elements in the level like enemies, doors, chests, items, etx, it's a lot easier.

    And about the colliders. The tilemap generate the colliders in the children objects called tilemapChunks. These children objects are used to render regions of 60x60 tiles and also hold the colliders. But in case of 2D, the colliders could be more than one depending on the complexity of the level. So if you want to take all of them, you can use this:
    Code (CSharp):
    1.  
    2. EdgeCollider2D[] colliders = tilemap.GetComponentsInChildren<EdgeCollider2D>();
    3.  
    To use a component with [RequireComponent(typeof(Collider2D))] you can either remove this line, or add a fake collider2D component to the tilemap. But I am not sure the script is going to work if it needs the colliders to be in the parent gameObject.
     
  8. TimNedvyga

    TimNedvyga

    Joined:
    May 18, 2015
    Posts:
    95
    @CreativeSpore
    How can I use tilemap with OnCollisionEnter(Collision);?
     
  9. CreativeSpore

    CreativeSpore

    Joined:
    Nov 6, 2014
    Posts:
    1,190
    Here is from the F.A.Q section of the manual:
    upload_2017-2-24_11-57-26.png
     
  10. nomatix

    nomatix

    Joined:
    Jun 28, 2016
    Posts:
    9
    Hi, is there a way to instantiate multiple tiles as a single object or a prefab at run time? For example, I am looking for a way to create an in game house editor where the player can pick up and place objects such as couches and tables etc. I'm aware of how to create a single tile prefab using the TileBehaviour script but can't see how to use that with multiple tiles combined to make the actual couch or table object (say a couch is 2x3 tiles )
     
  11. CreativeSpore

    CreativeSpore

    Joined:
    Nov 6, 2014
    Posts:
    1,190
    I can think of these ways to achieve that.
    1. Create a tilemap with a selection of tiles.
    upload_2017-2-27_8-39-58.png
    Then attach the prefab to a tile in the tileset and activate the option "Display the prefab preview in the tile palette".

    2. You can create an sprite with the selection of tiles using the tileset texture in mode Sprite/Multiple and create a prefab with an SpriteRenderer and this sprite and attach the prefab to a tile. The same as before.
     
  12. nomatix

    nomatix

    Joined:
    Jun 28, 2016
    Posts:
    9
    excellent!
     
  13. nomatix

    nomatix

    Joined:
    Jun 28, 2016
    Posts:
    9
    Another question, sorry. Would it be possible to show the selected tile in play mode? For example, I have an item called wood floor tile that gets the tile data of the tile with the wood floor image and when the player selects the item i'm trying to get the brush to become visible at the mouse position in the same manner as it does in the tilemap editor. This also raises the question of snapping the item image to the center of the tiles as the player moves the mouse across the map looking for a place to set the item. Can all of this be made visible in play mode the same way it works in the editor? I'm relatively new to unity and haven't set up an in game editor before so some advice would be appreciated ^.^
     
  14. CreativeSpore

    CreativeSpore

    Joined:
    Nov 6, 2014
    Posts:
    1,190
    The tilemap editor is only working in the scene view. You can edit the tilemap while in play mode, but using the scene view.
    To place a tile while playing the game, you need to create your own brush to follow the mouse and snap the tile.
    Take the mouse position first:
    http://answers.unity3d.com/questions/540888/converting-mouse-position-to-world-stationary-came.html

    And then, snap the object to the tilemap grid like this:
    Code (CSharp):
    1. Vector2 mousePos; // once calculated the worl position
    2. Vector2 snapPosition = BrushUtil.GetSnappedPosition(mousePos, tilemap.CellSize);
    3. object.transform.position = snapPosition;
     
  15. nodoxi

    nodoxi

    Joined:
    Feb 27, 2013
    Posts:
    9
    Is it done?
     
  16. CreativeSpore

    CreativeSpore

    Joined:
    Nov 6, 2014
    Posts:
    1,190
    It is not done yet, but I will try to make it soon.
    I have a lot of features to be done, but I will make them all at some point.
    I will move this up in the list.
    My idea is to use a brush to paint in the tilemap using a color. But if you need it now, I can help you to add color to the tile vertices guiding you where to make it in the code.
     
  17. nodoxi

    nodoxi

    Joined:
    Feb 27, 2013
    Posts:
    9
    Where i can change color in code?
    I want to make some kind of lightning system in my 2d roguelike so changing vertices color is exatly what i need.
     
  18. nomatix

    nomatix

    Joined:
    Jun 28, 2016
    Posts:
    9
    Great. Got it working, thanks a lot
     
    CreativeSpore likes this.
  19. CreativeSpore

    CreativeSpore

    Joined:
    Nov 6, 2014
    Posts:
    1,190
    You need to add a color array in the mesh used to render the tiles.
    upload_2017-3-3_11-44-59.png

    If you can wait a couple of days, I think I could add some methods like SetTileColor to the tilemap for this.
     
  20. nomatix

    nomatix

    Joined:
    Jun 28, 2016
    Posts:
    9
    when I am placing tiles close to each other on the same layer, sometimes they adjust nicely to appear as if they are behind/in front of one another, and other times they don't. Here are some images of the issue:
    tilesOverlapping1.PNG tilesOverlapping2.PNG

    in the first image, I moved upwards as I placed the tile prefab and the prefab could not overlap nicely.
    in the second image, I moved downwards as I placed the prefab and it worked wonderfully.
    Is there a way to adjust this so the tile prefabs can overlap nicely when placing in both directions?

    Edit: also I am aware that i'm painting over top the tile prefab as I move upwards, just wondering if there is some code to auto correct this when it occurs
     
    Last edited: Mar 3, 2017
  21. CreativeSpore

    CreativeSpore

    Joined:
    Nov 6, 2014
    Posts:
    1,190
    You need to change the sorting order to sort it properly. For example changing the sorting order in base to the Y position.
    And use a different sorting layer for these kind of objects to avoid a conflict with the tilemap used for the floor.
     
  22. nomatix

    nomatix

    Joined:
    Jun 28, 2016
    Posts:
    9
    gotcha
     
    CreativeSpore likes this.
  23. SiliconAvatar

    SiliconAvatar

    Joined:
    Mar 23, 2014
    Posts:
    50
    When "optimize atlas texture settings" is chosen, why is the optimal setting of sprite mode set to "single" instead of "multiple"?
     
  24. CreativeSpore

    CreativeSpore

    Joined:
    Nov 6, 2014
    Posts:
    1,190
    It doesn't matter. You can set it to multiple as well.
     
  25. CreativeSpore

    CreativeSpore

    Joined:
    Nov 6, 2014
    Posts:
    1,190
    I have added a color channel to the tilemaps. Right now you can only change the tile color by code, but I will add an option to paint the color directly in the tilemap.
    I have also attached a fix for other bug in the current version.
    The new methods to change the color are inside the Tilemap component:
    Code (CSharp):
    1.  
    2. /// <summary>
    3. /// Clear color channel from all tilemap chunks
    4. /// </summary>
    5. public void ClearColorChannel()
    6.  
    7. /// <summary>
    8. /// Set a tile color using a tilemap local position
    9. /// </summary>
    10. /// <param name="vLocalPos"></param>
    11. /// <param name="color"></param>
    12. public void SetTileColor(Vector2 vLocalPos, Color32 color)
    13.  
    14. /// <summary>
    15. /// Set a tile color in the grid position
    16. /// </summary>
    17. /// <param name="gridX"></param>
    18. /// <param name="gridY"></param>
    19. /// <param name="color"></param>
    20. public void SetTileColor( int gridX, int gridY, Color32 color)
    21.  
    22. /// <summary>
    23. /// Set a tile color using a tilemap local position
    24. /// </summary>
    25. /// <param name="vLocalPos"></param>
    26. /// <param name="c0">Bottom left corner</param>
    27. /// <param name="c1">Bottom right corner</param>
    28. /// <param name="c2">Top left corner</param>
    29. /// <param name="c3">Top right corner</param>
    30. public void SetTileColor(Vector2 vLocalPos, Color32 c0, Color32 c1, Color32 c2, Color32 c3)
    31.  
    32. /// <summary>
    33. /// Set a tile color in the grid position
    34. /// </summary>
    35. /// <param name="gridX"></param>
    36. /// <param name="gridY"></param>
    37. /// <param name="c0">Bottom left corner</param>
    38. /// <param name="c1">Bottom right corner</param>
    39. /// <param name="c2">Top left corner</param>
    40. /// <param name="c3">Top right corner</param>
    41. public void SetTileColor( int gridX, int gridY, Color32 c0, Color32 c1, Color32 c2, Color32 c3)
    42.  
    43.  
     

    Attached Files:

  26. grogshotgames

    grogshotgames

    Joined:
    Aug 6, 2015
    Posts:
    77
    Hi!
    I just wanted to suggest this change to the ClearMap method:

    Code (CSharp):
    1.  
    2. public void ClearMap()
    3.         {
    4.             m_mapBounds = new Bounds();
    5.             m_maxGridX = m_maxGridY = m_minGridX = m_minGridY = 0;
    6.  
    7.             for (int i = transform.childCount - 1; i >= 0; i--)
    8.             {
    9.                 if (transform.GetChild(i).GetComponent<TilemapChunk>())
    10.                 {
    11.                 #if UNITY_EDITOR
    12.                     if (IsUndoEnabled)
    13.                         Undo.DestroyObjectImmediate(transform.GetChild(i).gameObject);
    14.                     else
    15.                         DestroyImmediate(transform.GetChild(i).gameObject);
    16.                 #else
    17.                     DestroyImmediate(transform.GetChild(i).gameObject);
    18.                 #endif
    19.                 }
    20.             }
    21.         }
    22.  
    By checking if the child has a TilemapChunk component, not every child of the tilemap will be destroyed. It could be really useful for some cases (like mine) ;)
     
  27. nodoxi

    nodoxi

    Joined:
    Feb 27, 2013
    Posts:
    9
    Great!! Thank you
     
  28. CreativeSpore

    CreativeSpore

    Joined:
    Nov 6, 2014
    Posts:
    1,190
    Thanks for the suggestion ;). I remember to think about this and decided to remove everything, probably because some tiles with attached prefabs create gameObjects that should also be removed.
    But I will check this to remove only the tilechunks and prefabs created by tiles.
     
    grogshotgames likes this.
  29. BARKx4

    BARKx4

    Joined:
    Mar 29, 2017
    Posts:
    12
    Im having the exact same problem KhenaB was initially.. My tileset has gaps, and following your instructions posted here or in the FAQ completely destroys and distorts my tileset.

    You can reproduce it yourself very easily, do the following:

    1. Download the free tileset here: https://opengameart.org/content/lpc-tile-atlas
    2. Import the _atlas image as a sprite map.
    3. Slice it as 32x32
    4. Make a rudimentary map with some ocean, grass, layered rock hills, etc.
    5. Press play, mess around with the camera size/distance, watch as awful gaps and lines show up everywhere.
    6. Follow the FAQ instructions exactly as they're listed, and watch as your existing map is completely destroyed and turned into different tiles, sometimes cut in half.

    Really hope a solution to this can be found soon or a flaw in my method can be pointed out, the gaps and artifact lines make the map unusable and the FAQ fix makes it worse. :(

    If this doesn't demonstrate it enough I can make and post a narrated video of the issue on Youtube later.
     
    Last edited: Mar 29, 2017
  30. CreativeSpore

    CreativeSpore

    Joined:
    Nov 6, 2014
    Posts:
    1,190
    Hi there,
    Could be the problem the texture size if bigger than the Max Size set in the import settings?
     
  31. BARKx4

    BARKx4

    Joined:
    Mar 29, 2017
    Posts:
    12
    I double checked for that, its well within import settings and I made sure it wasn't compressed or changed at all. It should be easy to see the issue if you try the texture map -- Is it possible that this map just doesnt work with your system even though its a tiled 32x32 map?
     
  32. CreativeSpore

    CreativeSpore

    Joined:
    Nov 6, 2014
    Posts:
    1,190
    Hi there,
    I see the problem. Did you use the Tileset Atlas Editor to add extrude pixels around the tiles?
    This editor is only working if you slice the atlas texture using the Tileset, not the sprite slicer of Unity. The reason is, if you slice the texture using the Spirte Editor, the sliced regions are not going to be updated when you change the texture using the Atlas Editor Window.
    Here you can see what I did to create a tileset using the textures from opengameart:
    upload_2017-4-2_19-47-6.png

    What version of Unity are you using?
     
  33. BARKx4

    BARKx4

    Joined:
    Mar 29, 2017
    Posts:
    12
    Unity is 5.5.2f1

    I thought that had solved it, but then I went and created a more complex map.

    I've put a video together to demonstrate the problem -- Theyre very very thin lines, almost not even a pixel width. Hard to see in the video almost until im zoomed out to 5 on the camera, where a very clear grid shows.

    At Ortho Size 6, everything fits perfect, but thats too far zoomed out for my game.

    https://i.gyazo.com/2753ecb5ca79b724685d4bbfd1e47972.mp4

    Here is a video of it. Try and watch where my mouse is circling in the closer zoomed segments as the problems are fairly hard to see.

    Here's a closeup example:



    And another, this time after panning the camera left a bit, the gaps flicker in and out of existence:

     
  34. BARKx4

    BARKx4

    Joined:
    Mar 29, 2017
    Posts:
    12
    Apart from the issue above, I've been trying my best to just move forward with my game and wait for replies, but now I am also having terrible problems with collision.. I just cannot seem to get it to work. :( I've attached and made some examples here.

    First, using a capsule collider as the character prefab: https://i.gyazo.com/be9b6ee8f63fa8422dceed16561358c0.mp4

    Even if this worked, it would be a horrible option.. It wouldnt be able to use the tilesystem's layering at all to occlude things.

    So, next, I made up a character controller prefab consisting of a tilemap group: https://i.gyazo.com/2a8cd0d6cc5c4807d449d9579ad192ae.mp4

    I've tried adding rigid bodies to them, I've tried going from edge collision to polygon, ive tried changing it from 2D to 3D colliders.. absolutely nothing works.
     
  35. CreativeSpore

    CreativeSpore

    Joined:
    Nov 6, 2014
    Posts:
    1,190
    Hi there,

    About the lines between the tiles. It happens mostly when you are using a free aspect game view (mostly when using an odd number of pixels).

    Also, there is some tips about this in the old forum threads, but basically, the best way to get rid of this lines when not using a pixel perfect camera is:
    - Disable Pixel Snap in the tilemap (it is disabled by default)
    upload_2017-4-5_20-30-43.png
    - Be sure the import settings of the texture is set to Filter Mode: point
    upload_2017-4-5_20-32-6.png
    Or even better, press the Optimize Tileset button in the Tileset inspector view.

    - Use the Atlas Editor Window to add extrusion to the tiles:
    upload_2017-4-5_20-37-22.png

    With all these steps it should work fine, but play with the extrude value if you still see the lines.
     
  36. CreativeSpore

    CreativeSpore

    Joined:
    Nov 6, 2014
    Posts:
    1,190
    About the colliders.
    I've used this tool to create two top down games.
    One of them can be played here: https://creativespore.itch.io/ghost-mansion

    What I did to create the player and enemy colliders is using 3D colliders for the tilemap colliders and use an sphere for the actors (like the player and the enemies)
    But you need to be sure all the colliders are at the same level. In my case, the tilemap and the actors are in the Z position 0.
    upload_2017-4-5_20-44-17.png
    upload_2017-4-5_20-45-3.png
    upload_2017-4-5_20-47-8.png
     
  37. BARKx4

    BARKx4

    Joined:
    Mar 29, 2017
    Posts:
    12
    Doing this completely destroys the tileset :( It was the first thing I tried from the FAQ.

    You can see the results here:



    I could live with that and redo the map, but it also makes the tileset completely unusable.. You can see here some of the 32x32 tiles are now cut in half or off centered:



    Here are the Atlas Editor settings I used, exactly the same as yours.. in your screenshot though I can see that the tiles are also split wrong now in the painting palette:



    My camera settings aren't anything weird either I should point out, I was just using the changed settings to illustrate. These are my camera settings, nothing ever changes with them during gameplay:

     
  38. Andrew122222

    Andrew122222

    Joined:
    Jul 8, 2012
    Posts:
    28
    Hey, is there a way of changing the animation FPS speed in code? For example, change the animation depending on a variable. I've got some tiles I've made using the animation brush.
     
  39. Rhisereld

    Rhisereld

    Joined:
    Apr 7, 2017
    Posts:
    3
    Hi,

    I am having some difficulty with the autotile feature. It seems that my brushes are autotiling with other brushes and textures in their group even when group autotiling mode is disabled.

    As seen here, I have the group set to 'default' and the autotiling mode set to 'self' for my carpet brush.


    Here is just a plain old tile in the same group.


    If I try to place these adjacent, the carpet brush attempts to autotile, which isn't what I want. This happens even if the autotiling mode is set to 'nothing'.



    If I set the plain tile to another group, there is no autotiling.



    Is there any way I can stop these from autotiling without creating a new group for every single brush? Have I missed something obvious?
     
  40. CreativeSpore

    CreativeSpore

    Joined:
    Nov 6, 2014
    Posts:
    1,190
    I think the problem here is you used a modified tileset texture.
    Copy the original texture again over the modified texture and use the same settings as I did.
    You need to be careful with the Atlas Editor to avoid this issue.
    Try again all the steps with the original texture and if you still have issues I will create a video with all the process.
     
  41. CreativeSpore

    CreativeSpore

    Joined:
    Nov 6, 2014
    Posts:
    1,190
    Yes, you can modify the AnimFPS property of any Animated Brush. But all tiles using that brush will change the animation fps.
     
  42. CreativeSpore

    CreativeSpore

    Joined:
    Nov 6, 2014
    Posts:
    1,190
    Yes, it is a bug.
    Thanks for telling me about this.
    Here is the fix and I have also attached a patch to this post.
    upload_2017-4-7_19-43-39.png
     

    Attached Files:

  43. Rhisereld

    Rhisereld

    Joined:
    Apr 7, 2017
    Posts:
    3
    Thank you very much for a prompt response :)
     
  44. BARKx4

    BARKx4

    Joined:
    Mar 29, 2017
    Posts:
    12
    This still results in a completely unusable tilemap for me.

    From the looks of your previous screenshots, it did the same thing on your end too. By unusable I mean after your method, the tilemap is shifted around and is cut in all the wrong places to actually be used.

    From your screenshot:


    From my editor:



    If you look, you can see quite easily that the tiles are cut completely wrong now.

    I am increasingly convinced something is wrong with the plugin, not wrong with what I am doing. My methodology works perfectly with 16x16 tile maps, its only when increased to 32x32 that these strange half-pixel gaps and over-runs appear on the map. I'm certain it has absolutely nothing to do with padding or extruding.

    I'm going to go through the problem again here, step by step, to hopefully make it clear:

    This is how my tileset should look when sliced:

    Please take notice that -everything- is neatly and cleanly divided as it should be.

    This is what the tileset looks like when I paint with it in the Editor -- It is PERFECT. Please take very close note of my camera -- the problems I am having are NOT the camera's fault, this is the DEFAULT camera applied to the scene from Unity. Notice that even when I zoom in and out, the tileset is seamless as it should be:



    Now, watch what happens when I press Play, using that SAME exact camera, using that SAME tile set:



    The gaps ONLY appear when I hit Play. These images in this set here have been made from a new project from scratch.. I feel like you are telling me I am processing something wrong when its increasingly clear to me I am not, because I am getting the same result every time, no matter how many ways I change things. My tiles work perfectly, until I hit Play. The camera introduces horrible streaks, gaps and artifacts -everywhere-, no matter if its settings are default or tweaked, every time, sometimes in different ways, but always in ways that make the end product unusable.

    In this example here, you can see how moving the camera around in the scene while Playing makes everything even worse, even creating a visible artefact outline around the entire drawn map:



    Using your suggested fixes break and distort my tilesets in all cases even when I bring them in from scratch. I've tried changing absolutely everything in the texture import options. I've re-made this project a dozen times, toying with the Atlas Editor. I've confirmed its NOT my tile map, too, by downloading the Unity Experimental 2D Tilemapper build, and building my map using the built in Unity Tools in that pre-beta version.

    I can't be left to conclude anything but that there is an issue with how things are being tiled in the plugin itself. If you do create a tutorial video, please use the Open Game Art assets I have linked and been using here, and show that a 32x32 top down map can be made with them that doesn't break when you hit Play, from start to finish. Sometimes the errors don't show up until you've got 2 or 3 layers in the TilemapGroup, be sure to add rocks and trees to the grass, not just one layer of terrain tiles.

    Just incase the images above aren't enough to prove what I'm trying to demonstrate, I've included the actual project as a .rar file here so you can load it and see for yourself:
     
    Last edited: Apr 9, 2017
  45. CreativeSpore

    CreativeSpore

    Joined:
    Nov 6, 2014
    Posts:
    1,190
    Hi there,

    I've been checking it and I think it was part my fault because I posted an screenshot with the final process.

    First, you are using a texture of 1024x1024 and the maximum texture size is 1024, so when you use the Atlas Editor to add extrusion, the final texture is bigger and that is cause some of the issues.

    Then, I used an screenshot with the final process, so the tileset slice settings where:
    Tile Size: 32, 32 (this is ok)
    But also, the final values for padding and offset:
    Offset: 2, 2
    and Padding: 4, 4
    These two values where supposed to be (0, 0) until you apply the new settings:
    upload_2017-4-9_16-52-17.png

    This could be a little confuse, because setting extrude also adds padding and change the Offset and Padding values of the slice settings to fit the new tile layout.
    So in this window, you only need to add the tileset (Tile Size will be filled if the tileset was already sliced)
    Set the Extrude to some value, and press Apply Settings.
    But be sure the texture used for the atlas has a max texture size enough to fit the final texture that will be bigger.

    I will also post a video with the process in a couple of minutes.
     
  46. CreativeSpore

    CreativeSpore

    Joined:
    Nov 6, 2014
    Posts:
    1,190
    Here is the promised tutorial video ;)
     
    Shodan0101 likes this.
  47. Rhisereld

    Rhisereld

    Joined:
    Apr 7, 2017
    Posts:
    3
    It would be really nice if there was multi-tile editing for parameters. It's very tedious to do it one-by-one in bulk.
     
    Shodan0101 likes this.
  48. BARKx4

    BARKx4

    Joined:
    Mar 29, 2017
    Posts:
    12
    This worked wonderfully. Thank you.
     
    CreativeSpore and Shodan0101 like this.
  49. CreativeSpore

    CreativeSpore

    Joined:
    Nov 6, 2014
    Posts:
    1,190
    I have plans to improve the edition of parameters. I hope it will be available in a future release.
    Meanwhile you can use an script to modify the selected tiles and add your parameters.
    You can access the tile selection from the selected tileset using a menuitem and add your custom paramters:
    Code (CSharp):
    1.  
    2. [MenuItem("My Tileset Tools/Add my parameters to tile selection")]
    3. private static void AddCustomParamsToTileSelection()
    4. {
    5.     if (Selection.activeObject is Tileset)
    6.     {
    7.         Tileset tileset = Selection.activeObject as Tileset;
    8.         foreach(uint tileId in tileset.TileSelection.selectionData)
    9.         {
    10.             ParameterContainer paramContainer = tileset.Tiles[(int)tileId].paramContainer;
    11.             paramContainer.AddParam("My Int Parameter", 45);
    12.             paramContainer.AddParam("My Float Parameter", 20f); //NOTE: use the f suffix to add a float parameter
    13.             paramContainer.AddParam("My String Parameter", "Hello!");
    14.         }
    15.         EditorUtility.SetDirty(tileset);
    16.     }
    17. }
    18.  
    If you need more help, let me know.
     
  50. markpollard1

    markpollard1

    Joined:
    Apr 1, 2010
    Posts:
    70
    Is there a way to have several animations on one object like for example a player which might have walk downwards, sideways and upwards animation. If so how do you set that up?