拖尾渲染器
是一个组件,能够帮我们绘制出拖尾的效果。
就是跟在运动物体后面的东西,前进的过程中,末尾的不断消失,前面的不断生成,有一个长度。长度是以时间计算的,从末尾到头有多少秒的时间就是拖尾的长度。
当物体不运动之后,拖尾也会不断消失,
1:游戏中炮弹后面的拖尾, 以及汽车轮胎拖痕等绚丽特效,unity提供了拖尾渲染器;
2:拖尾渲染器的属性:
Materials: 用户渲染拖尾的材质数组。
Size: 在材质数组总共有多少元素。
Element 0:用户渲染拖尾的材质的引用;个数由Size决定;
Time: 拖尾的长度,以s为单位;
Start Width: 开始位置拖尾的宽度;
End Width: 结束位置的拖尾宽度;
Colors: 拖尾长度颜色渐变的拖尾数组,也可以在这些颜色中使用Alpha;
Color0 ~Color4 拖尾的颜色,从开始到结束;最后一个Color3到Color4的Alpha是从255到0,这样有一个渐变消失的效果
Min Vertex Distance: 拖尾锚点之间的最小距离;物体刚开始没有拖尾效果,经过多少距离后开始呈现拖尾效果。这个距离就是这个最小距离。越小精度越高性能越差,越大精度越低性能越好。
AutoDesturct: 将这一项设置为允许,来使物体在静止Time后被销毁,就是挂载Trail Renderer组件的整个节点被删除;
注意事项
1: Materials材质:使用一个包含粒子着色器的材质,材质使用的贴图必须是平方尺寸,在size属性中可以设置材质的个数,在Element属性中添加材质;
2 Trail Width: 拖尾宽度,配合时间属性可以调节他显示和表现;
3: Trail Colors: 通过5种颜色和透明度组合循环变化拖尾,使用这些颜色能控制头部和尾部之间进行渐变;
4: Min Vertex Distance最小顶点距离;
最小顶点距离决定了包含拖尾的物体在一个拖尾段实例化之前必须经过的距离,较小的值将更频繁的创建拖尾段, 生成更平滑的拖尾,性能有损失,较大的值将显示出更多的锯齿段,找一个满足效果的最大的值;
5: 使用注意:
(1) 使用拖尾渲染器的时候不能使用其他的渲染器,一般创建一个空节点,添加拖尾渲染组件,将拖尾要跟随的物体设置为它的父亲;
(2)最好使用粒子材质,这样可以达到更好的效果;
拖尾渲染器案例
1.创建Unity项目和文件目录
2.导入轮胎拖尾纹理.png(第60)到res文件夹下
3.创建一个材质chehen到res文件夹下,设置材质shader为Particles/Multiply例子,把轮胎拖尾纹理拖进材质
4.创建一个平面plane,给它关联一个绿色的材质球,看起来比较明显
5.创建一个立方体cube,给它关联一个红色的材质球,看起来比较明显
6.给立方体cube创建一个空节点叫trail,给trail添加新组件Trail Renderer,把刚才的chehen材质关联到组件下的Material的Element 0,设置Time拖尾长度为1,拖尾的y轴为-0.3,这样看起来浅一点,短一点。
7.写一个脚本trail_test让立方体cube动起来,关联到立方体cube节点下,从而产生拖尾效果
打开trail_test
using System.Collections;
using System.Collections.Generic;
using UnityEngine; public class trail_test : MonoBehaviour {
//public TrailRenderer trail;//获得孩子节点的TrailRenderer组件
float total_time;
// Use this for initialization
void Start () {
//this.trail.enabled = true;//打开TrailRenderer组件
} // Update is called once per frame
void Update () {
//定时器写法1
this.total_time += (Time.deltaTime);
if(total_time>=)//5秒后停止,也就是静止
{
//this.trail.enabled = false;//关闭TrailRenderer组件,很突兀的那种
return;
}
//定时器写法2
//this.Invoke("Hello",5.0f); float s = Time.deltaTime * ;//每秒移动5米
this.transform.Translate(, , s, Space.World);//往世界的Z轴移动
Camera.main.transform.Translate(, , s, Space.World);//让主摄像机也跟着Cube运动, Camera.main就是Tag为MainCamera的节点
}
}
8.运行,Cube运行5秒后停止,拖尾也渐渐消失
关于Unity中拖尾渲染器的使用的更多相关文章
-
拖尾渲染器 Trail Renderer
拖尾渲染器(Trail Renderer)用于制作跟在场景中的物体后面的拖尾效果来代表它们在到处移动. 必须给Materials一个材质渲染器设置的Colors才有效. 展示自己的一个demo...
-
Unity 5.4大赞:HTC Vive经典The lab渲染器开源
HTC Vive提供了一个不错的免费VR demo,最近1周仔细体验了一番. 仔细看了其安装文件,竟然是Unity 5.4beta版本(通过查log,知道Valve公司用的是最新的5.4.0b11版本 ...
-
Unity Shader 之 渲染流水线
Unity Shader 之渲染流水线 什么是渲染流水线 一个渲染流程分成3个步骤: 应用阶段(Application stage) 几何阶段(Geometry stage) 光栅化阶段(Raster ...
-
Unity Shader入门精要学习笔记 - 第16章 Unity中的渲染优化技术
转自冯乐乐的 <Unity Shader 入门精要> 移动平台的特点 为了尽可能一处那些隐藏的表面,减少overdraw(即一个像素被绘制多次),PowerVR芯片(通常用于ios设备和某 ...
-
CSharpGL(34)以从零编写一个KleinBottle渲染器为例学习如何使用CSharpGL
CSharpGL(34)以从零编写一个KleinBottle渲染器为例学习如何使用CSharpGL +BIT祝威+悄悄在此留下版了个权的信息说: 开始 本文用step by step的方式,讲述如何使 ...
-
基于显卡的光栅化渲染器Gaius计划
决定实现一个基于显卡的光栅化渲染器,能将一些基于显卡的新算法融入其中.
-
基于物理渲染的渲染器Tiberius计划
既然决定实现一个光栅化软件渲染器,我又萌生了一个念头:实现一个基于物理渲染的渲染器.
-
用 windows GDI 实现软光栅化渲染器--gdi3d(开源)
尝试用windows GDI实现了一个简单的软光栅化渲染器,把OpenGL渲染管线实现了一遍,还是挺有收获的,搞清了以前一些似是而非的疑惑. ----更新2015-10-16代码已上传.gihub地址 ...
-
软件光栅化渲染器Augustus计划
在看完Real-Time Rendering后,我决定动手实现一个软件的光栅化渲染器.我就称它为Augustus计划吧. 计划使用MFC和GDI+来做它的UI.可以访问GitHub来查看它的源代码.
随机推荐
-
zw版【转发&#183;*nvp系列Delphi例程】HALCON HWindow Overlayer 1
zw版[转发·*nvp系列Delphi例程]HALCON HWindow Overlayer 1 ------------------------------------HALCON HWindow ...
-
NeHe OpenGL教程 第四十一课:体积雾气
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
-
.NET 托管堆和垃圾回收
托管堆基础 简述:每个程序都要使用这样或那样的资源,包括文件.内存缓冲区.屏幕空间.网络连接.....事实上,在面向对象的环境中,每个类型都代表可供程序使用的一种资源.要使用这些资源,必须为代表 ...
-
expdp时遇到ORA-31693&;amp;ORA-02354&;amp;ORA-01466
expdp时遇到ORA-31693&ORA-02354&ORA-01466 对一个schema运行expdp导出,expdp命令: nohup expdp HQ_X1/HQ_X1 DU ...
-
《Java2 实用教程(第五版)》学习指导
<Java2 实用教程(第五版)> 第1章Java入门 主要内容:P1 1.1Java的地位:P1 1.2Java的特点:P2 1.3安装JDK:P5 1.4Java程序的开发步骤:P8 ...
-
【转载】VS写汇编程序01:VS2015配置汇编语言开发环境
https://blog.csdn.net/qq_28249373/article/details/83475107
-
asp.net core ioc 依赖注入
1.生命周期 内置的IOC有三种生命周期: Transient: Transient服务在每次被请求时都会被创建.这种生命周期比较适用于轻量级的无状态服务. Scoped: Scoped生命周期的服务 ...
-
java中被遗忘的native关键字
我是无意间看见JNI( java调用动态链接库dll )这块的东西. 所有记下来:本地声明方法 装载完成dll文件后,将使用的方法用native关键字声明. public native static ...
-
layui登录后token问题
layui是一个非常简单且实用的后台管理系统搭建框架,里面的插件丰富使用简单,只需要在原有基础上进行修改即可,但是在数据处理方面略显薄弱,内置的jquery在实际过程中略显不足,若是能添加内置的mvc ...
-
DevOps实践之持续集成Jenkins(最新版本测试)
一.安装Jenkins (1)下载并安装配置Java Development Kit 8 [root@localhost ~]# rpm -ivh jdk-8u161-linux-x64.rpm Pr ...