我在Assert中有兩個預製件;在我的場景中,我有兩個預製件的實例。我試圖用按鈕單擊來改變一個預製件的所有實例的顏色,但是我得到的結果是兩個預製件的所有實例的顏色都改變了。我如何指定在特定功能內更改預製件?我猜gameObject是指我場景中的所有gameObjects,可能這就是爲什麼所有的實例都會改變顏色。更改預製實例的顏色
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class eventSensors : MonoBehaviour {
// Use this for initialization
void Start() {
}
// Update is called once per frame
void Update() {
}
public void tempSensor() {
print("estas en la funcuion de tempSensor");
// this.gameObject.GetComponent<Renderer>().material.color = Color.red;
//gameObject.GetComponent<Renderer>().sharedMaterial.color = Color.red;
var prefab= Instantiate(gameObject, transform.position, transform.rotation);
prefab.GetComponent<Renderer>().material.SetColor("_Color", Color.red);
}
public void lightSensor()
{
print("estas en la funcuion de lightSensor");
gameObject.GetComponent<Renderer>().sharedMaterial.color = Color.green;
}
//Sent to all game objects before the application is quit
//this is called when the user stops playmode.
private void OnApplicationQuit()
{
//reset all prefab color to default
gameObject.GetComponent<Renderer>().sharedMaterial.color = Color.white;
}
}
是的,我只有一個單一的材料文件夾中的proyect –
無需創建多個材料:看我的答案。 – Kardux
建議:發佈你的問題,關於你如何使ti工作作爲你的問題的答案。 – starbeamrainbowlabs