unity中实现3d物体的颜色随时间渐渐消失
实现的原理就是修改material的color属性的Alpha值,通过把值逐渐变为0来达到消失
注意:这种方法只对部分shader有作用,我用的是
下面是代码:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class Test : MonoBehaviour {//设置渐变的时间public float timeCout;private void Update(){//按鼠标左键开始渐变if (Input.GetMouseButtonDown(0)){StartCoroutine(ChangeFormTime(timeCout));}if (Input.GetMouseButtonDown(1)){Debug.Log(this.GetComponent<Renderer>().material.color.a);}}//开启协程物体开始渐变IEnumerator ChangeFormTime(float _timeCout){while (_timeCout>0){//倒计时_timeCout -= Time.deltaTime;if (this.GetComponent<Renderer>().material.color.a > 0){this.gameObject.GetComponent<Renderer>().material.color = new Color(this.GetComponent<Renderer>().material.color.r,this.GetComponent<Renderer>().material.color.g,this.GetComponent<Renderer>().material.color.b,//会根据你输入的时间进行渐变this.GetComponent<Renderer>().material.color.a - Time.deltaTime / timeCout);yield return null;}}//虽然是透明的但是还在渲染,为了减少Drawcall,可以//1.隐藏物体2.摧毁物体3.移除到摄像机拍不到的地方this.gameObject.SetActive(false);}
}
unity中实现3d物体的颜色随时间渐渐消失相关推荐
- Unity中获取一个物体下所有的子物体的方法
Unity中获取一个物体下所有的子物体的方法 方法1(获取全部子物体,无论子物体SetActive是否为true): using System.Collections; using System.Co ...
- unity中控制游戏物体移动最基本的三种方法
**unity**中控制游戏物体移动的最基本的三种方法 第一种移动方法-transform.Translate,游戏物体按照你给的方向和速度进行运动 代码如下: Public float speed; ...
- 如何实现CSS字体渐变和字体颜色随时间来回变动
前言:CSS代表层叠样式表(Cascading Style Sheets),是一种用于定义网页外观和样式的语言.通过CSS,网页开发人员可以指定如何呈现HTML元素,包括颜色.字体.大小.布局和其他视 ...
- Unity 中的 3D 数学学习笔记——认识坐标系及坐标系之间的转换
一 :3d空间坐标系 x,y,z 轴 z轴方向确定有两种方式 左手坐标系和右手坐标系 左手坐标系:伸开左手,大拇指指向X轴正方向,食指指向Y轴正方向,其他三个手指指向Z轴正方向. 右手坐标系:伸开右 ...
- 自动驾驶中的3D物体状态检测
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 摘要 3D物体检测是自动驾驶的一项重要技术,KITTI提供了一种用 ...
- Python批量重命名Maya场景中的3D物体
最初接触Maya是从7.0开始的,那时候Maya只支持mel(Maya Expression Language),mel的局限性很大,只能在Maya内部使用,功能来说没有Python强大: 后来从Ma ...
- Unity中的3D数学—02向量与矩阵
1.向量 1.1 向量的运算 运算 公式 矢量和标量的乘/除法 k v = ( k v x , k v y , k v z ) k\mathbf{v}=(kv_x,kv_y,kv_z) kv=(kvx ...
- Unity 建立的3D物体 导成 Maya能识别的obj文件
目录: Step1 建立核心脚本 Step2 找到导出按钮 Step3 选中层级视图中要导出3D物体,点击导出按钮,如"Wavefront OBJ"(略) 后记 Step1 建立核 ...
- Unity中Debug打印信息的颜色设置
为了更好的识别打印信息,这里封装了一下打印信息的工具类,虽然Unity中已经很好的识别..但是自己还是想实现新的工具类 DebugBase脚本: using System.Collections; u ...
最新文章
- LeetCode简单题之检查某单词是否等于两单词之和
- hibernate防止sql注入对参数赋值传参数的例子
- 产品经理的职责(转)
- 计算机控制系统课程设计中期报告,课程设计中期报告模板.doc
- 编程语言(1)--Go 语言环境安装
- electronjs设置宽度_javascript – 如何使Electron WebView填充指定的大小?
- PHP多进程初探 --- 再次谈daemon进程
- redis简单运用,数据类型,适合入门
- jdbc代码_凯哥带你从零学大数据系列之数据库篇---第三章:JDBC基础
- python编写数据库连接工具_详解使用Python写一个向数据库填充数据的小工具(推荐)...
- EasyUI 中自定义组件 icon 图标
- ISO50001认证辅导,ISO 50001的能源管理允许组织对自己内部的节能潜力进行系统开发
- 野火i.MX Linux开发实战指南
- Windows远程桌面开发之九-虚拟显示器(Windows 10 Indirect Display 虚拟显示器驱动开发)
- 极小曲面壳体的静力学分析(ABAQUS)
- 美团BERT的探索和实践
- Python每日一练-----三点共线问题
- 恶心的八皇后全解python版
- 袋鼠云数据中台专栏2.0 | 数据中台之数据源
- DIY一个UNISOLDER焊台无线红外休眠座