亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

江源县| 湖南省| 大姚县| 莱西市| 运城市| 新宁县| 新巴尔虎左旗| 房产| 渝北区| 东台市| 平泉县| 宜川县| 阳春市| 潞城市| 玉林市| 称多县| 二连浩特市| 潞西市| 甘肃省| 新密市| 尼木县| 边坝县| 康保县| 克什克腾旗| 蒙山县| 墨竹工卡县| 吴桥县| 棋牌| 彭阳县| 邯郸县| 新营市| 黎城县| 海林市| 洛南县| 广宁县| 明光市| 绥中县| 富民县| 周口市| 额济纳旗| 巫溪县|