遍历所有子物体中renderer(渲染器)中的material(材质)并改变其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
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值实现若隐若现的效果的更多相关文章
- 通过改变unity中物体的alpha值实现若隐若现的效果
RawImage logo = mainLogo.transform.FindChild("back/headBack/Logo").GetComponent<RawImag ...
- 解决 Springboot中Interceptor拦截器中依赖注入失败
问题: 在Springboot拦截器Interceptor中使用@Resource依赖注入时,发现运行的时候被注解的对象居然是null,没被注入进去 原配置为: @Configurationpubli ...
- 遍历所有子物体中renderer(渲染器)中的material(材质)
//得到所有可渲染的子物体Renderer[] rds = transform.GetComponentsInChildren<Renderer>();//逐一遍历他的子物体中的Rende ...
- Vue ElementUI表格table中使用select下拉框组件时获取改变之前的值
目前项目中有一个场景,就是表格中显示下拉框,并且下拉框的值可以更改,更改后提交后台更新.因为这个操作比较重要,所以切换时会有一个提示框,提示用户是否修改,是则走提交逻辑,否则直接返回,什么也不做. 之 ...
- 基于OpenGL编写一个简易的2D渲染框架-11 重构渲染器-Renderer
假如要渲染一个纯色矩形在窗口上,应该怎么做? 先确定顶点的格式,一个顶点应该包含位置信息 vec3 以及颜色信息 vec4,所以顶点的结构体定义可以这样: struct Vertex { Vec3 p ...
- 关于Unity中拖尾渲染器的使用
拖尾渲染器 是一个组件,能够帮我们绘制出拖尾的效果. 就是跟在运动物体后面的东西,前进的过程中,末尾的不断消失,前面的不断生成,有一个长度.长度是以时间计算的,从末尾到头有多少秒的时间就是拖尾的长度. ...
- CSharpGL(34)以从零编写一个KleinBottle渲染器为例学习如何使用CSharpGL
CSharpGL(34)以从零编写一个KleinBottle渲染器为例学习如何使用CSharpGL +BIT祝威+悄悄在此留下版了个权的信息说: 开始 本文用step by step的方式,讲述如何使 ...
- 【three.js详解之二】渲染器篇
[three.js详解之二]渲染器篇 本篇文章将详细讲解three.js中渲染器(renderer)的设置方法. three.js文档中渲染器的分支如下: Renderers CanvasRend ...
- SDL2源码分析6:拷贝到渲染器(SDL_RenderCopy())
===================================================== SDL源码分析系列文章列表: SDL2源码分析1:初始化(SDL_Init()) SDL2源 ...
随机推荐
- 学习笔记43—Linux基础集
1.通过窗口进入 /usr/local: 请点击computer; 通过窗口进入自己home目录:点击home即可.
- 学习笔记8—MATLAB中奇异值处理办法
一.Inf 和 NAN处理 lnf: 无穷大值,可以用islnf或者isfinite函数处理 NAN:不是一个数字,可以用isnan函数来处理 或者: 类似于这种处理 mn(find(mn<= ...
- unbuntu安装Node.js
在官网https://nodejs.org/en/下载 手动创建链接的话,新安装的angular的ng typescript的tsc都要自己手动建立软链接,要不就每个工程里npm install一 ...
- RNN生产唐诗
1. 项目的RNN模型: 项目中的输入x是这样的:
- 牛客OI周赛4-提高组 A K小生成树(kmst)
K小生成树(kmst) 思路: 暴力+并查集 枚举边的子集,用并查集判断两个点联不联通 代码: #include<bits/stdc++.h> using namespace std; # ...
- Unity --- 纹理为什么要设置为2的N次方
1.图片的纹理像素在Unity3D中需要遵循2的N次方,由图形学决定的,只识别2的N次方. 非2的N次方的图片会转化为2的N次方图片(500 x 500 → 512 x 512),是因为转化过程比 ...
- python实战小程序之购物车
# Author:南邮吴亦凡 # 商品列表 product_list = [ ('Iphone',5800), # 逗号一定不可以省略! ('Mac',4800), ('smartphone',400 ...
- Lab 1-1
LABS The purpose of the labs is to give you an opportunity to practice the skills taught in the chap ...
- 动手动脑java异常处理
1>请阅读并运行AboutException.java示例,然后通过后面的几页PPT了解Java中实现异常处理的基础知识. import javax.swing.*; class AboutEx ...
- Confluence 6 创建小组的公众空间
现在是我们可以开始创建公众空间的时候了,全世界都希望知道这个项目和勇敢的探险活动. 在这个步骤中,我们将会创建一个项目小组的空间,并且将这个空间公布给全世界.这个表示的是你将会让你的 Confluen ...