UE4 文字列の扱い(FName、FText、FString)
公式ドキュメントはこちら。
・文字列の取り扱い
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↑