Cinemachine教程 | Unity中如何制作路徑動畫杭煎?

摘要:在Unity中制作路徑動畫是有挺多方式的恩够,基于Cinemachine的Dolly Path是一個簡單便捷的方法,咱們來快速的學習一下吧羡铲!

洪流學堂蜂桶,讓你快人幾步。你好也切,我是跟著大智(VX: zhz11235)學Unity的萌新扑媚,我叫小新腰湾,這是我本周的學習總結(jié)報告哦。

dolly.gif

制作路徑動畫在Unity中是100%會遇到的一個需求疆股。方式也有很多费坊,列舉幾種:
1、通過Animation制作動畫(優(yōu)點:簡單押桃;缺點:不直觀葵萎,無法直觀看到路徑中間的插值位置导犹,靈活性差)
2唱凯、通過Tween插件(優(yōu)點:靈活性高,可通過代碼運行時修改路徑點谎痢;缺點:有一定學習成本磕昼,可視化插件需付費,如Dotween Pro)
3节猿、通過代碼手擼一個路徑動畫(優(yōu)點:靈活性高票从,最適配自己項目的需求;缺點:難度較高)
4滨嘱、通過Cinemachine的Dolly Track(優(yōu)點:Unity官方插件峰鄙,版本適配好,功能夠用太雨;缺點:靈活性稍差)

最近咱們一直在學習Cinemachine吟榴,當然這篇理所當然應該嘗試下Cinemachine的Dolly Path。Let‘s go囊扳!

使用Dolly Path(滑軌路徑)

路徑動畫有兩個部分:如何創(chuàng)建路徑以及如何使用這個路徑吩翻。

創(chuàng)建Dolly Path

Cinemachine中有兩種Dolly Path組件:

  • CinemachinePath組件:每個路徑點都可以設(shè)置位置、切線和翻轉(zhuǎn)角度锥咸,可以最大程度控制路徑狭瞎。但是如果切線設(shè)置的不合理,相機在路徑上運動時可能會有不穩(wěn)定的現(xiàn)象搏予。
  • CinemachineSmoothPath組件:每個路徑點都可以設(shè)置位置和翻轉(zhuǎn)角度熊锭。組件中會使用Bezier算法來推算路徑點之間的位置。雖然SmoothPath不能完全控制路徑雪侥,但是整個路徑會更平滑和連續(xù)碗殷。推薦優(yōu)先使用

如何創(chuàng)建Dolly Path呢?

方法一:如果是在相機上制作路徑動畫校镐,可以直接創(chuàng)建Dolly Camera亿扁。菜單欄Cinemachine > Create Dolly Camera with Track。點擊后會創(chuàng)建一個虛擬相機和dolly path鸟廓。這個Path默認是SmoothPath从祝。虛擬相機會自動設(shè)置好Body屬性為Dolly Track并且Path屬性賦值為創(chuàng)建出來的Dolly path襟己。

方法二:如果是給GameObject制作路徑動畫,可以直接創(chuàng)建Dolly Cart牍陌。菜單欄Cinemachine > Create Dolly Track With Cart擎浴。點擊后會創(chuàng)建一個虛擬相機和DollyCart。這個Path默認是SmoothPath毒涧。只需要把做路徑動畫的物體作為Cart的子物體即可贮预。

方法三:直接創(chuàng)建Dolly Path。創(chuàng)建一個空物體契讲,給空物體添加CinemachinePath或CinemachineSmoothPath組件仿吞。

如何編輯路徑點呢?

1捡偏、在Hierarchy中選中Path物體唤冈。這時候能在Scene中看到整個路徑以及上面的路徑點(小白球)。
2银伟、可以在Inspector上的路徑點列表右下角點擊加號+添加路徑點你虹。
3、可以點擊場景中的小白球或者Inspector上路徑點前面的序號按鈕選中一個路徑點彤避。
4傅物、選中路徑點時,場景中路徑點上會有移動工具琉预,可以用來可視化移動董饰。此外還可以在Inspector上直接修改數(shù)值。

CinemachinePath組件

CinemachinePath中定義了一系列的路徑點模孩,定義在世界空間中尖阔。每個路徑點都有位置、切線和翻滾角度榨咐。在路徑點之間使用貝塞爾曲線插值介却,來獲得平滑、連續(xù)的路徑块茁。

提示:盡管路徑位置始終是平滑連續(xù)的齿坷,但沿路徑設(shè)置動畫時仍然可能會產(chǎn)生不穩(wěn)定的現(xiàn)象。當設(shè)置的切線沒有保證一階和二階導數(shù)的連續(xù)性時数焊,就會發(fā)生這種情況永淌。手動做到這一點并不容易,為避免這種潛在的不穩(wěn)定現(xiàn)象佩耳,盡量使用CinemachineSmoothPath遂蛀。CinemachineSmoothPath自動設(shè)置切線以確保完全平滑。

屬性詳解
Resolution 每個路徑點之間采樣的次數(shù)干厚。Cinemachine在計算路徑距離時使用此值來限制粒度李滴。場景視圖中路徑Gizmo上的交叉線反映了該值螃宙。

Appearance 路徑在場景中顯示的外觀。只在編輯器中生效所坯。

  • Path Color 選中路徑時的顏色谆扎。
  • Inactive Path Color 未選中路徑的顏色。
  • Width 路徑軌道的寬度芹助。

Looped 選中后堂湖,路徑會首尾相連。
Path Length 整個路徑長度状土,這個數(shù)據(jù)是只讀的无蜂,根據(jù)所有路徑點計算出來的。
Selected Waypoint 當前選中的路徑點的信息声诸。
Prefer Tangent Drag 當切線和位置的Gizmos在Scene視圖中重合時酱讶,選中該選項將Gizmo用來調(diào)節(jié)路徑點的切線退盯。

正常情況下CinemachinePath選中路徑點時有兩個Gizmo

Waypoints 定義路徑點的列表彼乌。

  • Position 位置,在路徑局部空間中的位置(即相對于路徑GameObject本身的變換)
  • Tangent 切線渊迁,定義了路徑點上曲線的切線慰照。切線的長度代表了貝塞爾的強度。Path路徑點兩邊默認使用對稱的切線以確保平滑琉朽。
  • Roll* 翻轉(zhuǎn)角度毒租。朝向的其他軸方向是從切線和世界的向上向量推斷出來的。

CinemachineSmoothPath組件

與Cinemachine Path不同箱叁,CinemachineSmoothPath組件保證了一階和二階連續(xù)性墅垮,這意味著沿路徑動畫的對象不僅位置而且角速度也將是平滑且連續(xù)的。

屬性詳解
Resolution 每個路徑點之間采樣的次數(shù)耕漱。Cinemachine在計算路徑距離時使用此值來限制粒度算色。場景視圖中路徑Gizmo上的交叉線反映了該值。

Appearance 路徑在場景中顯示的外觀螟够。只在編輯器中生效灾梦。

  • Path Color 選中路徑時的顏色。
  • Inactive Path Color 未選中路徑的顏色妓笙。
  • Width 路徑軌道的寬度若河。

Looped 選中后,路徑會首尾相連寞宫。
Path Length 整個路徑長度萧福,這個數(shù)據(jù)是只讀的,根據(jù)所有路徑點計算出來的辈赋。

Waypoints 定義路徑點的列表鲫忍。

  • Position 位置毛俏,在路徑局部空間中的位置(即相對于路徑GameObject本身的變換)
  • Roll* 翻轉(zhuǎn)角度。朝向的其他軸方向是從切線和世界的向上向量推斷出來的饲窿。

如何使用這個路徑

滑軌路徑(Dolly Path)是場景中的路徑點數(shù)組形成的一條路徑煌寇。

使用滑軌路徑分為相機路徑動畫和其他物體路徑動畫:

  • 相機路徑動畫建議使用Cinemachine中的VirtualCamera,然后Body的算法設(shè)置為Tracked Dolly逾雄,然后將其中的Path屬性設(shè)置為編輯好的Path阀溶。
  • 其他GameObject的路徑動畫可以使用Cinemachine中的Dolly Cart組件。

CinemachineDollyCart組件制作路徑動畫

Cinemachine Dolly Cart翻譯過來是滑軌小車鸦泳。相當于把一個物體放在小車里银锻,然后在軌道上移動。這個組件就是把當前所附著的GameObject沿著path移動做鹰。

可以直接從菜單欄創(chuàng)建Cinemachine > Create Dolly Track With Cart击纬,這會創(chuàng)建出來一個CinemachineSmoothPath和CinemachineDollyCart。也可以直接給GameObject添加CinemachineDollyCart組件钾麸。

屬性詳解
Path 路徑對象
Update method 更新的方法更振。

  • Update 正常更新
  • Fixed Update 與物理更新同步
  • Late Update 通常用于相機的更新

Position Unit 位置的單位

  • Path Units 使用路徑點的序號。比如0代表第一個路徑點饭尝,1代表第二個路徑點肯腕。
  • Distance 使用路徑的總長度。
  • Normalized 歸一化钥平。0代表路徑最開始的位置实撒,1代表路徑結(jié)束的位置。

Speed 移動小車的速度涉瘾≈基于Position Unit設(shè)置的單位。如果速度不為0立叛,則小車會根據(jù)速度自動移動负敏。
Position 當前小車所處的位置∏舭停基于Position Unit設(shè)置的單位原在。

擴展閱讀

【擴展學習】洪流學堂公眾號回復timeline可以下載Timeline&Cinemachine系列教程全文帶目錄PDF哦彤叉,更有本文的視頻教程等著你庶柿!


呼~ 今天小新絮絮叨叨的真是夠夠的了。沒講清楚的地方歡迎評論秽浇,咱們一起探索浮庐。

我是大智(歡迎加我微信:zhz11235),你的技術(shù)探路者,下次見审残!

別走梭域!點贊收藏哦搅轿!

好病涨,你可以走了。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末璧坟,一起剝皮案震驚了整個濱河市既穆,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌雀鹃,老刑警劉巖幻工,帶你破解...
    沈念sama閱讀 206,723評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異黎茎,居然都是意外死亡囊颅,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評論 2 382
  • 文/潘曉璐 我一進店門傅瞻,熙熙樓的掌柜王于貴愁眉苦臉地迎上來踢代,“玉大人,你說我怎么就攤上這事俭正〖轺蓿” “怎么了?”我有些...
    開封第一講書人閱讀 152,998評論 0 344
  • 文/不壞的土叔 我叫張陵掸读,是天一觀的道長。 經(jīng)常有香客問我宏多,道長儿惫,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,323評論 1 279
  • 正文 為了忘掉前任伸但,我火速辦了婚禮肾请,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘更胖。我一直安慰自己铛铁,他們只是感情好,可當我...
    茶點故事閱讀 64,355評論 5 374
  • 文/花漫 我一把揭開白布却妨。 她就那樣靜靜地躺著饵逐,像睡著了一般。 火紅的嫁衣襯著肌膚如雪彪标。 梳的紋絲不亂的頭發(fā)上倍权,一...
    開封第一講書人閱讀 49,079評論 1 285
  • 那天,我揣著相機與錄音捞烟,去河邊找鬼薄声。 笑死当船,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的默辨。 我是一名探鬼主播德频,決...
    沈念sama閱讀 38,389評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼缩幸!你這毒婦竟也來了抱婉?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,019評論 0 259
  • 序言:老撾萬榮一對情侶失蹤桌粉,失蹤者是張志新(化名)和其女友劉穎蒸绩,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體铃肯,經(jīng)...
    沈念sama閱讀 43,519評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡患亿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,971評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了押逼。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片步藕。...
    茶點故事閱讀 38,100評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖挑格,靈堂內(nèi)的尸體忽然破棺而出咙冗,到底是詐尸還是另有隱情,我是刑警寧澤漂彤,帶...
    沈念sama閱讀 33,738評論 4 324
  • 正文 年R本政府宣布雾消,位于F島的核電站,受9級特大地震影響挫望,放射性物質(zhì)發(fā)生泄漏立润。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,293評論 3 307
  • 文/蒙蒙 一媳板、第九天 我趴在偏房一處隱蔽的房頂上張望桑腮。 院中可真熱鬧,春花似錦蛉幸、人聲如沸破讨。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽提陶。三九已至,卻和暖如春若锁,著一層夾襖步出監(jiān)牢的瞬間搁骑,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留仲器,地道東北人煤率。 一個月前我還...
    沈念sama閱讀 45,547評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像乏冀,于是被迫代替她去往敵國和親蝶糯。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,834評論 2 345

推薦閱讀更多精彩內(nèi)容