Cinemachine系列——最佳視野(一)&CinemachineClearShot

陈侠云發表於2024-10-24

image
這裡介紹一下,自動切換到場景中最佳視野的攝像機的第一種方式。首先介紹一下CinemachineClearShot元件,它是自動完成這項工作的核心。透過Package Manager匯入Cinemachine外掛,在匯入Cinemachine Sample後,我們可以在Assets資料夾下Cinemachine/2.6.17(這個是你下載的cinemachine版本號)/Cinemachine Example Scenes/Scenes/ClearShot/ClearShot中看具體的Demo。

CinemachineClearShot

image
Cinemachine ClearShot攝像機元件可以在其子虛擬攝像機中選擇最佳鏡頭,以獲得目標的最佳畫面。使用ClearShot可以設定複雜的多攝像機覆蓋場景,以確保對目標的清晰視角。

主要功能:
選擇最佳鏡頭:ClearShot根據每個子虛擬攝像機的質量評估,選擇最佳鏡頭來拍攝目標。這使得攝像機可以動態調整,以保持最佳視角。

場景分析:帶有Cinemachine Collider擴充套件的虛擬攝像機子項會分析場景中的目標遮擋情況、最佳拍攝距離等資訊。ClearShot使用這些資訊來決定啟用哪一個子攝像機。

使用單一Collider:如果想為所有虛擬攝像機子項使用一個Cinemachine Collider,可以將Collider擴充套件新增到ClearShot GameObject,而不是每個子虛擬攝像機。這樣,這個Collider擴充套件就會應用於所有子攝像機,彷彿每個子項都有自己的Collider擴充套件。

優先順序選擇:如果多個子攝像機的鏡頭質量相同,ClearShot攝像機會選擇優先順序最高的那一個。

自定義過渡:使用者還可以定義ClearShot子項之間的自定義過渡效果,以實現更平滑的切換。

透過這些功能,ClearShot成為一個強大的工具,能夠在複雜場景中有效管理攝像機視角,確保始終能捕捉到清晰的目標畫面。

Look At

預設的目標GameObject是子虛擬攝像機移動時所依賴的目標。當某個子攝像機未指定目標時,ClearShot攝像機會使用這個預設目標。如果所有子攝像機都有自己的目標定義,那麼這個預設目標可以是空的。

Look At

目標GameObject是Unity攝像機瞄準的物件。當某個子攝像機未指定自己的目標時,ClearShot攝像機會使用這個目標。如果所有子攝像機都有自己的目標定義,那麼這個目標可以是空的。

Show Debug Text

勾選以在遊戲檢視中顯示實時虛擬攝像機和過渡的文字摘要。

Activate After

在啟用新的子攝像機之前,等待指定的秒數。這一設定用於控制在切換攝像機時的延遲時間,確保攝像機之間的切換不會過於突兀。

Min Duration

一個啟用的攝像機必須至少保持啟用狀態指定的秒數,除非有優先順序更高的攝像機變為啟用狀態。這一設定用於確保攝像機的穩定性和一致性,避免頻繁的切換。

Randomize Choice

勾選此選項可以在多個攝像機的鏡頭質量相同時隨機選擇一臺攝像機。如果不勾選,則會根據子虛擬攝像機的順序和優先順序來選擇攝像機。

Cinemachine Collider元件新增

鏡頭評估由ClearShot攝像機上的 CinemachineCollider 元件完成。它檢查目標的遮擋情況,並降低沒有清晰視野的鏡頭的質量評級。

場景中攝像頭擺放

image

相關文章