Search Unity

  1. Improved Prefab workflow (includes Nested Prefabs!), 2D isometric Tilemap and more! Get the 2018.3 Beta now.
    Dismiss Notice
  2. The Unity Pro & Visual Studio Professional Bundle gives you the tools you need to develop faster & collaborate more efficiently. Learn more.
    Dismiss Notice
  3. Let us know a bit about your interests, and if you'd like to become more directly involved. Take our survey!
    Dismiss Notice
  4. Improve your Unity skills with a certified instructor in a private, interactive classroom. Watch the overview now.
    Dismiss Notice
  5. Want to see the most recent patch releases? Take a peek at the patch release page.
    Dismiss Notice

[v3.0.1] Isometric 2.5D Toolset

Discussion in 'Assets and Asset Store' started by blackmat, Jan 16, 2015.

  1. Shilo

    Shilo

    Joined:
    Jun 8, 2014
    Posts:
    18
    I'm interested in purchasing this asset. Any news on Tiled map editor support for the latest version? Is it possible to quickly and easily create a tilemap without Tiled support?
     
  2. blackmat

    blackmat

    Joined:
    Jan 8, 2015
    Posts:
    197
    Hello. You can create tilemap with help another plugins and use it like one IsoOject in this plugin for isometric sorting.
     
    Shilo likes this.
  3. krishnaraj9

    krishnaraj9

    Joined:
    May 29, 2015
    Posts:
    3
    Hello @blackmat

    I recently bought Isometric 2.5D Plugin.

    I am working on an Endless runner type game for which I need to generate floor at run time.
    I am able to Instantiate IsoObjects but I feel its bad idea and affects performance. Instead I want to implement object pooling mechanism for it.

    I want some example or guidance for implementing pooling for IsoObjects
     
  4. blackmat

    blackmat

    Joined:
    Jan 8, 2015
    Posts:
    197
    Hello krishnaraj9!

    Best way for floor is using one IsoObject and generate tilemap (as children sprites for example) for it without IsoObject for each tile because less IsoObject is better.

    If you will implement pool then do not forget to disable IsoObject in pool (disabled IsoObjects are not sorting)
     
    krishnaraj9 likes this.
  5. krishnaraj9

    krishnaraj9

    Joined:
    May 29, 2015
    Posts:
    3
    Hello @blackmat

    Thank you for your reply.

    In your examples for movement of ISO Object you used isoRigidbody.velocity = someValue
    where someValue.y = -speed; to move in Y direction and so on.

    I wanted to ask you whether there is any option to move an object using AddForce instead of changing velocity directly.

    The problem I am facing when I change velocity is that I find some jerks in background objects... they are not moving smoothly.
     
  6. blackmat

    blackmat

    Joined:
    Jan 8, 2015
    Posts:
    197
    It's just example. You can move rigid body as you wish.
     
    krishnaraj9 likes this.
  7. Krumelur

    Krumelur

    Joined:
    Dec 11, 2017
    Posts:
    6
    Hi! I made a small test with your toolkit and found a glitch I cannot explain. Some tiles in my (very basic) project flicker. I've recorded a video. You can see it here:


    If you have any ideas what could be causing this, I'd be happy to hear from you. I'll try to send you a private download link for the project so you can check it out.
     
  8. blackmat

    blackmat

    Joined:
    Jan 8, 2015
    Posts:
    197
    I looked your example and saw two problems:
    1) Don't use IsoObject as parent for other IsoObject (Floor in your project). I'll add warning about this in the next version.
    2) Do not make any intersections between IsoObject (Floor and Tiles in your project). It's can be make some problems with sorting in the near feature.
     
  9. Krumelur

    Krumelur

    Joined:
    Dec 11, 2017
    Posts:
    6
    1 -
    If I don't make "Floor" an IsoObject it cannot have an IsoBoxCollider which means my character will fall through the floor. What's the correct way of solving this?

    2 -
    What do you mean with "intersection"? My floor is a bunch of tiles/IsoObjects. I don't want to differentiate between tiles and floor objects.

    Are you saying that instead of having one big collider for the entire floor I should have one per floor tile?
     
  10. blackmat

    blackmat

    Joined:
    Jan 8, 2015
    Posts:
    197
    1) Leave it as IsoObject but not parent for other IsoObjects in scene graph.

    > Are you saying that instead of having one big collider for the entire floor I should have one per floor tile?

    No, no, one big collider for floor it's good! But do not intersect different IsoObject bounds. You can make floor like 10x10x0 and put it on your tiles IsoObjects for example.
     
    Krumelur likes this.
  11. Krumelur

    Krumelur

    Joined:
    Dec 11, 2017
    Posts:
    6
    Do you have a recommendation for setting the "Pixels per unit" property? When using real 2D sprites I would maybe say my main character is a human being 2m tall and its sprite has a height of 200. So setting this value to 100 would be a good ratio.

    But in isometric world the pixel sizes don't seem to quite work. Would I instead think in iso coordinates? As in: my 2m main character is 2 iso units tall, so I'd set the value to 1 instead?
     
  12. krishnaraj9

    krishnaraj9

    Joined:
    May 29, 2015
    Posts:
    3
    Thank you for reply.
    But I see background objects are not moving smoothly.
    Is there any solution for it.
     
  13. Krumelur

    Krumelur

    Joined:
    Dec 11, 2017
    Posts:
    6
    Hi!

    What exactly is the purpose of "IsoParent"? I understand it is used as the parent node for a collection of IsoNodes but what is it doing and why is it required?

    Thanks!
     
  14. blackmat

    blackmat

    Joined:
    Jan 8, 2015
    Posts:
    197
    Just for easy moving IsoObjects groups :)
     
  15. Anemor2000

    Anemor2000

    Joined:
    Jun 12, 2015
    Posts:
    34
    Hi there. Was wondering if you have a solution for this. The iso toolkit calculates depth only when isoboxes of each object collide. This is really annoying for us because we have sprites that are bigger then the isobox, therefore the depth on these objects is wrong as soon as the 2 iso box do not touch. We simply cannot have all our sprites fit their iso box for various reasons, is there any ways to deal with this? Perhaps something that calculates depths once then reorder upon collision?
     
  16. blackmat

    blackmat

    Joined:
    Jan 8, 2015
    Posts:
    197
    Hello!
    Toolset can makes right sorting only by iso bounds. It means that all iso object should have correct iso bounds around them.
     
  17. Sylmerria

    Sylmerria

    Joined:
    Jul 2, 2012
    Posts:
    143
    Hey @blackmat ,

    An update soon for fix warning in 2017.3 ?
     
  18. blackmat

    blackmat

    Joined:
    Jan 8, 2015
    Posts:
    197
    Hi lenneth78! :) Already in asset store review. In a few days will be available for download.
     
    Sylmerria likes this.
  19. joeosborne8122

    joeosborne8122

    Joined:
    Feb 12, 2018
    Posts:
    1
    Hello Blackmat,

    I purchased your asset yesterday but I dont think I have the adequate skillset necessary to use it, only new to unity and am not sure I will be needing your asset. What is your refund policy?
     
  20. blackmat

    blackmat

    Joined:
    Jan 8, 2015
    Posts:
    197
    Hi! Write me personal message here or to support email with "order number"
     
  21. Alegev

    Alegev

    Joined:
    Feb 14, 2017
    Posts:
    4
    hello everyone! is there a pathfinding tool that good to use with isometric 2.5D toolset? i'm going to make a simpark game that need an effcient pathfinding tool.
     
  22. AlexNanomonx

    AlexNanomonx

    Joined:
    Jan 4, 2017
    Posts:
    10
    Hi Blackmat, We just updated to the latest version and our code uses scaling to simulate the rotation of isometric objects. We're now getting the warning "Don't change 'transform.scale' for IsoObject and its parents!", which also prevents us from changing the scale. I won't go into details about why we need to do this, as opposed to just scaling the images but suffice to say it'll require a pretty significant rewrite if we can't simply rotate the game object. Does this warning solve some major bugs? If it does, I'll do the rewrite; however, if it's just to help people change the IsoObject variables rather than the transform, I'll disable the warning.

    @Alegev We used this if you're still looking for a pathfinding tool. It did the trick for us, but it took a bit of work to get it going nicely with Isometric 2.5d Toolkit https://assetstore.unity.com/packages/tools/ai/astar-2d-tile-based-pathfinding-43604
     
  23. blackmat

    blackmat

    Joined:
    Jan 8, 2015
    Posts:
    197
    Hello Alex!
    Unfortunately yes, it's will can create big problems with sorting algorithm.
     
  24. unity01_csu

    unity01_csu

    Joined:
    Nov 13, 2015
    Posts:
    4
    Hello @blackmat !

    We've encounted draw order glitch like #307.
    Have we way to intersect multiple IsoObject safely?
    Our product required to allow intersect each player, enemies and some props without collide.
     
  25. mayakanai65

    mayakanai65

    Joined:
    Mar 24, 2018
    Posts:
    4
    Hello @blackmat , I tried searching this thread for the answer and could not find anything, so if this issue was there, my apologies.

    I am having trouble with some of my colliders. They work with the ground but are not working with my invisible walls and grass. Here is a screenshot of my level:



    My ground, wall, and grass files each have an iso box collider on defaults and iso rigidbody with defaults except kinematic is checked.

    Colliding against the floor works perfectly. However, I completely go through the wall and the grass. What am I doing wrong? Thank you in advance!
     
  26. blackmat

    blackmat

    Joined:
    Jan 8, 2015
    Posts:
    197
    Unfortunately no. I have not rules for sorting intersected objects.

    I can't help without sample with this problem.
     
  27. mayakanai65

    mayakanai65

    Joined:
    Mar 24, 2018
    Posts:
    4
    What examples do you need? Here's is a video of my problem as well:

     
  28. blackmat

    blackmat

    Joined:
    Jan 8, 2015
    Posts:
    197
    I need to see scene settings, objects setting, collider and rigid body settings, etc.. The bestest way for it send me unity projects with this problem.
     
  29. mayakanai65

    mayakanai65

    Joined:
    Mar 24, 2018
    Posts:
    4
    Where can I send you the unity project? I cannot seem to find an email for you.
     
  30. unity01_csu

    unity01_csu

    Joined:
    Nov 13, 2015
    Posts:
    4
    Thanks for your reply. We'll going to find any solution.
     
  31. blackmat

    blackmat

    Joined:
    Jan 8, 2015
    Posts:
    197
    Support email: blackmatov@gmail.com
     
  32. mayakanai65

    mayakanai65

    Joined:
    Mar 24, 2018
    Posts:
    4
    hi @blackmat , I seem to be having another problem. In one of my levels, I have multiple floors the player can go on. The collisions and all work great, however, if I'm falling and I hit a wall while still moving, my character stays on the wall and gravity becomes nonexistent. Here's a video of my problem:



    I know it's a little hard to see, and I tried to show it off as best as I could, but whenever I went off the ledge, I didn't start falling until I left go of my input.

    I looked online for a solution, and they said to try what I have below, but I assume since it's a different type of rigidbody that it needs to be approached differently. Thanks in advance for your help!

    Here's my movement code (inside the Update() function):
    Code (CSharp):
    1. if (Input.GetButton("Down")) {
    2.                 targetSpeed = new Vector3(-8, 0, 0);
    3.                 isoRigidBody.AddForce(targetSpeed - isoRigidBody.velocity, ForceMode.VelocityChange);
    4.             }
    5.             else if (Input.GetButton("Up")) {
    6.                 targetSpeed = new Vector3(8, 0, 0);
    7.                 isoRigidBody.AddForce(targetSpeed - isoRigidBody.velocity, ForceMode.VelocityChange);
    8.             }
    9.             else if (Input.GetButton("Right")) {
    10.                 targetSpeed = new Vector3(0, -8, 0);
    11.                 isoRigidBody.AddForce(targetSpeed - isoRigidBody.velocity, ForceMode.VelocityChange);
    12.             }
    13.             else if (Input.GetButton("Left")) {
    14.                 targetSpeed = new Vector3(0, 8, 0);
    15.                 isoRigidBody.AddForce(targetSpeed - isoRigidBody.velocity, ForceMode.VelocityChange);
    16.             }
     
  33. wizbitz

    wizbitz

    Joined:
    Mar 6, 2017
    Posts:
    3
    HI, I am loving this toolkit but I want to rotate the velocity controls so that up is screen up, is there an easy way to do this and maintain 360 degree movement?

    Also I have playmaker also if that helps.
     
  34. wizbitz

    wizbitz

    Joined:
    Mar 6, 2017
    Posts:
    3
    Sorry! this always happens when I post questions, its normally a go time for a break! I just stored the inputs, added the Y Axis to the X axis, and subtracted the X Axis from the Y axis and then applied velocity.
     
    blackmat likes this.
  35. INFININC

    INFININC

    Joined:
    Apr 23, 2017
    Posts:
    1
    I`m a noob and I can't rotate my iso colliders . need help ASAP
     
  36. blackmat

    blackmat

    Joined:
    Jan 8, 2015
    Posts:
    197
    Hello! You can't rotate IsoObjects because it's not 3D it's fake 3d and rotations not supported :)
     
  37. Daimios

    Daimios

    Joined:
    Jul 11, 2018
    Posts:
    5
    Hi,

    Is there any feedback on the compatibility of this asset with A*Pathfinding Project ?

    Thanks!
     
  38. Alegev

    Alegev

    Joined:
    Feb 14, 2017
    Posts:
    4
    Hello, Daimios.
    I have tried this tool with A*Pathfinding Project Pro several weeks ago, and what I learned was the 'isometric grid graph' in the A* tool is hard to use with this IsoObject's position directly, and the collider to scan in A* tool is different with the IsoCollider in this Isometric tool.

    So, I tried another easy way that I simply used the grid graph in the A* tool, and for every IsoObject, I have created a virtual obj for pathfinding, it stores and modifies every node info from the A* tool by coding, everything seems ok then.

    However, I think this Isometric tool is better use to make some static show by itself, a little difficult to integrate with others.
     
  39. Pepperoni92

    Pepperoni92

    Joined:
    Oct 26, 2014
    Posts:
    4
    Hi @blackmat

    Just purchased your toolset, and it looks pretty good so far. But, I want to be able to programmatically generate my tiles through a script instead of drawing in the editor. Is that possible with your toolset?

    Also, I noticed that when you import the Tiled file it displays the tiles as a mesh instead of individual game objects. Is is possible to programmatically generate a map using your toolset with the floors on a mesh?
     
  40. blackmat

    blackmat

    Joined:
    Jan 8, 2015
    Posts:
    197
    Hello Pepperoni92!

    Best way for ground is use self own project specific map with chunks. And use one IsoObject per chunk (32x32 tiles for example). For tiles into chunk best way is use some other plugin for Tiled integration for example or generate one mesh manually.
     
  41. Jhon_smith023

    Jhon_smith023

    Joined:
    Sep 1, 2018
    Posts:
    5
    Hi @blackmat

    Is it possible to make a collider vertically when this angle is set to 45 ° with this asset?
     
  42. blackmat

    blackmat

    Joined:
    Jan 8, 2015
    Posts:
    197
    Hello @Jhon_smith023! Unfortunately rotation of iso objects is disallowed.
     
  43. Jhon_smith023

    Jhon_smith023

    Joined:
    Sep 1, 2018
    Posts:
    5
    Thank you for your reply!@blackmat
    Is there any solution?
    The ordinary box collider seems to penetrate. samplesean.jpg
     
  44. blackmat

    blackmat

    Joined:
    Jan 8, 2015
    Posts:
    197
    Hmmm, in this case you can make two IsoWorld for example.
    1) for tiles with 45 angle
    2) for building, brushes, the hero and colliders in 90 angles.
    Like Scene09 in examples.
     
  45. Jhon_smith023

    Jhon_smith023

    Joined:
    Sep 1, 2018
    Posts:
    5

    Thank you@blackmat
    I tried that, but obviously Coliders does not seem to interfere with the two worlds.
    The collision occurs at the position assumed that Isoworld 2 has rotated by 45 °.

    isoworld.jpg
     
  46. blackmat

    blackmat

    Joined:
    Jan 8, 2015
    Posts:
    197
    So... Rotation of iso objects is disallowed because depth sorting object in this angle will be wrong. But I can add this feature for invisible iso objects. (colliders only without sprites).
     
  47. Jhon_smith023

    Jhon_smith023

    Joined:
    Sep 1, 2018
    Posts:
    5
    How can I solve it? It will be a great help if you add it with update.
    (I am sorry that my English is so bad)
     
  48. blackmat

    blackmat

    Joined:
    Jan 8, 2015
    Posts:
    197
    Yes, I thinking about it and added in TODO list.
     
  49. Jhon_smith023

    Jhon_smith023

    Joined:
    Sep 1, 2018
    Posts:
    5
    Thank you! We are waiting for good news!
     
  50. Zebius

    Zebius

    Joined:
    Oct 7, 2018
    Posts:
    2
    Hi @blackmat

    I would like to do this kind of operation method, but how do you think is the most clever change?
    I am in trouble because isoworld can not change the rotation. . .

    Code (CSharp):
    1.         var iso_rigidbody = GetComponent<IsoRigidbody>();
    2.         if (iso_rigidbody)
    3.         {
    4.      
    5.             float x = Input.GetAxisRaw("Horizontal");
    6.  
    7.        
    8.             float y = Input.GetAxisRaw("Vertical");
    9.  
    10.      
    11.             Vector2 direction = new Vector2(x,y).normalized;
    12.  
    13.          
    14.             GetComponent<IsoRigidbody>().velocity = direction * speed;
    15.         }
     

    Attached Files: