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

妹でもわかるUnrealEngine4

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

数字の足りない桁をゼロで埋める方法「Right」

ノード解説 UE4.13 アルゴリズム

f:id:una_unagi:20160926225315p:plain

妹「こういう感じで、時間とか表示する時に、数字がひと桁だったら0を入れて表示したいことって、よくあるんだけど……」

f:id:una_unagi:20160926225410p:plain

妹「今回は色々考えた結果、文字列を加工したらいいのでは? と思って、そういうブループリントを組んだんだけど、もっと良い方法あるんじゃないかという気が」

「これでもいいと思うけど、UE4の文字列加工に、右側から指定の文字数分だけ取り出す、Right というノードがある。これを活用するとこんな感じに書ける」

f:id:una_unagi:20160926225932p:plain

「とにかく全ての場合で、秒数の最初のとこにゼロを足してしまう。045秒とか、011秒とか、08秒とか。で、その文字の右側を2文字切り取ると、要らないゼロは消えて、要るゼロだけ残る」

妹「やっぱりあった……」

「利点としては、分岐処理がないから加工部分はPure関数だけで済むというのと、桁数が増えた時もゼロ増やすだけで同じノード数で対応出来るということ」

妹「たしかに桁数増えたらめんどくさくなりそうだった」

「こういう処理はゼロ埋めとか、zero paddingとかいうやつで、C++だともう少し簡単にやれる関数もあるんだけど、ブループリントだとこの方法が一番簡潔だと思う」