[GameDev]2Dスプライトアニメーション その2

開発

大きめGIF貼ってもびくともしない、さすがの課金サーバー…。

…もとい、パッと動作確認できたしパッといけるやろ、からの
大量の罠が仕掛けられていたのであった…。

既存キャラクタースクリプトとの互換性

1枚スプライトでのアニメーションとの互換性がないので、
以下の通り派生クラスを作成しました。
ついでに無理くり分岐分けて実装してた3Dモデル用の処理(宝箱とか)も合わせて別クラスに分けました。

・色変更

各パーツごとにSpriteRendererを持つので、色変更等でマテリアルを触る際に一手間必要になる
持ってるマテリアルのリストを格納し、マテリアルを使う際はそのリストを参照するよう変更
※既存のキャラクタースクリプトは、単純に同じオブジェクトのSpriteRendererのマテリアルを参照するようにする

・方向

2Dはアニメーターのプロパティ→ブレンドツリーで分岐
3DはTransformの角度
2DAnimationは向きに応じて反転させる(TransformのScaleを-1に)

・描画順

各パーツのスプライトの重なり順はSortingOrderを使用するようで、
既存のオブジェクトより手前に表示されてしまう模様
※不透明は描画順の兼ね合いで重なりがちゃんとしているが、透過系はSortingOrderが干渉してしまう
ので、プレハブのルートにSortingGroupを追加し、配下のSortingOrderをまとめる


こういうこと…らしい

アニメーション

手付けアニメーションがしんどいので何かしらの方法を考えねば…。

コメント