用途:用於實現一些類似於剎車的痕跡的效果
做法:我們準備一個Plane,將這個平面在Z軸放大100倍,模擬一個跑道;然後準備一個Cube,模擬一個賽車,像這樣:
綠色和紅色是我爲了區分出來,而做的簡單的材質。此時我們創建一個空的遊戲對象,然後將這個遊戲對象作爲Cube的子節點,備註:tail:
在這個節點上面添加“拖尾渲染器(Trail Renderer)”
接下來我們就要製作我們拖尾渲染器的材質了。
首先我們創建一個空材質:然後將這個材質標記成粒子系統:
然後將我們的剎車痕跡的圖片作爲貼圖:
這個時候我們將這個材質拖入到拖尾渲染器的材質選項
此時需要我們將立方體動起來:
添加腳本如下:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CubeSpeedMove : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
// 定義一個速度
float speed = Time.deltaTime * 5;
// 按照剛纔的速度一直改變Cube的座標
this.transform.Translate(0, 0, speed, Space.World);
// 讓攝影機也跟着Cube的移動
Camera.main.transform.Translate(0, 0, speed, Space.World);
}
}
拖尾渲染器的屬性:
Materials: 用戶渲染拖尾的材質數組。
Size: 在材質數組總共有多少元素。
Element 0:用戶渲染拖尾的材質的引用;個數由Size決定;
Time: 拖尾的長度,以s爲單位;
Start Width: 開始位置拖尾的寬度;
End Width: 結束位置的拖尾寬度;
Colors: 拖尾長度顏色漸變的拖尾數組,也可以在這些顏色中使用Alpha;
Color0 ~Color4 拖尾的顏色,從開始到結束;
Min Vertex Distance: 拖尾錨點之間的最小距離;
AutoDesturct: 將這一項設置爲允許,來使物體在靜止Time秒後被逐漸減少並銷燬,此處的銷燬值得之組件都被銷燬了
this.trail.enabled = true可以用來開關拖尾