- Home /
Interactive Hexagon Map Errors
So, i'm making this Hexmap for a school assignment i'm working on, but suddenly when i was trying to test if it worked, the "highlight" of the cells seems all jumbled up, instead of highlighting the cell i'm clicking on it highlights another cell in the grid and i can't understand why, and sometimes it gives me an error in certain parts of the grid. I'm sure i did all accordingly to the tutorial i was following : https://catlikecoding.com/unity/tutorials/hex-map/part-1/
The canvas is set right, and i'm positive i did the other things word to word :( what am i missing? i need to deliver this assignment in a few days, so any help is appreciated, really!
Errors :
EDIT : I'm attaching the script on which I THINK i did something wrong :
using UnityEngine;
[System.Serializable]
public struct HexCoordinates
{
[SerializeField]
private int x, z;
public int X
{
get
{
return x;
}
}
public int Z
{
get
{
return z;
}
}
public int Y
{
get
{
return -X - Z;
}
}
public HexCoordinates (int x, int z)
{
this.x = x;
this.z = z;
}
public static HexCoordinates FromPosition (Vector3 position)
{
float x = position.x / (HexMetrics.innerRadius * 2f);
float y = -x;
float offset = position.z / (HexMetrics.outerRadius * 3f);
x -= offset;
y -= offset;
int iX = Mathf.RoundToInt(x);
int iY = Mathf.RoundToInt(y);
int iZ = Mathf.RoundToInt(-x - y);
if (iX + iY + iZ != 0)
{
float dX = Mathf.Abs(x - iX);
float dY = Mathf.Abs(y - iY);
float dZ = Mathf.Abs(-x - y - iZ);
if (dX > dY && dX > dZ)
{
iX = -iY - iZ;
}
else if (dZ > dY)
{
iZ = -iX - iY;
}
//Debug.LogWarning("rounding error!");
}
return new HexCoordinates(iX, iZ);
}
public static HexCoordinates FromOffsetCoordinates (int x, int z)
{
return new HexCoordinates(x - z / 2, z);
}
public override string ToString()
{
return "(" + X.ToString() + ", " + Y.ToString() + ", " + Z.ToString() + ")";
}
public string ToStringOnSeparateLines ()
{
return X.ToString() + "\n" + Y.ToString() + "\n" + Z.ToString();
}
}
Your answer
Follow this Question
Related Questions
Best practices for interactive hexagon map? 1 Answer
Assigning UV Map to model at runtime 0 Answers
Making A hex map, want some random generation, could use ideas. 1 Answer
Error with Raycast hit.transform 1 Answer
Part of mesh is invisible in game window but it's normal in the editor window 1 Answer