Unity——拖尾特效

拖尾是一种很酷的特效。拖尾的原理来自人类的视觉残留:观察快速移动的明亮物体,会看到物体移动的轨迹。摄像机通过调整快门时间,也可以拍出具有拖尾效果的照片,如在城市的夜景中,汽车的尾灯拖曳出红色的线条。

在较老的Unity版本中,拖尾效果需要用插件实现。现在Unity已经内置了Trail Renderer(拖尾渲染器)组件,可以方便地制作出拖尾效果。

拖尾渲染器组件的使用比较简单,其步骤如下。

  1. 新建一个球体,为其添加Trail Renderer组件
  2. 不需要运行游戏,直接在场景中改变球体的位置,就会看到拖尾效果。但由于没有指定拖尾材质,显示是紫红色(紫红色代表材质错误或缺失)。
  3. 在Trail Renderer组件中找到找到Materials选项,展开该选项,可以指定材质的数量和材质资源。如果已经导入粒子特效素材,那么通过搜索“Trail”可以找到多个拖尾专用的素材,任意选一个即可
  4. 选择材质,再拖曳物体,就会看到拖尾效果

 如图为Sparks的效果

 

 要让拖尾达到较好的效果,就要对拖尾的长度(停留时间)、宽度、材质和颜色渐变等参数进行细致调节。下面将逐一对Trail Renderer组件的属性做说明

属性含义说明
Cast Shadows是否投射阴影拖尾本身也可以像实体一样投射阴影,但实际上能否投射阴影与材质有关,某些材质本身不能投射阴影(一般不需要阴影)
Receive Shadows是否接受阴影拖尾会显示被其它物体投射的阴影(一般不需要阴影)
Materials材质拖尾的材质。最重要的属性之一
Time时间拖尾持续的时间。决定了拖尾的总体长度
Min Vertex Distance最小顶点距离拖尾本身和模型一样,定点是有限多的。此选项指定拖尾两个顶点之间的间距,间距越小顶点就越多、拖尾越顺滑,但性能消耗也更大
Auto Destruct自动销毁游戏对象空闲时销毁拖尾,可以节约资源
Width宽度此属性是一个曲线,可以控制拖尾从头部到尾部的粗细变化
Color颜色用一个颜色梯度控制拖尾颜色的变化
Corner Vertices角顶点增加这个值,使拖尾的小拐角更圆润
End Cap Vertices端盖顶点增加这个值,可以让拖尾的端点更圆润
Alignment对齐拖尾本身是一个“广告牌”,从各个角度看是一样的。可以选择让它朝着摄像机或是z轴
Texture Mode纹理模式控制材质贴图如何贴到拖尾上。包括Stretch(拉伸)、Wrap(重复纹理)等。贴图方式与材质有关,有些材质适合重复,有些事和拉伸

还有一些与光照、高级渲染相关的属性,其使用与光照和渲染有关,此处不再详述。

将拖尾设置完成之后,会在物体运动时自动出现,不需要额外设置。脚本主要是开启或关闭拖尾,以及改变拖尾的时间、材质等,示例如下。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class TestTrail : MonoBehaviour
{TrailRenderer trail;public Material mat1;public Material mat2;void Start(){trail = GetComponent<TrailRenderer>();trail.sharedMaterial = mat1;}void Update(){if(Input.GetKeyDown(KeyCode.Space)){if(trail.sharedMaterial==mat1){trail.sharedMaterial = mat2;trail.startColor = Color.red;trail.endColor = Color.red;}else{trail.sharedMaterial = mat1;trail.startColor = Color.blue;trail.endColor = Color.blue;}}}
}

效果如下

拖尾变换特效

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/114032.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一文看懂DETR(二)

训练流程 1.输入图像经过CNN的backbone获得32倍下采样的深度特征&#xff1b; 2.将图片给拉直形成token&#xff0c;并添加位置编码送入encoder中&#xff1b; 3.将encoder的输出以及Object Query作为decoder的输入得到解码特征&#xff1b; 4.将解码后的特征传入FFN得到预测特…

Ubantu安装mongodb,开启远程访问和认证

最近因为项目原因需要在阿里云服务器上部署MongoDB&#xff0c;操作系统为Ubuntu&#xff0c;网上查阅了一些资料&#xff0c;特此记录一下步骤。 1.运行apt-get install mongodb命令安装MongoDB服务&#xff08;如果提示找不到该package&#xff0c;说明apt-get的资源库版本比…

研磨设计模式day15策略模式

场景 问题描述 经常会有这样的需要&#xff0c;在不同的时候&#xff0c;要使用不同的计算方式。 解决方案 策略模式 定义&#xff1a; 解决思路&#xff1a;

【Mysql问题集锦】:Can‘t create table ‘#sql-58d7_431d‘ (errno: 28)

问题描述&#xff1a; 问题原因&#xff1a; OSError: [Errno 28] No space left on device&#xff0c;即&#xff1a;磁盘空间不足&#xff0c;无法创建文件。因此&#xff0c;导致Mysql无法执行SQL语句。 问题解法&#xff1a; Step 1&#xff0c;查看有哪些目录占用了大量…

servlet初体验之环境搭建!!!

我们需要用到tomcat服务器&#xff0c;咩有下载的小伙伴看过来&#xff1a;如何正确下载tomcat&#xff1f;&#xff1f;&#xff1f;_明天更新的博客-CSDN博客 1. 创建普通的Java项目&#xff0c;并在项目中创建libs目录存放第三方的jar包。 建立普通项目 创建libs目录存放第三…

第三届计算机、物联网与控制工程国际学术会议(CITCE 2023)

第三届计算机、物联网与控制工程国际学术会议&#xff08;CITCE 2023) The 3rd International Conference on Computer, Internet of Things and Control Engineering&#xff08;CITCE 2023) 第三届计算机、物联网与控制工程国际学术会议&#xff08;CITCE 2023&#xff09;…

Git向远程仓库与推送以及拉取远程仓库

理解分布式版本控制系统 1.中央服务器 我们⽬前所说的所有内容&#xff08;⼯作区&#xff0c;暂存区&#xff0c;版本库等等&#xff09;&#xff0c;都是在本地也就是在你的笔记本或者计算机上。⽽我们的 Git 其实是分布式版本控制系统&#xff01;什么意思呢? 那我们多人…

Linux(实操篇二)

Linux实操篇 Linux(实操篇二)1. 常用基本命令1.3 时间日期类1.3.1 date显示当前时间1.3.2 显示非当前时间1.3.3 date设置系统时间1.3.4 cal查看日历 1.4 用户管理命令1.4.1 useradd添加新用户1.4.2 passwd设置用户密码1.4.3 id查看用户是否存在1.4.4 cat /etc/passwd 查看创建了…

C语言练习7(巩固提升)

C语言练习7 编程题 前言 “芳林新叶催陈叶&#xff0c;流水前波让后波。”改革开放40年来&#xff0c;我们以敢闯敢干的勇气和自我革新的担当&#xff0c;闯出了一条新路、好路&#xff0c;实现了从“赶上时代”到“引领时代”的伟大跨越。今天&#xff0c;我们要不忘初心、牢记…

2023有哪些更好用的网页制作工具

过去&#xff0c;专业人员使用HTMLL、CSS、Javascript等代码手动编写和构建网站。现在有越来越多的智能网页制作工具来帮助任何人实现零代码基础&#xff0c;随意建立和设计网站。在本文中&#xff0c;我们将向您介绍2023年流行的网页制作工具。我相信一旦选择了正确的网页制作…

Linux防火墙,可以防护什么?和常用的命令和各种日常使用(个人笔记)

文章目录 防火墙开启默认是否可以ping通http涉及端口的服务&#xff08;默认无法连接&#xff09;参考文档 防火墙开启默认是否可以ping通 可以的&#xff0c;并不会防护icmp类型的访问&#xff0c;但是会拦截http类型的访问查看ipifconfig查看防火墙状态 systemctl status fi…

JavaScript 手写题

基础手写 全排列&#xff08;力扣原题&#xff09; 要求以数组的形式返回字符串参数的所有排列组合。 注意&#xff1a; 字符串参数中的字符无重复且仅包含小写字母返回的排列组合数组不区分顺序const _permute string > {const result []const map new Map()const df…

美国访问学者签证有哪些要求?

近年来&#xff0c;越来越多的学者选择前往美国进行访问学者签证&#xff0c;以便深入研究、学术交流以及开展合作项目。美国访问学者签证是一个重要的工具&#xff0c;为学者们提供了在美国学术机构进行短期或长期学术活动的机会。下面知识人网将介绍一些申请美国访问学者签证…

LINQ详解(查询表达式)

什么是LINQ&#xff1f; LINQ(语言集成查询)是将查询功能直接集成到C#中。数据查询表示简单的字符串&#xff0c;在编译时不会进行类型检查和IntelliSense(代码补全辅助工具)支持。 在开发中&#xff0c;通常需要对不同类型的数据源了解不同的查询语句&#xff0c;如SQL数据库…

2023年IT服务行业研究报告

第一章 行业概况 1.1 定义 IT服务行业是一个广泛的术语&#xff0c;涵盖了所有提供技术支持和服务的公司。这些服务包括系统集成&#xff0c;云计算服务&#xff0c;软件和硬件支持&#xff0c;网络服务&#xff0c;咨询服务&#xff0c;以及一系列其他类型的技术服务。此外&…

MySQL中的Buffer Pool

一、概述 Buffer Pool是数据库的一个内存组件&#xff0c;里面缓存了磁盘上的真实数据&#xff0c;然后我们的Java系统对数据库执行的增删改操作&#xff0c;其实主要就是对这个内存数据结构中的缓存数据执行的。我们先来看一下下面的图&#xff0c;里面就画了数据库中的Buffer…

kubernetes deploy standalone mysql demo

kubernetes 集群内部署 单节点 mysql ansible all -m shell -a "mkdir -p /mnt/mysql/data"cat mysql-pv-pvc.yaml apiVersion: v1 kind: PersistentVolume metadata:name: mysql-pv-volumelabels:type: local spec:storageClassName: manualcapacity:storage: 5Gi…

集成学习:Bagging, Boosting,Stacking

目录 集成学习 一、bagging 二、boosting Bagging VS Boosting 1.1 集成学习是什么&#xff1f; Bagging Boosting Stacking 总结 集成学习 好比人做出一个决策时&#xff0c;会从不同方面&#xff0c;不同角度&#xff0c;不同层次去思考&#xff08;多个自我&am…

15-数据结构-二叉树的遍历,递归和非递归

简介&#xff1a; 本文主要是代码实现&#xff0c;二叉树遍历&#xff0c;递归和非递归&#xff08;用栈&#xff09;。主要为了好理解&#xff0c;直接在代码处&#xff0c;加了详细注释&#xff0c;方便复习和后期默写。主要了解其基本思想&#xff0c;为后期熟练应用…

光伏电站、变电站、等直流系统电参量测量仪器怎么选型

安科瑞虞佳豪 壹捌柒陆壹伍玖玖零玖叁 应用场景 工作拓扑图 功能 ①对电能参数进行采样计量和监测&#xff0c;逆变器或者能量管理系统&#xff08;EMS&#xff09;与之进行通讯&#xff0c;根据实时功率及累计电能实现防逆流、调节发电量、电池充放电等功能&#xff1b; ②…