Описание
Возвращает первый экземпляр Material, назначенный средству визуализации.
Изменение material
изменит материал только для этого объекта.
vЕсли материал используется какими-либо другими модулями визуализации, общий материал будет клонирован и с этого момента начнется его использование.
Примечание.
Эта функция автоматически создает экземпляры материалов и делает их уникальными для данного средства визуализации. Вы несете ответственность за уничтожение материалов при уничтожении игрового объекта. Resources.UnloadUnusedAssets также уничтожает материалы, но обычно вызывается только при загрузке нового уровня.
using UnityEngine;
using System.Collections;
public class ExampleClass : MonoBehaviour
{
Material m_Material;
void Start()
{
//Fetch the Material from the Renderer of the GameObject
m_Material = GetComponent<Renderer>().material;
print("Materials " + Resources.FindObjectsOfTypeAll(typeof(Material)).Length);
}
void Update()
{
if (Input.GetKeyDown(KeyCode.A))
{
//Output the amount of materials before GameObject is destroyed
print("Materials " + Resources.FindObjectsOfTypeAll(typeof(Material)).Length);
//Destroy GameObject
Destroy(gameObject);
}
}
void OnMouseOver()
{
// Change the Color of the GameObject when the mouse hovers over it
m_Material.color = Color.red;
}
void OnMouseExit()
{
//Change the Color back to white when the mouse exits the GameObject
m_Material.color = Color.white;
}
void OnDestroy()
{
//Destroy the instance
Destroy(m_Material);
//Output the amount of materials to show if the instance was deleted
print("Materials " + Resources.FindObjectsOfTypeAll(typeof(Material)).Length);
}
}