ざんないプログラマァのアプリ開発日記

ゲームエンジンUnityを使って何か創る

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

Unity3D EZ GUI

ゲームに必要なメニューや各種ダイアログなど大体出来上がってきた。しかし、簡単な直線移動と標準のGUIで作成しているので全体的な印象が固い感じ?
折角 Sprite Manager2 を購入したので、GUIまわりで上手くを活かせないだろうか?と検討したが、簡単な方法が思いつかない・・・

Unity勉強会の動画で気になっていた EZ GUI($200)
GUIまわりの強力なツールらしいので期待を込めて Asset Store から購入。
アニメーションや動き付きのGUIが比較的簡単に作れるようだ。
Sprite Manager2 の一部がバンドルされているので複数パターン画像を1枚のテクスチャにまとめてくれる BuildAtlases も使用できる。
UIManager の設定からPC/モバイルの対応も容易に変更できる。
もっと×2 早くに購入するべきだった・・・

とは言ってもGUI周り全てを作り替えるには少しばかり骨が折れる・・・せめてボタンだけならパターンさえ用意できれば・・・
無駄に凝り性な性格が・・・(τωヽ)
まっ・・・まずはステージを増やそう・・・
  1. 2011/06/28(火) 05:34:23|
  2. 開発関連
  3. | トラックバック:0
  4. | コメント:2

Unity3D Sprite

スプライトのアニメーションを行うにはどうするのか?
パーティクルシステムの機能でUVアニメーションができるが使い勝手が悪い。wiki等でいくつかのサンプルが紹介されているがデモや解説が分かりにくい(;´瓜`)
思い切って Asset Store から Sprite Manager2($150) を購入してみた。

ドキュメントで理解するのは難しいけれどチュートリアル動画から簡単に実装できた。ジャンプ、キック、パンチなどスプライトアニメーションをプレハブ化できる。BuildAtlases を使えば複数のアニメーションパターンを1枚のテクスチャにまとめてくれる。
もっと早くに購入するべきだった・・・

以前、3ds max 体験中に作成したガンダ○にアニメーションをつけてパターン出力。
Sprite Manager2 でアニメーションさせてみた。

WEBサンプル
  1. 2011/06/23(木) 05:39:35|
  2. 開発関連
  3. | トラックバック:0
  4. | コメント:0

Unity 3D MessageBox

シンプルなメッセージボックスの作成。
簡単なスクリプト(背景塗潰し+ウィンドウ+ラベル+ボタン)を GameObject に貼り付けて Prefab化。
ウィンドウのサイズやラベルのテキストは外から変更できるようにしておく。
後は好きなときに生成(Instantiate)してメッセージボックスからの結果を待つ。

呼び出し側では GUI.enable = false; でGUIを無効にしている。
無効にするとGUIが勝手にグレーカラーになり入力を受け付けなくなる。

WEBサンプル
メッセージボックスを生成して結果を表示する。
  1. 2011/06/21(火) 19:36:42|
  2. 開発関連
  3. | トラックバック:0
  4. | コメント:0

Unity 3D FPS(2)

サンプルやサイトで紹介されているFPSカウンタースクリプト、タイムスケールをゼロにすると更新されない。
例えば、FPSの値からフレームアニメーションの時間を算出していたら不具合が生じる。

タイムスケールをゼロにしても使えるFPSは作れないだろうか?
調べてみたら公式でサンプルが記載されていた。

Time.realtimeSinceStartup を利用することでタイムスケールをゼロにしてもFPSカウンターが利用可能になる。
精度は定かじゃないが一応 PC/iPhone で動作しているので使用する。

C#スクリプトが間違っているようなので修正
× fps = frames / timeNow - lastInterval;
○ fps = frames / (timeNow - lastInterval);

これで ポーズ処理で問題になっていた「サウンド再生オブジェクトが削除されない」も解決できた。
  1. 2011/06/16(木) 05:51:50|
  2. 開発関連
  3. | トラックバック:0
  4. | コメント:0

Unity 3D pause

ポーズ処理について
unityのサンプル Bootcamp ではタイムスケールをゼロにして時間を止めている。
スクリプト:Time.timeScale = 0.00001F;
タイマーやモーション、タイムスケールを利用したアニメーション、物理演算処理も全て停止する。
よって、ポーズメニューなどの移動アニメーションにタイムスケールを利用していた場合は動かなくなるのでフレームアニメーションを行う必要がある。

unity iPhone のサンプル Penelope のサウンド処理は、効果音を再生するたびにオブジェクトを生成し、再生時間が経過したころでオブジェクトを削除している。
スクリプト:Destroy( this.gameObject, audio.clip.length );

タイムスケールをゼロにするポーズの場合、このサウンド処理では時間が止まっているので一向にオブジェクトが削除されない。
ポーズが解除されない限りオブジェクトが消えないのでサウンド再生の度にオブジェクトが増えてしまう。
よって、このサウンド処理を利用している場合はタイムスケールを利用したポーズは避け、フラグなどを使用することになる。

今頃になってこんな罠があったとは・・・
  1. 2011/06/15(水) 06:15:44|
  2. 開発関連
  3. | トラックバック:0
  4. | コメント:0

Unity3D ライトマップ(1)

CGソフト(3ds Max 2011)でライトマップ加工したモデルを Unity で表示するテスト。
※Unity3D のライトマップ機能ではない

【ライトマップについて】
・ライトマップ
光源によるシーンの効果(影や反射光など)をリアルタイムで計算するのではなく、
あらかじめ効果の結果を反映したテクスチャ(ライトマップ)を作成する。
シーンのテクスチャ(地形や構造物など)は高解像度にし、ライトマップは低解像度にするなどの調整ができる。
また、シーンのテクスチャは使い回しができて勝手が良い。
主に静止物(地形や構造物など)に適用され、多くの3Dゲームで使われている手法。

・ベイクドマップ
ライトマップの同様にテクスチャを作成するのだが、シーンのテクスチャに直接焼き付ける。
そのためシーンのテクスチャは唯一のものになり使いまわしが効かない。
動的なキャラクタ(人物や乗り物など)に光源に関係なく影付けできる部分などに用いる。


製作中の3Dパズルゲーム、その内のあるステージをラジオシティっぽく仕上げて Unity 上で表示してみた。
モバイル用に最適化しているので iPhone3GS でも同様に表示され遊ぶことができた。
雰囲気が激変!!ちょっと明るすぎたがこれはこれで嫌いじゃない(-ω-。)
しかし、いままで使用していたGUIやメニュー周りを全て変更しなければならんよ・・・


  1. 2011/05/11(水) 14:43:11|
  2. 開発関連
  3. | トラックバック:0
  4. | コメント:0

Unity3D Singleton

シーンをまたいでも値を継続して使用したいとき、グローバル変数のように扱うことのできるモノが欲しい。

Singleton の利用で可能かどうか試してみた。

ただし、Singleton は唯一の存在として位置づけると考えている。

ゲーム起動(または利用)時に作成され、ゲームが終了するまで一つしか存在してはならないモノ。


Unity で Singleton を実装するには、いくつかの方法があるようだ。

参考サイト

Singleton
Startup Manager

Singletons in Unity3D


Editor 上では複数配置できてしまうので、誤って配置してしまった場合のことを考えて削除するような処理を追加。

public class Singleton : MonoBehaviour

{

    private Singleton instance = null;

    void Awake() {

        if ( instance == null ) {

            instance = this;

            DontDestroyOnLoad( gameObject );

        }

        else {

            Destroy( gameObject );

        }

    }

}


WEBサンプル

シングルトンオブジェクトを1つ配置して、2つのシーンで値を共有している。

テーマ:プログラミング - ジャンル:コンピュータ

  1. 2011/04/01(金) 14:30:04|
  2. 開発関連
  3. | トラックバック:0
  4. | コメント:0
前のページ 次のページ

ざんないブログへようこそ!

KOH

Author:KOH
【開発環境】
Win(XP/7)/Mac Mini
Unity Pro + iOS Pro
3ds Max 2011
VS2008

【iOSアプリ】

I-C (3D puzzle) - PETITDIGI2012/09/07
I-C (3Dパズル)

I-C (3D puzzle) Free - PETITDIGI2012/09/07
I-C (3Dパズル)無料

【Androidアプリ】
I-C (3D puzzle) Free - PETITDIGI2012/11/22
I-C (3Dパズル)無料

【サイト】
・Unity 3D Selfish Training
・Unity 3D でオリジナルキャラクターを表示させる
・サイトマップ

書籍

カテゴリ

開発日記 (68)
アプリ第1弾 (37)
iPhone (16)
麻雀 (15)
Unity 3D (82)
何か作ってみよう (10)
セーブデータ (5)
開発関連 (37)
その他 Unity (28)
3ds Max (11)
体験したみた (9)
その他 3ds Max (2)
Titanium (7)
Studio (4)
iPhone (1)
Android (2)
情報 (47)
書籍 (18)
iPhone (19)
PC (2)
テレビ (4)
コンシューマ (3)
その他 情報 (1)
3.11東日本大震災 (0)
未分類 (1)

RSSリンクの表示

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