Unity│UI制作に便利!エディタ拡張まとめ 13選│uGUI

uGUIのUI制作で便利なエディタ拡張をまとめました。Photoshop連携、アウトライン、カーニング、フォント置換など、実際に使って便利だったものを紹介します。

目次

Unityから直接Photoshopを開く

UI組み込み後にPhotoshopで画像を修正することがありますが、エクスプローラーを経由するのは手間です。Unityから直接開けるようにしましょう。

設定方法

  1. Unityで「Editor」フォルダを作成
  2. 下記リンクからEditorOpenInPhotoshop.csを作成してEditorフォルダに格納
  3. Projectウィンドウで画像を右クリック → Open in Photoshop

参考:https://qiita.com/r-ngtm/items/18f31d728e168bcc2477

Open in Photoshopメニュー

きれいなアウトラインを付ける方法

デフォルトのOutlineコンポーネントは品質が低いため、CircleOutline.csを使うときれいなアウトラインが付けられます。

アウトラインの比較

負荷の比較

負荷の比較

CircleOutlineはコピーで重ねる回数が増えるため、頂点数が2.5倍以上になります。使用箇所を限定するなど注意が必要です。

参考:https://gist.github.com/FreelyApps/e9f3f4a4d89882bcb50c

文字間隔(カーニング)を調整する方法

uGUIにはデフォルトでカーニング機能がありません。LetterSpacing.csを使うと文字間隔を調整できます。

導入方法

  1. LetterSpacing.csをAssetsに入れる
  2. テキストを作成
  3. Add Component → UI → Effects → Letter Spacingで追加

参考:https://forum.unity.com/threads/adjustable-character-spacing-free-script.288277/

カーニングの調整

Spacingの値を調整するだけで文字間隔が変わります。

テキストを縦書きにする方法

RotateText.csを使うとテキストを縦書きにできます。

参考:http://madgenius.hateblo.jp/entry/2017/05/11/122857

手順

  1. テキストを作成
  2. RotateTextをアタッチ
  3. Z方向-90度回転
縦書きテキスト(変更前)
縦書きテキスト(変更後)

※文字が縦に向かない場合はTextのチェックを外して再度チェックを入れると描画し直されます。LetterSpacing.csとの併用も可能です。

テキストボックスを文字サイズに合わせる方法

テキストボックスをテキストのサイズにぴったり合わせたい場合の方法です。

テキストボックスのサイズ

ContentSizeFitterを使用する場合

  1. テキストにContentSizeFitterコンポーネントをアタッチ
  2. Horizontal FitとVertical FitをPreferred Sizeに設定
ContentSizeFitterの設定

スクリプトで自動更新する場合

コンポーネントをアタッチした瞬間にサイズが合い、文字変更時も自動更新するスクリプトもあります。

自動更新スクリプト

UIのワイヤーフレームを見やすくする方法

白い背景でUIパーツを調整するとき、非常に見えづらい問題があります。

移動ツール時の見栄え

Rect Toolを使う

ショートカットTキーでRect Toolに切り替えると、白い背景でもパーツのワイヤーが確認できます。サイズ調整、位置調整、回転、Alt押しながら中心からスケールなども可能です。

Rect Toolボタン
Rect Tool使用時の見栄え

カラーやグラデーションを付ける「uGUI-Effect-Tool」

白黒の素材でも頂点カラーやアルファを付けることで、差分の素材を作成できます。

ボタンの色付け例

ダウンロード:https://github.com/WestHillApps/uGUI-Effect-Tool

ボタンの色やサイズを変更するエディタ拡張

ボタンを選択して、メニューから予め指定した色に変更できます。

ボタンの色変更

RGB値を指定したい場合は255fで割ります。foreach (GameObject obj in Selection.gameObjects)で複数選択にも対応できます。

指定したパーツ名にリネームするエディタ拡張

オブジェクトを特定の命名に変更する簡易リネーマーです。

リネーマーの動作

便利なコード:

  • Undo.RecordObject(label, "Undo Rename"); – 変更を取り消し可能に
  • GUILayout.Space(20); – ボタンの間隔を開ける
  • GUI.color = Color.yellow; – ボタンに色を付ける

フォントをまとめて置換する方法

選択したテキストだけ置換する場合

  1. Hierarchyから虫眼鏡をクリックしてTypeを選択
  2. 「text」と検索
  3. 置換したいテキストを選択してInspectorのFontから置換
Type検索

全部置換する場合

FontReplacer.csを使用します。

  1. Assets/EditorにFontReplacer.csを置く
  2. メニュー → Tool → Replace All Fontsからウィンドウを起動
  3. Fontを選んでReplace All Fontsボタンをクリック
フォント置換ウィンドウ
フォント置換結果

自動で画像を9スライス化「OnionRing」

Unityに画像を入れると、自動で9スライス用の画像を生成してくれるツールです。

ダウンロード:https://github.com/kyubuns/OnionRingUnity

設定方法

  1. GitHubからデータをダウンロード
  2. OnionRing.csとOnionRingSampleImporter.csをEditorフォルダに格納
  3. 出力元(In)、出力先(Out)のフォルダを作成
  4. OnionRingSampleImporter.csのパスを変更
  5. Inフォルダに画像を入れるとOutフォルダに9スライス化された画像が生成
OnionRingのフォルダ構成
OnionRingの出力結果
OnionRingのテスト結果

自動でスライスの設定もされるので、調整が簡単です。

まとめ

  • Photoshop連携:右クリックから直接開ける
  • CircleOutline:きれいなアウトライン(負荷に注意)
  • LetterSpacing:文字間隔の調整
  • RotateText:縦書き対応
  • ContentSizeFitter:テキストボックスの自動調整
  • Rect Tool(Tキー):ワイヤーフレームの可視化
  • uGUI-Effect-Tool:カラー・グラデーション追加
  • FontReplacer:フォント一括置換
  • OnionRing:自動9スライス化
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次