Scene Component是藍圖類中一個不怎麼經常使用的分類(特別是對於新手而言),主要是其實現的功能能夠在Actor類中用相同的方法實現,使其做用顯得有點多餘。測試
筆者在使用過這個類以後發現其做用更至關於一個接口,能夠被其餘藍圖類調用,且操做方法簡單,實現後效果明顯,在這裏介紹一個簡單的應用便於讀者理解和使用這個藍圖類。spa
準備工做blog
首先是建立一個Scene Component藍圖類,命名爲HoverComponent。接口
接下來是編寫藍圖邏輯以前的工做:建立兩個Float變量,命名爲TraceLength和HoverForce,前者用於調整物體浮動時的幅度,後者表示物體在浮動時受到的壓力。TraceLength初始值設爲150,可將該變量設爲公共變量,便於在遊戲中進行實時更改;HoverForce初始值設爲500000。遊戲
事件調度事件
上述節點實現了Component的初始值設置和模擬物理效果設置。變量
而後調用Event Tick事件,在遊戲的每一幀進行射線檢測,檢測的方向爲物體的Z軸方向,幅度則爲以前設置的TraceLength方法
檢測的結果暴露出來後將法相方向碰撞矢量和位置矢量進過簡單的運算後獲得物體浮動力矢量,添加到Component上im
最後設置Component的線性減震和角度減震,這樣一個簡單的物體浮動效果藍圖就製做完成了。d3
實際測試
在關卡中建立一個Cube或者Sphere靜態物體組件,選中後在Detail面板中添加上文中製做完成的HoverComponent,將物體的移動屬性改成Movable,將Cube或Sphere放置到場景中,運行關卡,進行測試,能夠在Default中更改TraceLength的值查看效果
筆者的測試結果以下圖所示