Unity學(xué)習(xí)筆記03特效系統(tǒng)
作用
將視頻融入到游戲場景中,提升游戲場景真實感,降低渲染復(fù)雜度,可以使用游戲外部的視頻資源。
將視頻渲染到物體表面的紋理上。
除了普通紋理之外,還可以播放在以下目標(biāo)上:
攝像機的裁剪面(全屏播放,相當(dāng)于視頻播放器),其他物體的紋理上,渲染紋理(Render Texture)上。
簡單操作
可以新建一個平面,為其添加Video Player組件,然后將需要的視頻導(dǎo)入項目中,添加到Video Clip中,在Video Player的屬性界面里,Play on Awake勾選后當(dāng)該組件載入時視頻會被自動播放,如果想對視頻的播放進(jìn)行控制,一般需要添加腳本。
如下面這段代碼,使用空格來控制視頻的播放
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Video;
public class Video : MonoBehaviour
{
? ?VideoPlayer vp;
? ?// Start is called before the first frame update
? ?void Start()
? ?{
? ? ? ?vp = GetComponent<VideoPlayer>();
? ?}
? ?// Update is called once per frame
? ?void Update()
? ?{
? ? ? if(Input.GetKeyDown(KeyCode.Space))
? ? ? ?{
? ? ? ? ? ?if(vp.isPlaying)
? ? ? ? ? ?{
? ? ? ? ? ? ? ?vp.Pause();
? ? ? ? ? ?}
? ? ? ? ? ?else
? ? ? ? ? ?{
? ? ? ? ? ? ? ?vp.Play();
? ? ? ? ? ?}
? ? ? ?}
? ?}
}
粒子系統(tǒng)
作用
1.使用傳統(tǒng)的動畫或者渲染技術(shù)難以實現(xiàn)一些自然現(xiàn)象的模擬。
2.使用大量個體來共同表現(xiàn)一個群體效果的技術(shù)。
比如一群鳥的動畫中,群鳥是一個粒子系統(tǒng),具有一個群體的約束性,而每只鳥又是一個單獨的個體,有其獨特的
行為方式
3.火、爆炸、煙、水流、火花、落葉、云、霧、雪、塵、流星尾跡和群體運動等。
粒子參數(shù)
1.可以將粒子數(shù)據(jù)結(jié)構(gòu)中的參數(shù)分為兩類
和粒子行為相關(guān)的參數(shù),和粒子外觀相關(guān)的參數(shù)
2.行為參數(shù)用來建模粒子系統(tǒng)所模擬的動畫,這些參數(shù)往往和物理仿真相關(guān)。
3.外觀參數(shù)可以設(shè)定粒子的顏色、透明度、大小和紋理等信息。
實現(xiàn)一個簡單的火焰粒子系統(tǒng)
層級窗口右鍵-->Effects-->Particle System,然后添加火焰紋理,調(diào)整各種參數(shù)(步數(shù)過多。。。)然后在火焰的粒子系統(tǒng)上新建一個粒子系統(tǒng),用來表現(xiàn)煙霧效果。(調(diào)整各種參數(shù),,,)
后處理效果
原理
1.所有的渲染已經(jīng)完成后加入的一個圖片處理過程。
2.這個過程類似PS, 為畫面添加濾鏡。
3.不需要對場景做改變就可以提升場景表現(xiàn)力。
幾種常見的后處理效果
1.抗鋸齒:減輕由于像素化帶來的鋸齒問題。
2.環(huán)境遮蔽(AO):描繪物體之間由于遮擋而產(chǎn)生的陰影,使用屏幕空間信息來獲得環(huán)境遮蔽效果,也被稱為
Screen Space Ambient Occlusion (SSAO),廉價的方式實現(xiàn)類似全局光照效果。
3.BIoom輝光:現(xiàn)實中的使用鏡頭拍攝的畫面導(dǎo)致的光線匯聚不正確,某些圖片濾鏡效果,可以賦予場景朦朧感。
簡單實踐
實現(xiàn)前要在Package Manager中安裝Post Processing,然后再Component-->Rendering-->對應(yīng)處理。
可以為攝像機添加Post processing Layer,讓該攝像機可以產(chǎn)生后處理效果。
在post-processing Layer的mode屬性中可以添加抗鋸齒效果。
新建一個空對象,添加Post-processing Volume組件,在Profile點擊New后可以添加新的后處理效果,Is Global屬性:勾選后,場景內(nèi)只要帶有post-processing Layer組件的攝像機都可以產(chǎn)生后處理效果。
如果想讓某個效果當(dāng)鏡頭進(jìn)入后才產(chǎn)生效果,可以為添加了Post-processing Volume的組件的空物體添加Box collider(并勾選Is Trigger),還需將Post-processing Volume的Is Global的屬性勾選掉。這樣只有當(dāng)鏡頭移動到對應(yīng)的范圍內(nèi),才會產(chǎn)生后處理效果。