三者定义:
FName:FName这个字符串类是用来给某个东西命名(Name)的,也就是说作为一个东西的ID。这里说的东西可以是编辑器Content浏览窗口里看到的各种资源,可以是动态材质实例里的某个可设置的参数,还可以是模型骨架中某个具体的骨骼,以及比如角色mesh里用来attach武器的socket。
FString:它创建后是可修改的(mutable)。它提供大量操作字符串的方法,比如将字符串倒序,获取某个子串等。在你的程序内部,做比如拼装一个URL等逻辑时就会用到它。需要注意的是,因为它的可修改特性,它对性能不是那么的友好,另外在线程间共享时需要很注意。
【资料图】
FText:在你的游戏中玩家所能见到的文本都应该用FText来做,比如在UI上的文本显示。总而言之,假如你希望利用这个实验性的功能来方便的实现多语言支持,那么就用FText。
三者互相转换方法(C++):
FString
可直接借助反取符转为FName
借助FromString()转为FText
FName
借助ToString()转为FString
借助FromName()转为FText
FText
借助ToString()转为FString
FText无法直接转为FName,需要借助ToString()转为FString,再反取到FName