早期因為處理器的運算效能有限,遊戲中的動畫大都採用預先著色的方式製作,近年來由於系統效能的提升,使用即時著色的方式製作動畫的遊戲已經是主流。本教學介紹使用 Playmaker 的變數記錄攝影機的位置,遊戲中攝影機可以切換到不同的位置,達到運鏡的效果。
「變數」在所有的程式語言都可以看到,變數用於儲存物件的狀態,例如玩家的名稱與分數等。變數可以有多種不同的型態,這次用於記錄遊戲物件的位置。
點選功能表 [ GameObject > Create Empty ] 新增一個空的遊戲物件,此物件的功能是控制攝影機,重新命名為「cameraController」。
為它加上 FSM 狀態機 ( Add FSM) 。將下方的初始狀態重新命名為「Camera 1」,為了區分不同的攝影機觀點。

切換到「變數」標籤,從「新變數」欄位輸入變數名稱,我們需要儲存攝影機的位置與旋轉角度,所以總共需要 2 個變數。
第 1 個變數命名為「startPosition」,代表攝影機的初始位置,然後從「變數類型」選擇「Vector3」,按下 Enter 新增變數。
註:Vector3 這種變數類型可以儲存物件的 XYZ 座標位置或是旋轉角度。
 
第 2 個變數命名為「startRotation」,代表攝影機的初始旋轉角度,同樣從「變數類型」選擇「Vector3」,按下 Enter 新增變數。
 
將攝影機調整到適當的位置與旋轉角度,然後將攝影機的座標位置輸入到 startPosition 變數的 XYZ,將旋轉角度輸入到 startRotation 變數的 XYZ 欄位。
 
選取 Camera 1 狀態,按下 Action Browser 「操作瀏覽器」按鈕,然後操作瀏覽器中選擇 [ Transform > Set Position ],從 Vector 下拉選單選擇「startPosition」,但是因為 cameraController 本身並非攝影機,必須將 Game Object 從 UseOwner 改為 SpecifyGameObject 然後將 Main Camera 拖曳到下方的欄位。
 

實際上並不是控制 CameraController 這個物件,所以將 Game Object 改為 Specify Game Object(指定其他遊戲物件)。
 
將攝影機拖曳到原本顯示 None (GameObject) 的遊戲物件欄位。

無論您稍後在編輯模式是否移動了攝影機,按下 Play 進入遊戲模式,攝影機將會回到設定的位置。
SetRotation 設定攝影機的旋轉角度。
再次開啟 Action Browser 操作瀏覽器,選擇 [ Transform > Set Rotation ],從 Euler Angles 下拉選單選擇「startRotation」,
 
按下 Play 進入遊戲模式,攝影機將會回到設定的旋轉角度,無論您稍後的編輯是否轉動了攝影機。
接著,我們可以加上鏡頭切換時,經常運用的淡入淡出效果,這部份是使用「Camera Fade In」與「Camera Fade Out」製作。
選取 Camera 1 狀態,從 Action Browser 操作瀏覽器選擇 [ Camera > Camera Fade In ],確認 Camera Fade In 是在最下方的位置,設定 Color 顏色 = 黑色,Time 時間=2秒。
 
提示:最上方的操作將會先執行。
再新增一個狀態,重新命名為「startup」,並且改為初始狀態,添加 Camera Fade Out ,顏色 = 黑色,時間=2,FINISHED 拉線到 Camera 1 狀態,然後將 Finished Event 下拉選單改為「FINISHED」。

PlayMaker 官方教學
PlayMaker Camera Motion And Control 攝影機移動與控制
02 - Camera Cuts and Audio
https://www.youtube.com/watch?v=ufVqeQSgrSE
03 - Camera Motion and Fly Through 攝影機移動與飛越
https://www.youtube.com/watch?v=YDD10az4C6A
04 - User Driven Camera Control 玩家驅使攝影機控制
https://www.youtube.com/watch?v=LABZregOMlQ
05 - Adventure Game Style Cameras 冒險遊戲攝影機
https://www.youtube.com/watch?v=qaltvhIV-dE
06 - RPG and RTS Style Cameras 角色扮演與即時戰略遊戲攝影機
https://www.youtube.com/watch?v=MANk3Bj4Nkk
07 - First and Third Person Cameras 第一人稱與第三人稱攝影機
https://www.youtube.com/watch?v=ykah5VSdP7E |