前言
本篇實現的效果是當CameraPawn移動到地圖邊緣時會被阻擋。
效果
步驟
1. 打開項目設置,在“引擎-碰撞”中,點擊“新建Object通道”
?新建通道命名為“MapBoundaries”,然后點擊接受
2. 向視口中添加 阻擋體積
?調整阻擋體積的縮放
向四個邊界都添加阻擋體積
?可以看到我們的阻擋體積可以離地圖邊緣稍微遠一點
?添加好的阻擋體積如下
?在選中者4個阻擋體積的前提下,碰撞預設選擇自定義,對象類型選擇“MapBoundaries”,碰撞響應中除了Visible選擇忽略,其他都選擇阻擋。
?3. 打開“RTS_CameraPawn_BP”,選中靜態網格體組件“Sphere”
?
靜態網格體組件“Sphere”的碰撞預設設置為自定義,然后除了“MapBoundaries”設置為阻擋,其他所有的碰撞響應都設置為忽略。
?刪除場景組件,然后將“Sphere”作為根組件
?將彈簧臂組件的Y軸旋轉角度重新設置為70°
在玩家控制器“RTS_PlayerController_BP”中檢查關于CameraPawn移動的邏輯,檢查“添加Actor本地偏移”和“設置Actor位置”節點是否勾選了“Sweep”引腳,如果不勾選,CameraPawn在遇到阻擋體積時是不會被阻擋的。
此時運行游戲可以看到當CameraPawn移動到地圖邊緣會被阻擋體積阻擋,效果如文章開頭所示。