int index = 0; RaycastHit hit; Vector3 startPos = new Vector3(0, 0, 0); GameObject cube = new GameObject(); cube.name = "cube"; cube.transform.localScale = new Vector3(this.m_GridSize, this.m_BaseHight, this.m_GridSize); cube.transform.SetParent(node.transform); for (int i = GirdLength-1; i >= 0; i--) { Vector3 pos = startPos; for (int j = 0; j < GirdWidth; j++) { cube.transform.localPosition = pos; pos.x += m_GridSize; Ray ray = new Ray(cube.transform.position + Vector3.up * 1000, Vector3.down); bool res = Physics.Raycast(ray, out hit, 1000f); if (res) { if (hit.transform.gameObject.layer == 10) { var height = ((hit.point.y - m_BaseHight) * HEIGHT_FLOAT_VAL); mapHeightArr[index++] = (short)height; } else { mapHeightArr[index++] = 0; } } else { mapHeightArr[index++] = 0; } IsFinsh = true; } startPos.z += m_GridSize; } 这段代码是从左上角开始遍历格子吗
时间: 2024-02-10 20:22:32 浏览: 179
Unity3D脚本:快速判断手势是上下左右2
不是的,这段代码是从左下角开始遍历格子的。
在代码中,首先设置了一个名为 `startPos` 的起始坐标,其值为 `(0,0,0)`,然后在外层循环中,每次循环时将 `startPos` 的 `z` 坐标加上一个 `m_GridSize`,也就是格子的边长,这样就能够往上遍历格子了。
因此,这段代码是从左下角开始遍历,而不是从左上角开始遍历。
阅读全文