虛幻4初級 使用純藍圖制作一個簡易的仿吃雞血條效果(藍圖宏)

Demo下載

實現(xiàn)效果

分析

  • 整個條使用百分比來表示,最大值為1.0,最小值為0。
  • 使用插值做平滑效果,所以要用Tick(Widget中不能使用TimeLine)
  • 在血量減少的時候使用插值減少實際血量的比值,并同時增加延遲的比值,這樣可以保證實際血量的值+延遲的值是保持不變的。
  • 在一定延時后,使用插值處理延遲值的減少,并同時空的值增加,原因同上
  • 判斷血量是減少還是增加,如果是減少則使用上述方法,如果是增加的話則延遲的值始終為零,使用插值增加實際血量,同時減少空的值,保證三個比值的總值永遠為1.0

藍圖

實際上,我們有現(xiàn)成的控件,百分比值的控制可以使用【HorizontalBox】Slot中SIze的值(模式為填充)


Slot


如果每次使用都需要Cast的話有點麻煩,我們將其封裝成藍圖宏:


SetSlotValue

GetSlotValue

還有一個稍微復雜的宏,我會著重講解:


將上面血條的三段拆分出來

這個需要實現(xiàn)的宏的主要作用是:保持線段總長不變(ac恒定ab+bc=ac),其中一個線段減少,另一個線段相應增加(ac-(ab-n)=bc+n)。


SetSlotValue_2

將SetSlotValue_2插值化(SetSlotValue2ByInterp)
WidgetIsEnpty

UI

層次結構,那三個子控件都是Border

測試效果

UpdateRealAndLag

UpdateLagAndEnpty

Tick

更新值的接口
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容