Unity高級功能—拖尾渲染器

用途:用於實現一些類似於剎車的痕跡的效果

做法:我們準備一個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可以用來開關拖尾

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章