日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[UE4]RetainerBox,控制UI更新频率,把渲染后的UI当成Texture

發布時間:2025/7/25 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [UE4]RetainerBox,控制UI更新频率,把渲染后的UI当成Texture 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

RetainerBox是一個容器,只會影響其容器內的UI,RetainerBox的作用:

一、控制UI更新頻率(可能是為有優化性能)

  1、在UserWidget中添加Retainer Box容器,并在容器內添加一個名為TextBlock_0的TextBlock。

    

  2、聲明一個名為Counter的變量,在Event Tick事件(每一幀都會被調用)中Counter自加一,并賦值給TextBlock_0

    

  3、運行游戲,會看到數字以極快的速度更新一次。(一般情況下游戲是每秒60幀,一秒會更新60次畫面,每秒調用Event Tick事件,非常耗費資源,因此Event Tick事件不適合做特別耗費資源的邏輯)

    

  4、RetainerBox的Pase和Pase Count控制更新速度。Pase Count:每隔多少幀更新(繪制)一下其容器內的UI

    Pase=0,Pase Count=1,在60HZ(HZ刷新率,每秒更新多少幀。UE4默認是60HZ)游戲中,RetainerBox容器內的UI每秒更新60次;

    Pase=0,Pase Count=2,在60HZ游戲中,RetainerBox容器內的UI每秒更新30次;

    

  5、把Pase Count改成60,Phase=0保持不變。在60HZ的游戲則會看到TextBlock_0每1秒才更新一下

    

?二、把渲染后的UI當成Texture,放入材質中,加工后(各種特效,比如:漸變、移動、縮放等),再顯示

  1、新建一個名為M_TestRetainer的材質,Material Domain改成User Interface,添加一個命名為Texture(需要跟UI的RetainerBox容器的Texture Parameter值一致)的TextureSampleParameter2D節點

    ?

  2、UI中把RetainerBox_0的Effect Material改成M_TestRetainer,Texture Parameter材質參數保持Texture不變(需要跟TextureSampleParameter2D節點名稱一致)

    

?  3、運行游戲,畫面效果如圖所示

    

  4、下面讓材質支持透明通道,并添加線性漸變特效。在M_TestRetainer材質中,Blend Mode改成Translucent,將Param2D節點和M_TestRetainer的透明通道相連接。

    

?  5、運行游戲看效果:支持透明通道,并且有線性漸變效果。

    

  6、如果要改成漸變效果從下往上,可以添加一個“1-x(OneMinus)”節點,也就是1減去左邊輸入的參數值,得到的結果從右邊輸出  

    

  7、運行游戲,漸變效果變成從下往上了。

    

  8、如果要從左到右漸變,則使用LinearGradient的UGradient節點

    ?

  9、同樣的,使用“1-x(OneMinus)”節點,可以改成漸變從右到左。

    ??

?  10、使用Panner使材質實現翻滾動畫

    ??

?

?

?

?

?

?

?

    

?

轉載于:https://www.cnblogs.com/timy/p/10042873.html

總結

以上是生活随笔為你收集整理的[UE4]RetainerBox,控制UI更新频率,把渲染后的UI当成Texture的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。