最近Inputばっかりですが、まあそういう時期もある。
この本をやります。
2015年と少し古いですが、全然問題ありませんでした!
めちゃくちゃ役に立ちました!uGUIのデフォルトの機能で知らない機能いっぱいでした
- Canvas
- スライス
- Mask
- スクロール
- 入力フィールド
- Toggle
- アンカー
- 文字効果
- UIの遷移
- Layout Group
- Raycast
- Content Size Fitter
- スクリプト
- 感想
Canvas
UI Scale Modeを変更できる
スライス
Sprite Editorを押すと分割(スライス)ができる
Set Native Sizeで元の画像の大きさになる。
Mask
Maskコンポーネントをつけたものの下に置くとマスクされる
文字でもマスクできる。
スクロール
MaskをつけたオブジェクトにScroll Rectをつけて、Contentに下のカエルをセットするとスクロールできる。
ついでにScrollbarUIを作って、
Scroll Rectにセットすると
バーができた!簡単!!Unityすごい
入力フィールド
Input Fieldをつけると入力できる!知らなかった!!
入力するときはリッチテキストは使わない
Content Typeを選べる。
PasswordとかPinだと****になる
Toggle
Toggle Groupをからのオブジェクトにつけて、トグルに設置する。
アンカー
optionキーを押しながらアンカーを設定すると位置が変わる
文字効果
テキストにアウトラインやドロップシャドウをつけられる!!!
UIの遷移
ボタンなどのUIについているTransition。AnimationにしてAutomativボタンを押すと
自動でAnimatorで遷移が作られる。
またnavigationをVisualizeボタンを押すと、このように左右キーなどでボタン選択する際の遷移が表示される。
Layout Group
親オブジェクトにつけると、こオブジェクトが整列する
Spacingをつけたら隙間が空く
こんな機能あったんだ!UnityのUI構成もやりやすそう
Raycast
Raycastを無視してほしいUIにはCanvasGroupをつけて、Blocks~のチェックを外す
Physics Raycasterをカメラにつけると3DオブジェクトにRaycastを飛ばせる
こちらの通りにやったら、クリックしたらキューブが消えるという動作をノンプログラミングでできました。
消したいものにこんな感じでEventTriggerを設定したら消えました。
Content Size Fitter
文字の長さに合わせてrectの大きさを変える
スクリプト
[SerializeField]
private Image Player;
Dynamic boolとStatic Parametersに分かれてる
GameManager.csってするとアイコンが変わる?
enum関数?はswitch使う時に役立つ?
インターフェイス
ドラッグとかを実装する時スクリプトのmonobehaviorの後にIBeginDragHandler, IDragHandler, IEndDragHandler,ICanvasRaycastFilterをつける
itween
揺れも表現できる
float degree = isCritical? 0.06f : 0.02f;
iTween.ShakePosition(gameObject, iTween.Hash(
"x", degree,
"y", degree,
"islocal", true,
"time", 0.5f
));
Animation curve
Animation curveはインスペクタで簡単に使える
感想
古いからパラパラ見るぐらいかな〜って思ってたら、めちゃくちゃ役に立って全部きっちり読みきりました。
サンプルプロジェクトもダウンロードできるので、再現しながら3つの小プロジェクトと1つの大プロジェクトを通して理解が深められます。
小プロジェクトと大プロジェクトの章の間にリファレンスページ?みたいな、uGUI関連の機能を全部説明した章があるのですが、すごくよくまとまってました。
あとuGUIって本当に全く変更がないんですね。
この本のプロジェクトはunity4.6〜5ぐらいの時に作られたようですが、uniyu2017.3でも全く問題なく動いたし、その他記述も全部今のバージョンと同じでした。