Unity对象池对象不可见

Unity Object Pool Objects Invisible

下面的代码显示了我所做的。 (Pooled square是我在另一个c#文件中设置的游戏对象)

[SerializeField] private Camera mainCamera;
private List<GameObject> PooledSquares = new List<GameObject>();
private Camera cam;

// Update is called once per frame
void Update()
{
    if (Input.GetKeyDown(KeyCode.Mouse0)) {

        Vector3 MousePosition = mainCamera.ScreenToWorldPoint(Input.mousePosition);
        GameObject pooledSquare =  ObjectPool.SharedInstance.GetPooledObject();

        if (pooledSquare != null)
        {
            pooledSquare.SetActive(true);
            pooledSquare.transform.position = MousePosition;
        }
    }
}

没有语法错误或节点错误,所有的物理工作如刚体,对象只是不可见。然后我意识到我没有预制件。所以我做了一个预制件。还是一样的问题。如果您需要更多信息,请联系我。

感谢您的帮助。

var mousePosition = Input.mousePosition;
mousePosition.z = 5f; // world position from the camera.

你应该给一个z位置,否则它是0,这意味着物体被放在相机的位置。