2011年1月26日水曜日

UnityでのGUI実装:基礎と簡単なHUD

HUD Display FTWphoto © 2006 Matthew Yaktine | more info (via: Wylio)

とりあえずHUDやりたいのでGUIの基礎ざっくり及びHUDっぽいのやってみる。

UnityGUIのシステム

以下のコードは公式リファレンスのGUI Scripting Guideにあるのとほぼ同じサンプル。



OnGUI()は毎フレーム呼び出される。例えばボタンが使いたい場合は、上記サンプルのようにGUI.Button(Rect, "button01")とか書いておけば、Rectで指定した位置とサイズの"button01"ボタンが描画されるようになる。

OnGUI()の呼び出し時にさっき作った"button01"ボタンがクリックされてた場合、GUI.Button(Rect, "button01")がtrueになるので、ifで評価してクリックされてたらprint()実行するようにしてやる等できる、という感じ。

こんな感じに実装したGUI用スクリプトを、カメラコンポーネント等の適当なコンポーネントにくっつけてぶん回してやればいいらしい。

GUI関連のAPI

  • GUI : ボタンやテキストエリアなどの標準コントロール群
  • GUIStyle, GUISkins : 標準コントロールの見栄えをいじるときに叩くっぽい

簡単なHUD : フレームレートと照準っぽいものの表示

右上隅にフレームレート、および中央に透過PNGでこさえた照準のようなものを表示する。んで、この機能を実装してみたスクリプトがこちら(SimpleHUD.jsとする)。



照準の画像として以下のようなものを作成。アセットとしてロードしとく。

先程のHUD表示スクリプトをカメラの子コンポーネントにし、sightTextureにロードした画像を割り当てる。

動かすと以下のような見栄えになる。この程度まではとりあえず簡単だった。

0 件のコメント:

コメントを投稿