Isometric Depth Sorting Isometirc Collisions Isometric Physics Mouse & Touch inputs GridMap datastructures Supportive editor extensions to speed up level design, such as:
custom handles for isometric directions
Isometric snapping
Precise positioning Approx. 480 diffrent sprites for 3 diffrent settings
Medieval Kingdom
City Buildings/Cars/Roads/…
Exoplanet/Sci-Fi Sample Character Controllers for:
TurnBased Games
Continuous Movement
Discrete Movement
Movement restricted by Collision Detection
Tower defense games 5 Sample Scenes Easing-Functions
move objects around in more natural ways Procedual Level Generation
save time by generating levels
I did not check out the Playmaker Asset yet.
But sprite movements are supported currently.
Easing functions, moveToPosition functions, movement per frame, etc.
I can access all of those features using playmaker’s get/set property, but there are some issues with playmaker when exporting to ios when we use a lot of get set property, having native actions for it would sort the problem, I had a look at your code and though I dont fully understand it ( I could only figure out the maths for positioning) I think that a proficient coder would easily port it to playmaker (maybe the guys at hutonggames.com could help you?).
Also, how would I do to have a character follow the contour of a tile, I mean, if we have a ramp and we want the character to smoothly go over it, like you have in your towerdefense scene , where they go over a slightly curved bridge,but without using nodes?
A controller that moves along a set of nodes seems quite handy to me. To make your objects move up a ramp, just add another node that is positioned upwards slightly.
Hi There,
so I got some troubles setting up the iso Object size of a certain sprites. Especially when the sprites have different tilesize. It always messes up with the sorting. Setting up the pivot point of the sprite is also a struggle too for me. Can you give me some best practices on how to do all these on using the toolkit? I also attached a screenshot, so you can have a better perspective on what i meant.
Hi Steve,
your problem is a known issue. Setting up the pivot point is basically up to you, but I get best results putting it right to the center or at least very close to it. I will later explain why.
About the overlapping parts of your sprites. I put a lot of work and effort into finding a solution for this, but I guess there isn’t any better solution than what I have found.
The problem is this: If sprites differ a lot in size these overlapping areas will occur, no matter what.
This is because each sprite gets not only a position (x,y) but also a depth in 3d space. This depth applies for the whole sprite ( or for all pixels), where you’d probably want want to calculate this for each pixel individually with individual positions to get perfect results and no overlapping areas (this does not work) .
For your example.The whole temple has a single calculated position including the depth (transform.position) which has best accuracy at its pivot. The same goes for the groundtiles and every other sprite.
The stairway of your temple has the same position as the rest of it, while the groundtile’s position when calculated is in front of the temple(switch to 3d perspective to see this).
In essence the stairway is to far away from its pivot relative to the most outer pixels of the groundtiles.
Now there are 2 solutions for this.
You split up your temple into smaller individual chunks so that there are different positions for (stairway, roof, basement, etc.) to calculate a depth from. This technique is well known amongst other isometric game engines. I would highly suggest to use this approach.
You use the layers of the sprite renderer to generate disjunct areas such as ( underground, 1st floor, 2nd floor, etc.) Just choose ascending numbers for your layers in your scene.
How does it handle Colliders? Lets say I want to add an OnMouseDown on an IsometricTile, it’s simple as adding my script which contains the OnMouseDown function to the IsometricTile? Or I have to do something else? Looking at the documentation I saw something about Ghost field in the IsoCollider and from what I have seem, the object that has IsoCollider itself doesnt seem to have any kind of Collider within, which makes me concerned if the object will handle OnMouseDown properly.
Also: How does the iso object monobehaviour behaves if the gameObject is child of a non-iso object, and the father moves…
I’m considering this asset for a 2d isometric farm-like game
Hi. With the new update 1.3 I improved the whole isometric collision and physics part.
Yes. IsoColliders are now just Mesh colliders that are properly generated by the IsoCollider script.
All you have to do is mark them as convex in the editor.
I skipped the whole idea of ghost objects (3d cubes) that would link themself to an IsoObject and mirror their movements.
IsoRigidbodys are obsolete now too. You can use the standard Rigidbody with all its functionalities (explosion forces, drag, etc.). As long as your Scripts would work on a regular 3d object, they should work on an IsoObject too.
So I do not see any problem for clicking/selecting/dragging and using the standard callbacks OnMouseOver/Enter/Exit
An IsoObject’s functionality can be boiled down to this: It is wrapper for the standard Transform component and offers custom handles and editor tools for proper positioning. So that you can not only read or apply a position via transform.Position = value, but also isoObject.Position = value. Which will project your input vector value to an isometric perspective and then apply it to the transform.Position. This projection is isomorphic. It works both ways.
If you now move your object (with or without an IsoObject script attached) its child object would move with it, just like you are used to in Unity and the IsoObject.Position and Transform.Position would update themself.
Please note that a childs object position in Unity is relative to its parent’s position, the same applies to an IsObject since it just wraps the transform.Position value.
Given nice looking Sprites for your isometric farm game I would say you can safe a lot of time and money using the toolkit and end up with good results.
I put now more than 100 hours of recherche and coding in it. Updating it constantly to meet customer demands and giving support to the best of my knowledge.
Not to mention the performance increase since you skip the whole 3d rendering and lighting part.
hi .
i want to ask about isometric toolkit lite version
functionally, is there any difference between pro version and lite version besides example scene?
also is there possible if i want to make movement like “touch/click - move” using raycast physics?