ue4實現富文字提示

2021-07-23 13:56:53 字數 1513 閱讀 2521

遊戲中需要用到富文字提示資訊,即一行提示資訊文字可配置多種顏色,還可以考慮加入(本文只實現多顏色,擴充套件也比較簡單)

實現富文字,大體分為兩步:

1.實現富文字配置

2.顯示富文字

先來看第一步,定義提示資訊格式,如下所示:測試行

一很明顯,可以為「測試」、「行」、「一」配置不同顏色,此處使用了顏色索引,約定好一些顏色,當然也可以直接配置顏色值,想要加入,只要擴充套件屬性即可

以上格式採用正規表示式解析比較簡單,具體解析**如下:

ustruct()

struct ftextelementinfo

;ufunction(blueprintcallable, category = "textelement")

void parsenoticestring(const fstring& strs, tarray& elementlist);

void parsetextelement(const fstring& str, fstring& text, int32& color);

void utestgameinstance::parsenoticestring(const fstring& strs, tarray& elementlist)

else

elementlist.add(info); }}

void utestgameinstance::parsetextelement(const fstring& str, fstring& text, int32& color)

} tmapattrlist;

const fregexpattern attrpattern = fregexpattern(text("([\\w\\d\\.-]+=[\\w\\d\\.-]+)"));

fregexmatcher attrmatcher(attrpattern, str);

while (attrmatcher.findnext())

fstring* colorstr = attrlist.find(text("color"));

if (colorstr != null && !colorstr->isempty())

else

const fregexpattern textpattern = fregexpattern(text(">([\\w\\d\\.-]+)<"));

fregexmatcher textmatcher(textpattern, str);

if (textmatcher.findnext())

}

通過以上**,即可把約定格式的文字解析到ftextelementinfo列表中

解析邏輯比較通用,跟引擎甚至語言無關,當然也跟顯示無關

接下來看第二步,實現富文字顯示

顯示富文字跟具體的需求有關,以下提供乙個簡單的實現:

先靜態建立最大數量的文字顯示控制項,把要顯示的提示資訊放到乙個列表裡,然後每幀重新重新整理顯示列表的資訊,隱藏沒有用上的文字控制項,具體實現由於是藍圖實現就不上圖了,很簡單

ue4玻璃材質 UE4 材質

本文中,我們將首先討論基於物理的渲染,什麼是材質域,什麼是材質,什麼是材質例項,什麼是主材質,我們將討論材質的一些建議和禁忌。最後,我們將了解一些材質概念,你可以將其用於各類專案中的材質。pbr 表示基於物理的渲染,基於物理的渲染意味著我們根據現實模擬光線,而不是根據主觀想法模擬光線。光線的最終效果...

ue4材質節點大全 UE4 材質

凹凸貼圖偏移 bumpoffset 是虛幻引擎4術語,就是通常所謂的 視差貼圖 bumpoffset表示式可以使材質產生深度錯覺,而不需要額外的幾何體。深度資訊。高度貼圖的值越亮,材質的 凸出 效果越明顯 當攝像機在表面上移動時,這些區域將產生視差 位移 較遠 其位移程度最小。在不改變原有模型面數的...

ue4讀取外部資料 UE4 txt文字讀取

include misc filehelper.h include paths.h bool areadtxtfileactor loadtextarray fstring filename,int32 bpm,int32 timesignatureleftnum,int32 timesignatu...