あさちゅんのゲームブログスマートフォン用の表示で見るあさちゅんのゲームブログUnityやSiv3Dに関するゲーム開発メモを残していきますこの広告は、90日以上更新していないブログに表示しています。機能紹介UIって重要です。内容がすごくてもUIがちゃっちいんじゃ一気にしょぼくなります。ことで今回は自分が制作したゲーム『green』で作ったUIを紹介します。Key!!!大きさが変わるUIを作る『green』のタイトル画面で出てくるやつですね。uGUIでImageを作りそれに適用するスクリプトを書きます。GameObjectには必ずTransformがついていますが、uGUIには代わりにRectTransformがついています。GetComponent<RectTransform>()したくなるところですが、RectTransformはTransformを継承していて今回はlocalScaleをいじるだけなのでtransformプロパティだけで十分です。あとは、最大値と最小値を指定してVector3.Lerp関数とかでlocalScaleを適宜変えれば、大きさが変わるUIの完成です。止まってるより随分にぎやかになりました。点滅するUIを作る次に点滅するUIを作ります。ImageやTextのコンポーネントを取得すればいいのですが、これらはUI名前空間にあるのでそのままでは使えません。UnityEngine.UI;」を追加するか、UI.Imageのように使いましょう。ここでImage型やText型のフィールドを作りたくなりますが、透明度はこれらの基底クラスであるGraphic型が持っているので、これのフィールドを作ることにより両者に対応したコンポーネントを作れます。UnityのUpdateは一秒間に100回近く回っていることもあり、こんな頻度で透明度を更新しても目にはわからないかもしれません。そこでコルーチンを使って更新頻度を下げます。コルーチンコルーチンはWaitForSeconds型を返すことにより、処理をいったんやめ、指定した秒数後に再開させることができます。これをつかってコルーチンを無限ループさせることによって、このスクリプトだけ違う頻度で更新しているかのように扱えます。余談ですが、StartCoroutine("Func");をよく見かけますが、StartCoroutine(Func());の方が綺麗だし、引数関係で困らない気がします、、、まとめuGUIはとても便利ですが、デフォルトのままだと「Unityで作りました感」が出てしまいます。画像を自分で用意したり、ちょっといじるだけでも劇的に変わるので手は抜けませんね!また、今回は扱いませんでしたが、UnityのcolorはRGBa全て0~1で指定します。Cardboardや、この秋発売が予定...2016-07-31Unity初心者でも簡単に作れるFPSカメラの作り方ハッカソンに行ったらFPS視点やキャラの後ろを追従するカメラを...2016-02-07『green』で使用したテクニック去年から製作していた3Dアクションゲーム『green』がついに今年...2015-12-16Siv3Dでキーボードとゲームパッドの両方に簡単に対応させるPCゲームだとやっぱり開発はキーボードで操作しがちですよね。...2015-11-21UnityのEventSystemを操るUnityでuGUIを作ると、必ずEventSystemが作られます。»プロフィールid:chunchunmorningUnityやSiv3Dに関するゲーム開発メモを残していきます。サーバとはSiv3DのTCP通信で文字列を扱うGoogleVRのGazeInputModuleを扱う月別アーカイブはてなブログをはじめよう!chunchunmorningさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。