版本:Unity 6 (6000.0)
语言English
  • C#

Tilemap.GetCellCenterLocal

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交,但我们确实阅读了用户提出的每一个建议更改,并在适用的情况下进行更新。

关闭

提交失败

由于某些原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

声明

public Vector3 GetCellCenterLocal(Vector3Int position);

参数

position 网格单元格位置。

返回值

Vector3 返回转换到本地空间坐标的单元格中心。

描述

获取本地空间中 Grid 单元格的逻辑中心坐标。 Tilemap 单元格的逻辑中心由 Tilemap 的 Tile Anchor 定义。

在矩形网格布局中,使用 Vector3Int 参数调用 GridLayout.CellToLocal 将返回一个 Vector3 坐标,表示单元格的左下角。虽然在数学上是正确的,但您可能更喜欢单元格的中心,例如在将 GameObject 实例化到网格中时。

// Snap the GameObject to parent Tilemap center of cell
using UnityEngine;
using UnityEngine.Tilemaps;

public class ExampleClass : MonoBehaviour { void Start() { Tilemap tilemap = transform.parent.GetComponent<Tilemap>(); Vector3Int cellPosition = tilemap.LocalToCell(transform.localPosition); transform.localPosition = tilemap.GetCellCenterLocal(cellPosition); } }