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
    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);

      }
    }

    //Cube自转
    Cube.transform.Rotate(new Vector3(0, -1, 0), Time.deltaTime * rotaSpeed);
  }
}

遍历所有子物体中renderer(渲染器)中的material(材质)并改变其alpha值实现若隐若现的效果的更多相关文章

  1. 通过改变unity中物体的alpha值实现若隐若现的效果

    RawImage logo = mainLogo.transform.FindChild("back/headBack/Logo").GetComponent<RawImag ...

  2. 解决 Springboot中Interceptor拦截器中依赖注入失败

    问题: 在Springboot拦截器Interceptor中使用@Resource依赖注入时,发现运行的时候被注解的对象居然是null,没被注入进去 原配置为: @Configurationpubli ...

  3. 遍历所有子物体中renderer(渲染器)中的material(材质)

    //得到所有可渲染的子物体Renderer[] rds = transform.GetComponentsInChildren<Renderer>();//逐一遍历他的子物体中的Rende ...

  4. Vue ElementUI表格table中使用select下拉框组件时获取改变之前的值

    目前项目中有一个场景,就是表格中显示下拉框,并且下拉框的值可以更改,更改后提交后台更新.因为这个操作比较重要,所以切换时会有一个提示框,提示用户是否修改,是则走提交逻辑,否则直接返回,什么也不做. 之 ...

  5. 基于OpenGL编写一个简易的2D渲染框架-11 重构渲染器-Renderer

    假如要渲染一个纯色矩形在窗口上,应该怎么做? 先确定顶点的格式,一个顶点应该包含位置信息 vec3 以及颜色信息 vec4,所以顶点的结构体定义可以这样: struct Vertex { Vec3 p ...

  6. 关于Unity中拖尾渲染器的使用

    拖尾渲染器 是一个组件,能够帮我们绘制出拖尾的效果. 就是跟在运动物体后面的东西,前进的过程中,末尾的不断消失,前面的不断生成,有一个长度.长度是以时间计算的,从末尾到头有多少秒的时间就是拖尾的长度. ...

  7. CSharpGL(34)以从零编写一个KleinBottle渲染器为例学习如何使用CSharpGL

    CSharpGL(34)以从零编写一个KleinBottle渲染器为例学习如何使用CSharpGL +BIT祝威+悄悄在此留下版了个权的信息说: 开始 本文用step by step的方式,讲述如何使 ...

  8. 【three.js详解之二】渲染器篇

    [three.js详解之二]渲染器篇   本篇文章将详细讲解three.js中渲染器(renderer)的设置方法. three.js文档中渲染器的分支如下: Renderers CanvasRend ...

  9. SDL2源码分析6:拷贝到渲染器(SDL_RenderCopy())

    ===================================================== SDL源码分析系列文章列表: SDL2源码分析1:初始化(SDL_Init()) SDL2源 ...

随机推荐

  1. 学习笔记43—Linux基础集

    1.通过窗口进入 /usr/local: 请点击computer; 通过窗口进入自己home目录:点击home即可.

  2. 学习笔记8—MATLAB中奇异值处理办法

    一.Inf 和 NAN处理 lnf: 无穷大值,可以用islnf或者isfinite函数处理 NAN:不是一个数字,可以用isnan函数来处理 或者:  类似于这种处理 mn(find(mn<= ...

  3. unbuntu安装Node.js

    在官网https://nodejs.org/en/下载 手动创建链接的话,新安装的angular的ng   typescript的tsc都要自己手动建立软链接,要不就每个工程里npm install一 ...

  4. RNN生产唐诗

    1. 项目的RNN模型: 项目中的输入x是这样的:

  5. 牛客OI周赛4-提高组 A K小生成树(kmst)

    K小生成树(kmst) 思路: 暴力+并查集 枚举边的子集,用并查集判断两个点联不联通 代码: #include<bits/stdc++.h> using namespace std; # ...

  6. Unity --- 纹理为什么要设置为2的N次方

    1.图片的纹理像素在Unity3D中需要遵循2的N次方,由图形学决定的,只识别2的N次方.   非2的N次方的图片会转化为2的N次方图片(500 x 500 → 512 x 512),是因为转化过程比 ...

  7. python实战小程序之购物车

    # Author:南邮吴亦凡 # 商品列表 product_list = [ ('Iphone',5800), # 逗号一定不可以省略! ('Mac',4800), ('smartphone',400 ...

  8. Lab 1-1

    LABS The purpose of the labs is to give you an opportunity to practice the skills taught in the chap ...

  9. 动手动脑java异常处理

    1>请阅读并运行AboutException.java示例,然后通过后面的几页PPT了解Java中实现异常处理的基础知识. import javax.swing.*; class AboutEx ...

  10. Confluence 6 创建小组的公众空间

    现在是我们可以开始创建公众空间的时候了,全世界都希望知道这个项目和勇敢的探险活动. 在这个步骤中,我们将会创建一个项目小组的空间,并且将这个空间公布给全世界.这个表示的是你将会让你的 Confluen ...