遊戲中需要用到富文字提示資訊,即一行提示資訊文字可配置多種顏色,還可以考慮加入(本文只實現多顏色,擴充套件也比較簡單)
實現富文字,大體分為兩步:
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...