91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Unity - Cinemachine怎樣實現相機抖動

發布時間:2021-11-15 14:50:09 來源:億速云 閱讀:1133 作者:柒染 欄目:大數據

本篇文章為大家展示了Unity - Cinemachine怎樣實現相機抖動,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

普通相機抖動腳本較易實現,但在使用cinemachine相機下,其Transform組件不可被代碼修改,那么Cinemachine的相機抖動如何實現呢?小編對實現相機抖動的三大步驟進行系統講解:

設置流程

項目背景:一款2D像素動作游戲,我們操控著Player(必須帶有Collider組件),游戲相機為 Cinemachine 2DCamera (關于其配置方法此處不做贅述,推薦文章在末尾參考處)

1. 在相機上添加監聽腳本

在我們使用的虛擬相機 CM vcam1 上添加組件:AddComponent-> CinemachineImpulse Listener

  • CinemachineImpulse Listener : 監聽腳本內震動信號(方法調用) ,使得 抖動在此相機上發生

    • Channel Mask:通道遮罩,此處最好默認為EveryThing

    • Gain:可獲得震動信號的數目,0為屏蔽,1表示某時段僅能進行一個抖動運動

    • Use 2D Distance:用于2D游戲,忽略相機Z軸的抖動

Unity - Cinemachine怎樣實現相機抖動

2. 在震動信號發生物體上添加腳本

震動信號發生物體( 調用震動函數的物體 )為Player,因此需要在Player上添加組件:AddComponent-> Cinemachine Collision Impulse Source (注:必須掛到含Collider的物體上),然后在Raw Signal右側齒輪-> New Noise Settings 添加 震動配置器 ,默認名CM vcam1 Raw Signal

  • Cinemachine Collision Impulse Source :含有 抖動函數 、 震動配置器 的關鍵腳本

    • Raw Signal: 震動配置器 ,配置 震動參數 的關鍵部件,我們打開剛上面新建的CM vcam1 Raw Signal,可看到震動方式的各類參數。我們以Position Y,即上下抖動為例,添加Components后可設置其 Frequency震頻 及 Amplitude震幅 ,并且勾選右側方框可將其設置為 正弦波

    • Attack:抖動開始的變化曲線及時間

    • Sustain Time: 抖動的持續時間

    • Decay:抖動衰退的變化曲線及時間

Unity - Cinemachine怎樣實現相機抖動

Unity - Cinemachine怎樣實現相機抖動

3. 調用震動方法:

在Player內引用震動核心腳本,并在合適位置調用震動方法

private Cinemachine.CinemachineCollisionImpulseSource MyInpulse;
private void Start(){    MyInpulse = GetComponent<Cinemachine.CinemachineCollisionImpulseSource>();}
private void Update(){    //按下右鍵產生相機抖動,抖動方式依照上面CM vcam1 Raw Signal內配置信息    if (Input.GetMouseButtonDown(1))        MyInpulse.GenerateImpulse();}

至此,我們在游戲內操控Player,按下右鍵即可實現相機抖動。當然除了上面無參的 GenerateImpulse() 方法,還有兩個帶參的方法:

//假若使用傳遞velocity的方法,其震動方式為velocity和CM vcam1 Raw Signal的混合public void GenerateImpulse(Vector3 velocity);public void GenerateImpulse(Vector3 position, Vector3 velocity);

此外,還有可能出現bug:還尚未調用震動函數,游戲開始時就自動產生抖動。其產生原因博主尚未在對應腳本內發現,但解決方式為關閉Player上的Cinemachine Collision Impulse Source腳本

總述

Cinemachine中實現相機抖動的基本流程:

  • 在虛擬相機上添加 監聽腳本 CinemachineImpulse Listener

  • 在Player上添加震動 核心腳本Cinemachine Collision Impulse Source ,并添加、設置 震動配置器

  • Player腳本合適位置 調用震動函數

本例僅介紹了單Position方向上的抖動,讀者可按需配置抖動的Position、Rotation、發生時間、維持時間、衰退時間等,實現自己想要的效果

Unity - Cinemachine怎樣實現相機抖動


上述內容就是Unity - Cinemachine怎樣實現相機抖動,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

左贡县| 大同县| 南江县| 衢州市| 普宁市| 吉首市| 诸城市| 博兴县| 安福县| 涿鹿县| 蓬溪县| 吴江市| 海南省| 资阳市| 南川市| 鄂伦春自治旗| 宜宾市| 海原县| 南安市| 道真| 锦州市| 南江县| 麦盖提县| 马公市| 鸡泽县| 特克斯县| 洮南市| 雷山县| 新邵县| 新密市| 柳河县| 赤城县| 新平| 大冶市| 蛟河市| 加查县| 山东省| 桃园市| 古丈县| 西吉县| 依兰县|