我想使用腳本產卵預製。這是代碼,代碼寫在遊戲面板中。團結產卵預製
Network.Instantiate (ninjaPreFab, new Vector3 (-53, -34, 0), Quaternion.identity, 0);
但是,它不是在畫布內產卵。相反,它總是在畫布之外產生,這意味着它不是畫布的子項,因此不會出現在遊戲內部,因爲我正在使用渲染 - 疊加相機。我已經嘗試將畫布的排序順序設置爲-1,但仍然無效。我知道它產生了,因爲編輯清楚地表明有這個新對象。
我想使用腳本產卵預製。這是代碼,代碼寫在遊戲面板中。團結產卵預製
Network.Instantiate (ninjaPreFab, new Vector3 (-53, -34, 0), Quaternion.identity, 0);
但是,它不是在畫布內產卵。相反,它總是在畫布之外產生,這意味着它不是畫布的子項,因此不會出現在遊戲內部,因爲我正在使用渲染 - 疊加相機。我已經嘗試將畫布的排序順序設置爲-1,但仍然無效。我知道它產生了,因爲編輯清楚地表明有這個新對象。
問題解決了。我不應該在畫布中產生遊戲對象/精靈。畫布僅用於UI。
如果使用新的Unity UI,GUI元素必須是畫布遊戲對象的子元素,並且它們的座標必須設置在畫布的邊界內,而不是太靠近相機近剪裁平面(在視錐內)如果他們要在屏幕上可見。如果使用UI畫布,請查看Unity UI教程here。
根據您的代碼段,看起來您的UI元素由於座標值上的負號而不可見。嘗試將它們改爲正值,看看會發生什麼。此外,父母的UI元素的畫布是這樣的:
var newUIElement = Network.Instantiate (ninjaPreFab, new Vector3 (53, 34, 0), Quaternion.identity, 0);
newUIElement.transform.parent = canvas;
http://forum.unity3d.com/threads/instantiating-prefab-with-canvas.266532/ – MickyD