Cinemachine代碼修改屬性


Cinemachine是一個十分強大的插件,添加了很多相機相關的功能,可以很方便的設置游戲的相機。

下面是一些鏈接簡單了解一下Cinemachine的使用:

https://connect.unity.com/search?k=%5B%22q%3ACinemachine%E6%99%BA%E8%83%BD%E7%9B%B8%E6%9C%BA%E6%95%99%E7%A8%8B%22%5D

網上相關的帖子也有很多,多用用就了解了。

我在使用Cinemachine時,有時候想要修改它的屬性(以CinemachineVirtualCamera的Body中的Transposer為例)

 發現CinemachineVirtualCamera類沒有直接提供接口供人使用,它是通過方法

GetCinemachineComponent<T>()

來間接提供的。

 這樣的話就可以獲取CinemachineTransposer 對象了(這里截一點給大伙看看里面的屬性),從而達到修改Body中的Transposer屬性:

 

聰明的小伙伴看到這里就已經活學活用了,我既然能獲取那也就能添加,利用

AddCinemachineComponent<T>()

沒錯,比如,我們可以通過這個方法添加動態添加噪點(可以實現屏幕抖動)

如:

public CinemachineVirtualCamera cv;
public NoiseSettings noiseSettings; void TestNoise() { //屏幕抖動 CinemachineBasicMultiChannelPerlin noise = cv.AddCinemachineComponent<CinemachineBasicMultiChannelPerlin>(); noise.m_NoiseProfile = noiseSettings;    //1s后銷毀 new Task(Utils.Delay(1f)).Finished += (bool b) => { cv.DestroyCinemachineComponent<CinemachineBasicMultiChannelPerlin>(); }; }

Unity工程:

這個NoiseSettings可以早Packages里面找到,里面的噪點類型電影機已經給了很多個了,基本能滿足日常開發使用

 

 

有用的話麻煩給個贊再走吧!

好了,小伙伴們快去試一試吧!

對了,安利一波,Cinemachine插件里的Example Scenes(在Package  Manager里下載)可以查看官方人員怎么使用的。其中有個場景(Free Look character)寫了個人物移動的功能,使用起來那是十分舒服,腳本也是十分簡短,有興趣的小伙伴去看看吧!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM