Unity4.3にしたので2D機能をほんの少し試してみよう

何を作るかというと、
Unityで多重スクロール - kamemo -Unityはじめました-
これ。背景スクロール再び。

unityを4.3にアップデートしてみたところ、動かなくなってしまったので、まあ板ポリテクスチャ移動ではなく、せっかくだから2D機能でも使ってみますか。というところです。(シェーダの影響なのですが、シェーダは詳しくない。。)

画像の設定

とりあえず、SpritePackerがDeveloper previewで、使えないため仕方なく自分でスプライトシートを作ります。

f:id:kame0_0:20131117220133p:plain

画像は普通にPhotoshopで適当に並べました。試しなので。
そして、画像をProjectウインドウに投げ入れます。

読み込んだ画像をInspecterウインドウで見てみますと、

f:id:kame0_0:20131117220600p:plain

一番上の「TextureType」が初期値はTextureになっていると思うのですが、なんとSpriteという選択肢があるではございませんか。
選ばずにはいられません。

すると現れますは、「SpriteMode」。初期値はSingleになっています。
これは読み込んだ画像をそのまま使うときですね。
今回は背景と木を別々に使いたいので、Multipleを選びます。

SpriteEditorで範囲を決める

SpriteEditor」というボタンが現れますね。押しましょう。
新しいWindowあらわる!!SpriteEditor!!

f:id:kame0_0:20131117221750p:plain

Sliceというところを見るとAutomatickという選択肢があるので、そのままSliceを押してみたのですが、どう考えても木が3本と背景素材があるのですが、なぜか1本目の木と最後の木しか選択してもらえませんでした。あまり期待できなさそうです。

ということで、自分で選択します。

f:id:kame0_0:20131117222128p:plain

必要なところをドラックすればすぐにエリアは作れますし、ハンドルでエリアの拡縮も簡単です。ラクラクです。(でもSpritePackerがあればこんな操作要らないのではと思う)

とにかく、必要なもののエリアを全て作り、右上のApplyを押します。

すると、Projectにて下のように、切り出したエリアごとのパーツが、元の画像素材に紐づいて見られるようになります。

f:id:kame0_0:20131117222741p:plain

おお。使えそうな状態になったじゃないか。うんうん。

配置する

HierarchyウインドウのCreateの中に、Spriteが増えている!!
はい。これですね。

Spriteを選びます。NewSpriteというGameObjectできたー!!
まだ何も表示されません。でもできたオブジェクトのInspecterを見ますと、SpriteRendererというコンポーネントが!!!!

f:id:kame0_0:20131117223513p:plain

あとは、Spriteのエリアをクリックすると、先ほど作った素材が表示されるので選択!
重ね順はOrder in LayerとSorting Layerで管理するようです。

f:id:kame0_0:20131117224642p:plain

おおー。表示されました。
DrawCallも1ですね。

違うスプライトシートはどうなるんだろう

f:id:kame0_0:20131117225422p:plain

このStopだけ別のスプライトシートです。
一番上の階層に乗せると、DrawCallは2。
間に挟むとDrawCallは3。

おおー。自動ですね。NGUIはこれが大変だった。。
でも気を抜くといつのまにかDrawCall増えそうですね。要注意。

Z軸ってどうなってるんだろう。

2D同士の関係性はZ軸では変わらないようです。
SpriteRendererコンポーネントのOrder in LayerとSorting Layerで管理ですね。

3Dとの関係ってどうなるの?

f:id:kame0_0:20131117230222p:plain

左から、Z座標が

  • 3Dが一番手前
  • 3Dより手前に2Dの中で一番手前のオブジェクト
  • 3Dより手前に2Dの中で一番手前ではないオブジェクト

こんな感じ。

DrawCallはどれも同じでした。
3つ目が面白い。

まとめ

SpritePackerがないと、素材更新などが面倒なので、その機能があるアセット使った方がらく。2DtoolkitがUnity2Dに対応したと聞きましたのでそのへんとか。
アニメーションまわりはまだ全くさわっていないのでわかりません。

ただ、Unityで2Dサポートってワクワクするね!!!!!

先日、RageSplineが半額セールしていたので買ってしまいましたが、どうなんでしょう?

 おまけ

どうなんでしょうとか、言うならさわれよ。と思ったので、RageSplineサンプル開いてみた。

f:id:kame0_0:20131117231705p:plain

すっげー!!!!パスだ!Unityでパスが使える!
(いや知ってて買ったよ。うん)

あーあ、なんて荒い記事だw