前言?
本篇實現(xiàn)了CameraPawn的旋轉(zhuǎn)功能。
效果?
步驟
1. 打開項目設(shè)置,添加兩個操作映射
2. 打開玩家控制器“RTS_PlayerController_BP”,新建一個浮點型變量,命名為“PanSpeed”
在事件圖表中添加如下節(jié)點
?此時運行游戲可以發(fā)現(xiàn)當(dāng)鼠標(biāo)移動時,CameraPawn會圍繞Z軸進行相應(yīng)的旋轉(zhuǎn),但是按下W鍵時前進方向并不是旋轉(zhuǎn)后的正方向:
上面的問題在下一篇文章中會解決。我們此時已經(jīng)完成了CameraPawn繞Z軸旋轉(zhuǎn)的邏輯,這里再將CameraPawn繞Y軸旋轉(zhuǎn)的邏輯補充完整:
?需要對CameraPawn的Y軸旋轉(zhuǎn)范圍做一個限制
這里我們不想讓鼠標(biāo)一直控制CameraPawn的旋轉(zhuǎn),因此我們可以通過Gate節(jié)點來控制,只有當(dāng)我們按下鼠標(biāo)中鍵觸發(fā)“Pan”事件時,Gate節(jié)點的門才打開,此時才會控制CameraPawn的旋轉(zhuǎn)。
顯示鼠標(biāo)光標(biāo):
或通過勾選如下選項來顯示鼠標(biāo)光標(biāo)
這里我們不希望在控制CameraPawn旋轉(zhuǎn)時,CameraPawn能夠被移動,因此這里新增一個布爾類型的變量,命名為“DisabelCanMovement”,表示“不能移動是真還是假”
?然后當(dāng)CameraPawn即將旋轉(zhuǎn)前對該變量進行設(shè)置,旋轉(zhuǎn)的時候設(shè)置不能移動,不旋轉(zhuǎn)的時候設(shè)置為可以移動。
?然后在CameraPawn移動的邏輯中對該變量進行判斷,只有“DisabelCanMovement”為假的時候才能夠移動
?此時運行游戲可以發(fā)現(xiàn)CameraPawn的旋轉(zhuǎn)和移動不能同時進行了。再添加如下節(jié)點,實現(xiàn)重置CameraPawn在Y軸方向上的旋轉(zhuǎn)文章來源:http://www.zghlxwxcb.cn/news/detail-637063.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-637063.html
到了這里,關(guān)于【UE4 RTS】04-Camera Pan的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!