狠狠撸

狠狠撸Share a Scribd company logo
Unity4.3のSpriteってどう?
ADVゲームエンジン「宴」を作ったよ
2013/12/18
マッドネスラボ 時村良平
UnityのSpriteここがステキ
? アルファ抜きでポリゴンとコライダーが作られる
? 2D用のコライダー&物理エンジンがある
? 描画順が2D用に制御できる
? アングリーバード的な、2D物理演算系は特によさそう
? アクションゲームもコライダーが簡単?かも
利点や使い方に
関しては
もう色々情報も出回ってるので
ここからは
使ってみて引っかかった点を
その1
描画順が
使いやすいようで使いづらい
描画順が
使いやすいようで使いづらい
? 描画順が階層構造から完全に独立してる
「グループ丸ごとの描画順」とか制御しずらい
一応2D用のレイヤーはあるが、
「親オブジェクトの2Dレイヤー変えれば、子は丸ごと変える」とか無理
まるごと制御するには、結局自作スクリプト書くしかない
描画順が
使いやすいようで使いづらい
? 2Dのコリジョンが描画順ではなく、Z値で判定される
(というか、2Dコライダーとスプライトがそもそも独立してる)
つまり「タッチした一番手前のスプライトが欲しい」という時は、
描画順とZ値を矛盾なく設定してやらないといけない
手作業でやってるとZ値と描画順が矛盾することが頻発する
制御したいなら、結局自作スクリプト書くしかない
その2
1Sprite=1GameObject
が必須
1Sprite=1GameObjectが必須
? 1Sprite=1GameObjectで
「テクスチャそのまま」
もしくは
「テクスチャ内の矩形一つを」
を描画するしかない
何が困るの?
こうなる
100文字表示するのに
100GameObject必要。
アウトラインやシャドウを
入れると
さらに2倍5倍になる。
UIとかじゃなきゃ
必要ないんじゃね?
マップチップとか!
パーツの組み合わせで、2Dスプライトを描くのを想定してないっぽい?
GameObject増やせばいいんだから
ダイジョブってことなんだろうか?
でもそれだと、エディタ拡張が色々面倒だったりと???
そもそも
2D用のメッシュにアクセスできない
矩形に限っても4頂点に異なる頂点カラー設定して
グラデにするとかも無理
モーフィング的なアニメも無理っぽい
対策
描画順に関しては
制御コンポーネント
作るのがよろし
「宴」ではこんな感じ

子は親の描画順を継承して、親を変えれば子も変わるようにした。
Z値と描画順を別データテーブルに持たせて管理しやすくもしてる。
ついで、カラーも階層構造で制御可能に。
1Sprite=1GameObject
問題に関しては
uGUIはよ!
もしくは、自作で拡張できるようにきるようにお願いします。
(一応、Unityへのレポートは提出済み)
他からも要望あがってるっぽい
この辺に投票すればいいんですかね?
http://feedback.unity3d.com/suggestions/unity-sprite-expose-meshdata
おしまい

More Related Content

Unity 4.3のSpriteってどうなの?