Version: 2021.3
public Texture mainTexture ;



By default, Unity considers a texture with the property name "_MainTex" to be the main texture. Use the [MainTexture] ShaderLab Properties attribute to make Unity consider a texture with a different property name to be the main texture. When the main texture is set using the [MainTexture] attribute, it is not visible in the Game view when you use the texture streaming debugging view mode or a custom debug tool.

这与调用将主纹理属性名称作为参数的 Material.GetTextureMaterial.SetTexture 相同。


// Change main texture each changeInterval/
// seconds from the texture array defined in the inspector.

using UnityEngine; using System.Collections;

public class ExampleClass : MonoBehaviour { public Texture[] textures; public float changeInterval = 0.33F; public Renderer rend;

void Start() { rend = GetComponent<Renderer>(); }

void Update() { if (textures.Length == 0) return;

int index = Mathf.FloorToInt(Time.time / changeInterval); index = index % textures.Length; rend.material.mainTexture = textures[index]; } }