【Unity學(xué)習(xí)筆記】Unity's Game Prototyping Series(3)
三、攝影、動畫與特效
1. Cinemachine(https://unity.com/cn/unity/features/editor/art-and-design/cinemachine)
利用Cinemachine,我們可以使用攝像機(jī)創(chuàng)造復(fù)雜行為而不必撰寫任何代碼。Cinemachine包含許多模塊,將其組合起來,可以創(chuàng)作影片或者完全自動化的游戲內(nèi)攝像系統(tǒng),等等。
Cinemachine不創(chuàng)造新的Unity攝像機(jī),只是用Cinemachine Brain管理虛擬攝像機(jī)。
(1)新建Cinemachine Brain
Main Camera>Add Component>Cinemachin>Chinemachine Brain
(2)新建Cinemachine Virtual Camera
Menu>Cinemachine>Create Virtual Camera>將游戲物體拖入Follow和LookAt參數(shù)
(3)選擇游戲視角并調(diào)整盲區(qū)(Dead Zone)
調(diào)整鏡頭(Lens)參數(shù)和阻尼(Damping)參數(shù)。阻尼參數(shù)決定了鏡頭跟蹤目標(biāo)的緊密程度。
2. 移動式攝影車(Dolly Cart)和軌道(Track)
(1)新建Cinemachine Brain
Main Camera>Add Component>Cinemachin>Chinemachine Brain
(2)新建Cinemachine Virtual Camera
Menu>Cinemachine>Create Virtual Camera>將游戲物體拖入Follow和LookAt參數(shù)
(3)選擇游戲視角并調(diào)整盲區(qū)(Dead Zone)
(4)添加移動式攝影車和軌道
Cinemachin>Create Dolly Track and Cart>將虛擬攝像機(jī)拖入Dolly Cart的Follow參數(shù)
設(shè)置Dolly Cart的位置、速度
Dolly Track>添加Waypoints
根據(jù)需要勾選Loop
調(diào)整平滑度(Resolution)
注意:攝像機(jī)和小車的位置最好與起始節(jié)點相同
3. ShaderGraph
【注意】必須選用Lightweight/universal render pipeline模式新建工程文件,如果使用MMD插件轉(zhuǎn)換的模型,模型材質(zhì)必須選擇Universal Render Pipeline/Lit模式
(1)新建Shader Graph文件夾>新建Shader-Unlit Graph>打開Shader Graph窗口(也可建立PRB Graph,注意這里檢查打開窗口后是否出現(xiàn)相應(yīng)的master)
(2)在工作區(qū)中按鼠標(biāo)右鍵(或空格),選擇Create Node>建立Texture 2D Asset和Sample Texture 2D>在Texture 2D Asset中導(dǎo)入材質(zhì)>單擊Texture 2D Asset的Out(T)并與Sample Texture 2D Texture(T)相連
(3)復(fù)制粘貼已建立的Texture 2D Asset和Sample Texture 2D>在第二個Texture 2D Asset中導(dǎo)入第二個材質(zhì)
(4)新建Tiling and Offset節(jié)點>將TaO的Out與第一個Sample Texture 2D的UV連接>這里可以選擇調(diào)整TaO的Input節(jié)點的X值和Y值(分割)
(5)新建Divide節(jié)點>將第一個Sample Texture 2D的A(1)節(jié)點與Divide的input連接>將Divide節(jié)點B(1)的X輸入改為20
(6)新建Blend節(jié)點>將Divide節(jié)點的Out(1)與第一個Blend節(jié)點的Base(1)連接>將第二個Sample Texture 2D的A(1)與第二個Blend節(jié)點的Base(1)連接
(7)新建Color節(jié)點>調(diào)整顏色并將模式改為HDR>創(chuàng)建新的Blend節(jié)點>將第一個Sample Texture 2D的RGBA(4)與新建Blend的Base(4)連接>將Color的Out(4)與Blend的Base(4)連接>將Blend節(jié)點的模式改為Darken>將彩色Blend的Out(4)與Unlit Master的Color(3)連接>將第二個Blend的Out(4)與Unlit Master的Alpha(1)連接
(8)點擊Unlit Master右上的齒輪,將Surface設(shè)為Transparent>在Shader Graph窗口左上點擊保存資源
使用時,在材質(zhì)檢查器中選擇新制作的Shader即可。

4. 動畫綁骨(Animation)
(1)安裝Animation Rigging資源包(此資源包為試行版,需打開preview選項)
(2)導(dǎo)入模型,做好控制器。
(3)在模型上添加Rig Builder組件
(4)在模型上創(chuàng)建新的子對象,并添加Rig組件。
(5)將Rig拖入模型Rig Builder組件中的Rig Layers列表。
(6)添加Bone Renderer組件
(7)菜單欄Animation Rigging>Bone Renderer Setup(此時屏幕中應(yīng)出現(xiàn)骨骼)
(8)點擊屏幕上Animation Rigging的“+”,會打開下拉菜單,這時可以設(shè)置Rig Effector
(9)Rig Constraints:聚合骨骼并實時產(chǎn)生預(yù)定動作的工具。
(10)菜單>Restore Bind Pose>在模型下建立子游戲物體CharacterRig>在CharacterRig下建立子游戲物體Right Arm IK<在Right Arm IK下建立兩個子游戲物體RH IK Target和RH IK Hint>在模型下添加Rig Builer組件>在CharacterRig上增加Rig組件>選擇Right Arm IK并添加Two Bone IK Constraint組件
(11)選擇RH IK Target并添加Box Effector,調(diào)整參數(shù)和大小>同時選擇Box Effector和層級窗口中的右手,點擊菜單欄中的Animation Rigging并選擇Align Transform>選擇RH IK并添加Ball Effector>同時選擇RH IK Hint和右肘骨骼,點擊Animation Rigging并選擇Align Transform>移動Ball Effector使其稍微遠(yuǎn)離肘部。
(12)選擇RightArm IK并將相應(yīng)骨骼(右上臂、右下臂、右手)拖入相應(yīng)框內(nèi)>將RH IK Target和RH IK Hint拖入Source Objects的相應(yīng)框內(nèi)>選擇模型并將Character Rig加入Rig Layers列表>測試
5. 粒子系統(tǒng)
(1)一個簡單的控制腳本
ParticleSystem part = GetComponent<ParticleSystem>();
var part = GetComponent<ParticleSystem>();
part.Play();
Destroy(gameObject, part.duration);
(2)煙花范例
https://styly.cc/tips/unity_fireworks01/
注意:教程敘述得不是很清楚,煙花由三個粒子系統(tǒng)組成:升起的煙花彈、煙花彈尾跡和在半空綻放的主煙花,三個部分按條件綁定,煙花彈和煙花彈尾跡同生同滅,主煙花在煙花彈消失后啟動
