[英]How can i add a renderer to gameobject in script?
GameObject cube = Cube.CreatePrimitive(Cube.CubePivotPoint.UPLEFT);
cube.GetComponent<Renderer>().material.color = Color.blue;
當我分配顏色時,我在行上遇到了異常:
cube.GetComponent<Renderer>().material.color = Color.blue;
MissingComponentException:游戲對象“ CubeHolder”沒有附加“ Renderer”,但是腳本正在嘗試訪問它。 您可能需要向游戲對象“ CubeHolder”添加渲染器。 或者您的腳本需要在使用組件之前檢查組件是否已連接。
注意 :
我從這個答案中使用CUBE
類來創建一個多維數據集,而不是Unity的GameObject.CreatePrimitive
函數。
當我編寫CUBE class
,我忘記提到多維數據集的渲染器現在是另一個Object的子代。
您無需將Renderer
或MeshRenderer
添加到多維數據集。 它已經在那里。 多維數據集只是一個子對象,父對象名為CubeHolder 。 您需要使用GetComponentInChildren
來獲取其Renderer
。
cube.GetComponent<Renderer>().material.color = Color.blue;
現在應該是:
cube.GetComponentInChildren<Renderer>().material.color = Color.blue;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.