言語: 日本語
  • C#
  • JS
  • Boo

スクリプト言語

お好みのスクリプト言語を選択すると、サンプルコードがその言語で表示されます。

Renderer.material

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Sumbission failed

For some reason your suggested change could not be submitted. Please try again in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

Switch to Manual
public var material: Material;
public Material material;
public material as Material

Description

このオブジェクトのマテリアル

Modifying material will change the material for this object only. If the material is used by any other renderers, this will clone the shared material and start using it from now on. Important note: This function automatically instantiates the materials and makes them unique to this renderer. It is your responsibility to destroy the materials when the game object is being destroyed. Resources.UnloadUnusedAssets also destroys the materials but it is usually only called when loading a new level.

	function Awake ()
	{
		// Set main color to red
		renderer.material.color = Color.red;
	}

	function OnDestroy ()
	{
		DestroyImmediate(renderer.material);
	}
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour {
    void Awake() {
        renderer.material.color = Color.red;
    }
    void OnDestroy() {
        DestroyImmediate(renderer.material);
    }
}
import UnityEngine
import System.Collections

public class ExampleClass(MonoBehaviour):

	def Awake() as void:
		renderer.material.color = Color.red

	def OnDestroy() as void:
		DestroyImmediate(renderer.material)

Another example:

	// Change renderer's material each changeInterval/
	// seconds from the material array defined in the inspector.

	var materials : Material[];
	var changeInterval = 0.33;

	function Update () {
		if (materials.Length == 0) // do nothing if no materials
			return;

		// we want this material index now
		var index : int = Time.time / changeInterval;
		// take a modulo with materials count so that animation repeats
		index = index % materials.Length;
		// assign it to the renderer
		renderer.sharedMaterial = materials[index];
	}
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour {
    public Material[] materials;
    public float changeInterval = 0.33F;
    void Update() {
        if (materials.Length == 0)
            return;
        
        int index = Time.time / changeInterval;
        index = index % materials.Length;
        renderer.sharedMaterial = materials[index];
    }
}
import UnityEngine
import System.Collections

public class ExampleClass(MonoBehaviour):

	public materials as (Material)

	public changeInterval as float = 0.33F

	def Update() as void:
		if materials.Length == 0:
			return
		index as int = (Time.time / changeInterval)
		index = (index % materials.Length)
		renderer.sharedMaterial = materials[index]