凛(kagring)のUE4とUnityとQt勉強中ブログ

2016 年から UE4 を触り始めました。勉強したもののメモ用のブログです。C++ での Qt、Unity も少しあります。

PREV | PAGE-SELECT | NEXT

≫ EDIT

UE4 文字列の扱い(FName、FText、FString)

UE4での文字列の扱いについてのメモです。
公式ドキュメントはこちら。

・文字列の取り扱い
https://docs.unrealengine.com/latest/JPN/Programming/UnrealArchitecture/StringHandling/index.html

UE4には以下の3つの種類の文字列の扱いがあるようです。

・FName
https://docs.unrealengine.com/latest/JPN/Programming/UnrealArchitecture/StringHandling/FName/index.html

FNames は、 コンテンツ ブラウザ で新規アセットに名前を付けたり、ダイナミック マテリアル インスタンスのパラメータを変更する場合、またはスケルタル メッシュのボーンにアクセスする時に使います。再利用する場合でも、所定の文字を一回だけデータ テーブルに格納するので、 非常に負荷の軽いシステムです。Fnames は大文字・小文字を区別しません。変更も操作もできません。Fnames はストレージ システムで静的な性質なので、 キーによる参照と Fnames へのアクセスが速いです。FNames サブシステムのもう 1 つの特徴は、文字列から Fname への変換をハッシュ テーブルで素早く行うことです。

FNames は大文字・小文字を区別せず、インデックスの組み合わせとしてユニークな文字列とインスタンス番号のテーブル内に格納されます。


・FText
https://docs.unrealengine.com/latest/JPN/Programming/UnrealArchitecture/StringHandling/FText/index.html

FText とは、「表示文字列」のことです。ユーザーに表示するテキストは、すべて FText で処理されます。FText クラスは、ローカリゼーション用にビルトインされたサポートです。 参照テーブルに格納されたローカライズ済みのテキスト コンテンツの処理に加えて、数、日付、時間、フォーマット済みテキストなどのランタイム時にローカライズされるテキストの処理も行います。ローカライズが必要ないテキストでさえも、 FText で処理が可能です。プレイヤー名などのユーザーが入力するコンテンツやスレートで表示されるテキストなどが含まれます。文字列を表示するために変更するというのは非常に危険な操作なので、Ftext には変更関数はありません。


・FString
https://docs.unrealengine.com/latest/JPN/Programming/UnrealArchitecture/StringHandling/FString/index.html

FName や FText と違って FString は操作可能な唯一の文字列クラスです。大文字小文字の変更、サブ文字列の引用、反転など、 様々な種類の文字列操作があります。FStrings は、検索や修正、他の文字列との比較を行うことが可能です。ただし、これらの操作をすると、FStrings の負荷は不変文字列クラスに比べてが大きくなります。


基本的に命名に使う場合は「FName」
表示文字列には「FText」
文字列操作は「FString」

といった感じでしょうか。
FText の扱いについてはちょっとまだ詳しくわかっていないので調べないとです。
スポンサーサイト

| UE4 | 15:42 | comments:0 | trackbacks:0 | TOP↑

COMMENT















非公開コメント

TRACKBACK URL

http://kagring.blog.fc2.com/tb.php/245-a8d5cf1c

TRACKBACK

PREV | PAGE-SELECT | NEXT