使用 虛擬攝影機(Cinemachine) 進行視角控制
使用Unity的Cinemachine來控制攝影機視角,可以大大簡化攝影機的控制並提升遊戲的視覺效果。Cinemachine是一個強大的工具,允許你創建虛擬攝影機,並根據不同需求自動控制攝影機的運動和切換。
1. 安裝Cinemachine
在使用Cinemachine之前,需要確保它已經安裝在你的Unity專案中。
步驟:
- 打開
Package Manager
:- 在Unity的頂部菜單欄中,選擇
Window > Package Manager
。
- 在Unity的頂部菜單欄中,選擇
- 搜索並安裝Cinemachine:
- 在
Package Manager
中搜索Cinemachine
。 - 選擇
Cinemachine
並點擊Install
進行安裝。
- 在
2. 創建並設置虛擬攝影機
虛擬攝影機(Virtual Camera)是Cinemachine的核心組件,通過它你可以輕鬆控制攝影機的視角和移動。
步驟:
- 創建虛擬攝影機:
- 在頂部菜單中,選擇
Cinemachine > Create Virtual Camera
。 - 一個新的虛擬攝影機 (Cinemachine Virtual Camera) 將會出現在場景中。
- 在頂部菜單中,選擇
- 設置虛擬攝影機的目標 (Follow & Look At):
- 選擇虛擬攝影機,在
Inspector
面板中設置Follow
和Look At
參數。Follow
:設置為你想要攝影機跟隨的目標(例如角色)。Look At
:設置為攝影機應該注視的目標(通常與Follow
相同)。
- 這樣攝影機就會自動跟隨並注視目標物件。
- 選擇虛擬攝影機,在
- 調整攝影機運動參數:
- 在
Inspector
中,你會看到Body
和Aim
模組,用來控制攝影機的運動和目標瞄準。 - Body 模組:調整
Transposer
、Hard Lock to Target
、Orbital Transposer
等參數,來定義攝影機的跟隨行為。 - Aim 模組:調整
Composer
、Hard Look At
等參數,來控制攝影機如何對準目標。
- 在
3. 創建不同的攝影機視角
你可以創建多個虛擬攝影機,並根據遊戲需求切換不同的視角。
步驟:
- 創建多個虛擬攝影機:
- 重複創建虛擬攝影機的步驟,為每個場景或角色創建一個專用的虛擬攝影機。
- 例如,一個虛擬攝影機用於跟隨玩家角色,另一個用於顯示固定場景視角。
- 設置每個虛擬攝影機的參數:
- 為每個虛擬攝影機設置不同的
Follow
和Look At
目標,以及不同的運動和瞄準模式。 - 這樣可以實現多樣化的攝影機視角和效果。
- 為每個虛擬攝影機設置不同的
4. 切換虛擬攝影機視角
Cinemachine會自動管理虛擬攝影機的切換,優先激活的虛擬攝影機會控制主要視角。你可以使用Cinemachine的 CinemachineBrain
組件來控制視角的過渡效果。
步驟:
- 確保場景中有Cinemachine Brain:
- Unity會自動在主攝影機上添加
CinemachineBrain
組件。這個組件負責在虛擬攝影機之間切換視角。
- Unity會自動在主攝影機上添加
- 設置虛擬攝影機的優先級:
- 在
Inspector
面板中,每個虛擬攝影機都有一個Priority
欄位。數值越高,優先級越高。 - 你可以通過修改優先級來控制當前激活的攝影機。優先級較高的虛擬攝影機會自動成為主攝影機。
- 在
- 使用腳本切換攝影機:
- 如果需要在特定事件下切換攝影機,可以使用腳本來控制優先級。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
using UnityEngine;
using Cinemachine;
public class CameraSwitcher : MonoBehaviour
{
public CinemachineVirtualCamera cam1;
public CinemachineVirtualCamera cam2;
void Update()
{
if (Input.GetKeyDown(KeyCode.Alpha1))
{
cam1.Priority = 10;
cam2.Priority = 0;
}
if (Input.GetKeyDown(KeyCode.Alpha2))
{
cam1.Priority = 0;
cam2.Priority = 10;
}
}
}
這段腳本通過按鍵切換兩個虛擬攝影機的優先級來控制視角。
5. 過渡效果與調整
Cinemachine自帶平滑過渡效果,你可以進一步調整過渡的細節。
過渡效果:
- Blend:
CinemachineBrain
組件中的Default Blend
設置允許你控制視角切換時的過渡效果(如淡入淡出、平滑轉場等)。 - Custom Blends:你可以為特定的攝影機過渡設置自定義效果,例如從一個虛擬攝影機切換到另一個時使用不同的過渡方式。
小結
使用Cinemachine進行視角控制大大簡化了攝影機的管理,同時提供了豐富的攝影機效果選項。通過創建多個虛擬攝影機並設置不同的視角和運動方式,可以實現非常靈活的攝影機控制,提升遊戲的沉浸感和視覺效果。無論是簡單的跟隨攝影機還是複雜的過場動畫,Cinemachine都能夠幫助你輕鬆實現。
本文章以 CC BY 4.0 授權