unity3d 5.0中Renderer后面没有了material

2020-07-24 10:08:26 浏览数 (1)

在unity3d5.0中 renderer后面不能使用material 需要通过GetComponent来获取组件

使用代码:

代码语言:javascript复制
GameObject objcub = GameObject.CreatePrimitive(PrimitiveType.Cube);
objcub.AddComponent<Rigidbody>();
objcub.name = "Cube";
//设置color 使用这个来获取material
objcub.GetComponent<Renderer>().material.color = Color.blue;

我们看下material API的源码:

代码语言:javascript复制
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour
{
    public Color colorStart = Color.red;
    public Color colorEnd = Color.green;
    public float duration = 1.0F;
    public Renderer rend;
    void Start()
    {
        //获取renderer组件
        rend = GetComponent<Renderer>();
    }
    void Update()
    {
        float lerp = Mathf.PingPong(Time.time, duration) / duration;
        //这里就可以使用material来设置颜色了
        rend.material.color = Color.Lerp(colorStart, colorEnd, lerp);
    }
}

0 人点赞