目錄
效果
步驟
一、實現多次測距功能
二、通過控件藍圖來進行測距
在上一篇(【UE】用樣條線實現測距功能(上))文章基礎上繼續實現多次測距和清除功能。
效果
步驟
一、實現多次測距功能
打開藍圖“BP_Spline”,創建一個布爾類型變量“IsNeedMeasure”,表示是否需要測量,默認為False
在自定義事件“測量”執行時,先判斷“IsNeedMeasure”是否為True,為True才繼續執行
創建一個自定義事件命名為“結束繪制”,該事件執行后設置變量“IsNeedMeasure”是否為Fasle,然后清除樣條點
點擊鼠標左鍵的時候,設置“IsNeedMeasure”為True,點擊Alt+鼠標右鍵時調用“結束繪制”
?此時運行效果如下,我們可以進行多次測量
二、通過控件藍圖來進行測距
1. 新建一個控件藍圖,這里命名為“WBP_Ranging”
打開“WBP_Ranging”,添加兩個按鈕控件
“測量”按鈕的點擊事件如下,這里生成“BP_Sphere”的目的是讓球能夠跟隨鼠標光標在視口上移動,當球出現在鼠標位置時就表示當前正在使用測距功能
每幀都去重新設置球的位置
“清除”按鈕的點擊事件如下
2. 打開“BP_Spline”,刪除如下節點
再刪除如下節點
在結束繪制后還需要銷毀那個跟隨鼠標移動的球體
3. 打開關卡藍圖,刪除之前寫的生成“BP_Spline”的節點
然后將顯示鼠標的節點和創建控件藍圖的節點寫在這里
將鼠標點擊事件也寫在這里
最終效果如下: