UnrealEngineでほしいUI機能リスト
こんばんは。
UIデザイナー、一応やってます。
UnrealEngineを使ってる場合のみ、ブループリントを使った実装周りもやったりします。
といっても、関数を叩いたらビジュアルとして意図したものが動作するものを作るまでで、関数を叩くタイミングや、流し込むパラメーターの管理などは殆どしないです。
概要
そんな感じでちょっと実装周りを触ったデザイナーが、これ無いなぁ、ほしいなぁという機能をリストアップしたいと思います。
半透明まわりは描画負荷の問題でエンジニアさんが唸り声を上げそうですが、どうしても厳しい場合はデザインFIX前に殴り込んで阻止してください。半透明のほうが映えるので採用されやすく、全体MAPを半透明で重ねてUIとフィールドどっちも見えるとか機能面でも優秀なことが多々あります。
これを見て、機能解説してくれたりプラグイン作ってくれる神がいたらいいなぁ チラッチラッ
ネタを思いついたら更新していきたい
記事を書いた日 2022/07/08
テキスト周り
大体、フォトショ・イラレにある機能が欲しいなというものが多い
・ベースラインの概念が欲しい

フォントフェイスアセットの設定でAdvance -> LayoutMethodをBoundingBoxにすれば、フォントが違ってもバウンディングボックス基準で揃えてくれるので、多少揃えやすくなる。けどやっぱりベースラインの設定が欲しいのと、ベースラインにたいして上げ下げする機能が欲しい。
・テキストのカーニング機能

実はCommonUIのCommonTextに機能がある。(個別には設定できない)
設定する場合はCommonUIのLetter Spacingを調整する。
・テキストの横幅のスケーリング機能

カーニングと合わせると2-3文字入らないなぐらいだったら何とかなる。
・テキストの行間調整機能

またはWrapTextAtで自動改行されるが、行間の調整機能が欲しい。
今だとTextBlockを分割し、marginで無理やり実装は可能。または疑似的にはCommonUIのCommonTextStyleで設定できる。設定する場合はCommonTextStyleの設定項目のうち、LineHeightPercentageを調整する。
・テキストに対してドロップシャドウ

ちなみにぼかしマテリアル自体も作るの大変
・テキストに対してグロー効果

ちなみにぼかしマテリアル自体も作るの大変
UMG周り
・子ウィジェットをぼかす
現状は、後ろの要素全てをぼかすBackGroundBlurしかない。
UIだけをぼかしたい場合はRetainerBoxでお手製するしかないが、RetainerBoxは前フレームのRenderTargetを使っている?っぽいため描画が遅延したり、Opacity属性のマテリアルを刺したRetainerBoxは色が変になりやすい。ガンマの値が色々関係してるっぽい。逆算して色を補正する方法はなんとかできるけど、めっちゃ面倒なので標準で機能が欲しい。
・ナインスライスの機能
現状Imageの設定をBoxにしてMarginの値を変えることによって実装できるけど、UnityのSpriteEditorぐらいの機能が欲しい
・もうちょっとカスタマイズできるスクロールボックス
現状、BarStyleのカスタマイズが十分でない。たしかどこかのパーツのデザインが思ったように変更できない。
あと、スクロールボックスの中身が上端下端は徐々に透明になるとかができない。RetainerBoxを使って無理やり作れるが、スクロール上端にいる、スクロール下端にいるなどの情報を更新して透過状態を切り替える必要があるので大変。
Editor周り
・複数人で共有し、変更しても反映される色管理機能
プロジェクトによっては、途中でコンセプトカラー微調整しました。とかなるとコンセプトカラーを使用している箇所の大量修正作業が入る。
テキストカラーだけでなく、その色を使ったマテリアルなど。
現状はMaterialParameterCollection、またはCurveAtlasを使って共有していたりする。どっちかで言えばグラデーションも自由に作りやすいCurveAtlasをよく使う。
でも本音はエディタ側に標準で機能が欲しい。