スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

スポンサーリンク

uGUIのTips

はじめに


UnityでGUIを作る機会があったので、uGUIについて勉強しました。
Textを拡大するとぼけるとか、消えるとか引っかかる部分があったので、対処法をTipsとしてまとめました。

参考


参考図書は「UnityゲームUI実践ガイド 開発者が知っておきたいGUI構築の新スタンダード」です。
残念ながらサンプルプロジェクトのページはリンク切れですが、基本的なuGUIの使い方が記載されており、初心者にはとても勉強になります。Unity 5で書かれていますが、Unity 2017でも特に問題なく参考にできます。


Tips


基本となる端末の解像度に合わせてUIを拡大縮小する

  •  Canvas Scalerコンポーネントの「UI Scale Mode」を「Scale With Screen Size」に変更
  •  CavasScaler1.png CavasScaler2.png 

UIを編集するときは2Dモードにする

 2Dmode.png

uGUIスクリプトの拡張

UIの大きさ

  • Textなどは大きく表示されるため、Scaleを0.01くらいにする必要がある

Textを大きく表示すると汚い

  1. FontSizeを変更する
  2. Textの代わりにTextMeshProを使用する

TextのFont Sizeを変更すると表示されなくなる

  • [Height]の数値を[Font Size]の1.2倍以上にする必要がある

Textのアウトラインを表示したい

  1. Outlineコンポーネントをアタッチする。上下左右にずらしてアウトラインを実現しているっぽい
  2. TextMeshProを使う

InputFieldの入力文字を制限したい

  • ContentTypeを選択する
  • InputField_ContentType.png

自動でレイアウトしたい

EventTriggerコンポーネントはあらかじめ各UIで用意されている以外のイベントに使う

  • OnValuChangeとかOnClickとか以外
  • イベント一覧
  • EventTriger.png 

RectTransformをスクリプトでいじる

  • 位置変更
RectTransform rectTransform = GetComponent();
rectTransform.anchoredPosition = new Vector2(0, 0);
  • 大きさ変更
int width = 100;
int height = 100;
RectTransform rectTransform = GetComponent();
rectTransform.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, width);
rectTransform.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, height);

独自UIをスクリプトから生成するときの注意

  1. RectTransformを追加
    • gameObject.AddComponent();
  2. Canvasオブジェクトの下層になるように配置する

曲線をインスペクターで設定する

  • AnimationCurve変数を使う
スポンサーサイト

スポンサーリンク

コメントの投稿

非公開コメント

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。