簡體   English   中英

如何在腳本中向游戲對象添加渲染器?

[英]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的子代。

您無需將RendererMeshRenderer添加到多維數據集。 它已經在那里。 多維數據集只是一個子對象,父對象名為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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM