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

Grid.GetCellCenterWorld

建议更改

成功!

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

关闭

提交失败

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

关闭

取消

声明

public Vector3 GetCellCenterWorld(Vector3Int position);

参数

position 网格单元格位置。

返回值

Vector3 转换到世界空间坐标的单元格中心。

描述

获取网格单元格在世界空间中的逻辑中心坐标。

在矩形网格布局中,对 GridLayout.CellToWorld 的调用带有 Vector3Int 参数,返回一个 Vector3 坐标,该坐标表示单元格的左下角。这在数学上是正确的,但在例如将 GameObject 实例化到网格中时,您通常更喜欢单元格的中心。

// Snap the GameObject to parent Grid center of cell
using UnityEngine;

public class ExampleClass : MonoBehaviour { void Start() { Grid grid = transform.parent.GetComponent<Grid>(); Vector3Int cellPosition = grid.WorldToCell(transform.position); transform.position = grid.GetCellCenterWorld(cellPosition); } }