読者です 読者をやめる 読者になる 読者になる

Let's Enjoy Unreal Engine

Unreal Engineを使って遊んでみましょう

UE4 ブループリントの文字列機能について

UE4のブループリントは元々文字列にはそんなに強くありませんでした。

が、UE4.5の時点で大量の文字列用の機能が追加されておりました。

少しだけ優秀な機能を紹介していきたいと思います。

足りない部分もありますが完全なAPIリファレンスはこちらにあります。

Unreal Engine | String

f:id:alwei:20141125002918j:plain

 Find Substring

Search Inに入力した文字列の中から、Substringに入力した文字列が何文字目に現れるかを数値で返してくれます。文字列の特定位置を探したい場合に便利です。

f:id:alwei:20141125003739j:plain

Get Substring

Source Stringに入力された文字列の中からStart Indexの位置にある文字列をLengthの数だけ返してくれます。Find Substringと合わせて使うと更に便利です。

f:id:alwei:20141125004110j:plain

Left と Right

Source Stringに入力した文字列からCountに入力した文字数の文字列を左から順番に返してくれるものと右から順番に返してくれる関数です。

特定の位置から左側、右側へと文字列を切り出したい場合に便利です。

f:id:alwei:20141125005315j:plain

Mid

Source Stringに入力した文字列の中からStartの位置を開始として、Countの数だけ文字列を切り出して使う関数です。

LeftやRightとは別に間の文字列を切り出したい場合に便利です。

f:id:alwei:20141125005732j:plain

Matches Wildcard

Source Stringに入力した文字列の中からワイルドカード形式で入力した文字列が存在しているかをチェックします。ワイルドカードには『*』と『?』が認識されます。前者は複数の文字列を認識し、後者は何らかの文字が1文字入っているという条件で認識します。

条件に一致すればTrueが返ってきます。

Search Caseでは大文字小文字を無視するかを設定できます。

f:id:alwei:20141125010452j:plain

Replace

Source Stringに入力した文字列からFromに入っている文字列を探しだし、Toの文字列へと置換します。こちらもSearch Caseでは大文字小文字を無視するかを設定できます。

f:id:alwei:20141125010906j:plain

Split

Source Stringに入力された文字列の中からIn Strに入力された文字列を区切りにして、文字列を2つに分割にします。これも同様にSearch Caseで大文字小文字を無視するか設定できます。

Search Dirでは前方から検索するか、後方から検索するかを設定できます。

csvなどの形式の文字列を分割したりするのにとても便利です。

f:id:alwei:20141125011236j:plain

UE4の文字列について

まだこれらはほんの一部です。UE4.4の時点ではこれらの機能が実はありませんでした。

4.5になりこれらの機能が使用できるようになりました。

元々C++のFStringクラスにはこれらの機能がありました。なぜかブループリントでは使えないように制限されておりましたが、やはり必要と判断されたのでしょう。

これらの機能がブループリントでも解放されたことにより、ブループリントにおいても文字列の処理は少なくとも一定以上のことができるようになりました。

今後は普通にコードと変わらないレベルとなると思います。