目錄
效果
步驟
一、多攝像機視角切換
二、攝像頭自動旋轉巡視
三、攝像頭跟蹤拍攝
效果
步驟
一、多攝像機視角切換
1. 打開玩家控制器“MyPlayerController”,添加一個變量,命名為“BP_SecurityCameraArray”,類型為“BP_SecurityCamera”的對象引用且是數組類型
添加一個新函數,這里命名為“HasCamera”
該函數判斷數組“BP_SecurityCameraArray”是否為空
添加一個整型變量,命名為“BP_SecurityCameraIndex”
添加兩個新函數,分別命名為“NextCamera”和“PriviousCamera”,表示用于獲取下一個/上一個的相機索引
函數“NextCamera”邏輯如下,判斷當前的相機索引是否超過相機總數,如果超過了就返回第一個相機,沒有就加1
函數“PriviousCamera”邏輯如下
添加一個新函數,命名為“SetViewTargetAsActiveCamera”,設置當前視圖目標為當前相機索引對應的攝像機視角
2. 打開“BP_ThirdPersonCharacter”,新建一個宏,用來獲取玩家控制器“MyPlayerControlller”的引用
在事件開始后就調用該宏
在按下F鍵后先調用函數“HasCamera”來獲取場景中的“BP_SecurityCamera”對象,將其存儲進數組。在按F鍵后設置“BP_SecurityCameraIndex”為0
通過Q鍵、E鍵切換視角為上一個/下一個相機
3. 在場景復制3個“BP_SecurityCamera”
此時效果如下,我們可以通過Q、E鍵來切換這三個攝像機的視角,通過F鍵讓視角返回玩家
二、攝像頭自動旋轉巡視
為了實現攝像頭在沒有檢測到目標時能夠自動旋轉巡視的功能,打開“BP_SecurityCamera”,在事件圖表中添加如下節點
時間軸曲線如下,關鍵點分別為(0,0),(5,-45),(15,45),(20,0)
此時可以看到攝像頭可以自動旋轉巡視周圍
三、攝像頭跟蹤拍攝
在“BP_SecurityCamera”中添加如下節點,先判斷玩家和攝像頭距離是否小于1000cm,如果是的話就讓攝像機一直朝向玩家
當玩家沒有處于1000cm范圍內就啟動自動旋轉巡視
參考視頻:
https://www.bilibili.com/video/BV1ZX4y1Y74y/?spm_id_from=333.999.0.0&vd_source=36a3e35639c44bb339f59760641390a8