2012年4月29日日曜日

Unity: ものづくりログ


NGUIを使うとDrawCallを抑えられるという話はよく聞くのですが、
その理由としてSprite画像を使っているらしい。
でもSprite画像って作ったことないなぁということで作ってみました。

今回は、NGUIのサンプルをもとに自分でSprite画像を用意して表示しています。

まずは、プロジェクトを新規作成。
パッケージでNGUIを選択します↓

メニュー > NGUI > Create a New UI

UI Toolウィンドウが開くので

Layer : Default
Camera : Simple 2D

として、[Create your UI]ボタンを押して、NGUIの土台を作ります↓

空のゲームオブジェクト(「nullPointer」という名前にしました)を作って、「Panel」の下に置きます。
それから、

メニュー > Component > NGUI > UI > Sprite(Basic)

を選択して、Sprite用のコンポーネントを追加します↓

Inspectorウィンドウを見るとUI Spriteのパラメーターとして「Atlas」があります↓


どの緯度コンクリートブロックに

これにAtlasを用意して適用すればいけそうです。

Atlasを作ります。
Spriteと同様に、空のゲームオブジェクト(「MyAtlas」という名前にしました)を用意します。

メニュー > Component > NGUI > UI > Atlas

を選択して、Atlas用のコンポーネントを追加します↓

Inspectorウィンドウを見ると、今度はMaterialが必要そうです。
Materialを用意します。

Projectウィンドウで右クリック > Create > Material

と選択して、Materialを作成します(「MySprite」という名前にしました)。
Inspectorウィンドウを見ると、ここにSprite用の画像を設定すればよさそうです↓

Sprite用画像はこんな感じにしました↓
サイズは256x256です。
※テクスチャサイズは2のべき乗

アルファチャンネルもあります。


それを行う自分の家の改善修理、改造

ファイル形式はtarga(32 bits/pixel)です。
ファイル名は「mysprite.tga」にしました。
Unityにインポートしたら、Inspectorウィンドウで

Wrap Mode : Clamp
Filter Mode : Trilinear

として、[Apply]を押して適用します。

これで画像の用意ができました。
これまでの手順をさかのぼりながら、不足していたところを埋めていきます。

Projectウィンドウで「MySprite」を選択します。
テクスチャに「mysprite.tga」をドラッグして適用します。
Shaderは、

Unlit > Transparent Colored

にします↓

これでMaterialの準備ができました。

次にAtlasを準備します。
Hierarchyウィンドウで「MyAtlas」を選択します。
Materialのパラメーターに、先ほどの「MySprite」をドラッグして適用します↓

すると、↑のようにパラメーターが増えます。
Add/Deleteの欄に[New Sprite]ボタンがあります。
これを押して、Sprite用画像から4つのマークを切り取ります。


ガスオーブンを切断する方法

[New Sprite]ボタンを押します。
まずは四角マークを切り取りたいので、

Edit Name : square
Dimensions : Left(0), Top(0), Width(128), Height(128)
Border : Left(0), Top(0), Right(0), Bottom(0)

とします。
ちゃんと切り取られているか確認したいので、

Show : Atlas

とします↓

同じ手順で、「丸(circle)」「三角(triangle)」「星(star)」を用意します↓

NGUIのサンプルにならって、MyAtlasをProjectウィンドウにドラッグしてプレファブ化しておきます↓

これでAtlasの準備ができました。

もう少しです(自分に言い聞かせている)。
Hierarchウィンドウの「nullPointer」ゲームオブジェクトを選択します。
InspectorウィンドウのAtlasパラメーターに先ほどの「MyAtlas」プレファブをドラッグして適用します。

すると、パラメーターが増えるので、

Sprite : square, circle, triangle, star

を切替えることで表示したいマークを選択できます↓


これで1枚のSprite画像から複数のマークを表示できるようになりました。
手順としてまとめると長かったですが、慣れれば数分で用意できます。

この方法は次のアプリアップデートで使っています。
今後もこうやって少しずつノウハウを貯めていって、アプリに反映させていきたいです。



These are our most popular posts:

FPS用語集 - Alliance of Valiant Arms Wiki*

もしくは、戦闘前の準備中に味方を撃って血が出るかどうかで判別可能。 ... Respawn Edit. re-spawn. 再出現、つまりFPSにおいては復活(再出撃)すること。 Spawn( スポーン、スパウン)とは、カマキリのような ... ・1試合中に発生するのは「最大5回」まで です。 read more

oblivion xbox360 Wiki - FAQ・FAQ/Xbox360 -- よく聞かれる質問と答え

って何? respawn リスポーンと読み、re【再び】spawn【発生】で再発生という意味です。 オブリビオンでは、ダンジョンの敵や .... も相手にHPがあって、ダメージを与えないと 上がりません。 時々見かける木の人形相手にガシガシ斬り付けても無駄無駄! です。 read more

マインクラフト ~Lost the Respawn~ - 第2話 開拓

ブックリスト登録機能を使うにはログインかユーザー登録が必要です。 ... 全体的に木材 で組み立てられたこの家でひときわ目立つこの灰色の部屋は、誤爆時の被害を最小限 に抑える、というマインの心遣いによって作られた。クリハも ... 大はクリハの腰ほどまで の、小は小指サイズの小魚まで、かなりの種類の魚を手にして、駆け寄ってくるクリハ。 read more

FAQ - Oblivion Wiki JP 避難所

2012年1月22日 ... 自分が地面に置いたりコンテナに入れたアイテムをNPCが取ってしまうことはあるの ですか? ... NPCやクリーチャーは死んだらまた出現(respawn)するの? ... Chorrolの 城壁の直ぐ外にあるCrumbling Mineの奥に向うが覗ける穴が有るんだけど何か有るの かな? ..... もサイズが大きくなってしまうので、一度拾ったけど要らないと判断した アイテムは、そこら辺に放置するのではなく、倒した敵キャラの死体に入れて ... read more

0 件のコメント:

コメントを投稿