我正在使用Unity开发一个等轴投影游戏,需要知道单元格在世界坐标系中的中心点。我使用了tilemap的
以下是我用于“选择”图块的代码:
GetCellCenterWorld()
方法,但是它返回了错误的结果。我期望得到的是这里的单元格中心(基本上是逻辑中心),但是Unity返回的是这里的结果(单元格的顶部顶点?)。我认为这可能与精灵的枢轴点(现在设置为其顶部中心)或tilemap属性中单元格锚点的设置有关(我将其设置为(1,1))。以下是我用于“选择”图块的代码:
public class GridSelection : MonoBehaviour
{
public Tilemap tilemap;
public Transform selector;
void Update()
{
Vector3 worldPos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
worldPos.z = 0;
Vector3Int tilemapPos = tilemap.WorldToCell(worldPos);
selector.position = tilemap.GetCellCenterWorld(tilemapPos);
}
}
如何获取单元格的实际中心点?