遍歷所有子物體中renderer(渲染器)中的material(材質)並改變其alpha值實現若隱若現的效果
阿新 • • 發佈:2017-07-22
sys [] object c engine orm 器) gpo gin nts foreach (Renderer render in rds)
{
//逐一遍歷子物體的子材質(renderer中的material)
foreach (Material material in render.materials)
{
var r = material.color.r;
var g = material.color.g;
var b = material.color.b;
var alpha = Mathf.PingPong(Time.time / 5f, 1);
material.color = new Color(r, g, b, alpha);
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class CubeControl : MonoBehaviour
{
public GameObject Cube;
private float rotaSpeed=5f;
void Update ()
{
//得到所有可渲染的子物體
Renderer[] rds = Cube.GetComponentsInChildren<Renderer>();
//逐一遍歷他的子物體中的Renderer
{
//逐一遍歷子物體的子材質(renderer中的material)
foreach (Material material in render.materials)
{
var r = material.color.r;
var g = material.color.g;
var b = material.color.b;
var alpha = Mathf.PingPong(Time.time / 5f, 1);
}
}
//Cube自轉
Cube.transform.Rotate(new Vector3(0, -1, 0), Time.deltaTime * rotaSpeed);
}
}
遍歷所有子物體中renderer(渲染器)中的material(材質)並改變其alpha值實現若隱若現的效果