Unity 检测相机背后的游戏对象

Unity detecting GameObjects behind Camera

我有一个地图游戏对象,它有 8x8 个孩子,按行和列设置。英雄可以在边缘上循环,即从 [0,0] 到 [8,0]。那部分效果很好,但是你看不到边缘的位置,所以我设置了一个脚本,它将把相机后面的瓷砖复制到相机的视野中。

for (int i = 0; i < transform.childCount; i++) {
    Transform child = transform.GetChild(i);
    if (child.position.z < Camera.current.transform.position.z) {
        Vector3 offset = new Vector3(0,0,8);
        child.transform.position += offset;
    }
}

这个问题是摄像机在英雄身上使用了跟随脚本,所以它也有旋转。 如何编辑上面的脚本以仅移动相机视线之外的孩子,并根据方向以正确的偏移量移动它们? 所以在下图中,我想将瓷砖从红色标记移到绿色标记。现在是 16 x 16,因为它看起来更好:)

在这些图块渲染器上使用 Renderer.isVisible 方法。