UE4里可以通過接口實現命令的傳遞,減少主程序的代碼量。
接口先定義了抽象的函數,在實現了該接口的類藍圖中進行重寫,從而實現某些特定的功能。
下面是一個例子,結合射線檢測通過接口進行對類藍圖的調用。
首先新建一個藍圖接口,命名為BPI_Getpoint,在里面定義了兩個抽象的函數,
BPI_start 和 BPI_point,當我們鼠標拾取到某藍圖類時,start方法使該藍圖類做一些明顯的動作表示調用成功(比如旋轉跳躍),point方法打印我們拾取的點。
然后新建兩個藍圖類,並在class setting中的接口選項里add BPI_getpoint。
在角色藍圖中實現射線檢測,並進行判斷。如果遮擋射線的物體 實現了BPI_getpoint的接口,那么就轉換成BPI_getpoint,並調用BPI_start和BPI_point函數
接下來是兩個實現了BPI_getpoint的藍圖類,BP_X和BP_Y。
注意這里要選擇添加事件的BPI Point和Start
下面是BP_X的藍圖,BPI Start使之旋轉,BPI Point使之打印射線被阻擋的點
下面是BP_Y的藍圖,BPI start使之上下跳動,BPI Point使之打印射線被阻擋的點
結果: