Unity3Dでタイムラプスアニメーションを使用する
確かに、
Unity 5で新しいアニメーションを作成すると、スプライトコンポーネント
SpriteRendererへのリンクがすぐに配置されることが
わかりました 。
Unityは準備されたフレームを選択し、
アニメーションウィンドウにドラッグするために呼び出します。

いくつかのマウスの動きと新しいアニメーションがゲームを飾ります。 ただし、ビデオの1秒間には12〜30フレームが必要です。 また、キャラクターが実行、読み取り、植物、散水、演劇、日光浴などのさまざまな動作を実行する場合、すべてのアニメーションの継続時間は1分を超え、1000フレームになります。 そして、キャラクターはレベル上の唯一のアニメートされたオブジェクトではありません。 そのため、それほど複雑ではないシーンのロードには1分以上かかり、メモリオーバーランにより
Unityがクラッシュし始めます。 はい、もちろん、組み込みの
Unity SpritePackerを使用してスプライトをアトラス
にパックすることは
可能ですが、これはわずかな結果とパフォーマンスの改善を10〜20%だけ提供します。

フレームごとの骨格アニメーションの置き換え
より具体的な結果を得るために、フレームごとのアニメーションを骨格のアニメーションに置き換えることにしました。 スプライトが描画される長方形の代わりに、より複雑なモデルが作成され、その上にアトラスのキャラクターの一部が描画されます。

このモデルの動きにより、アニメーションが取得されます。 心配しないでください、実際、すべてが簡単です! ユニットの骨格2Dアニメーションを作成するためのツールがいくつかあります:
Spine 、
DragonBones 、
Anima2D 、
Adobe Flashなど。
なぜなら 私たちのアーティストはすべてのアニメーションを
Flashで行い、 GAFは私たちにとって最高でした。
FlashからUnity3Dにアニメーションをインポートする
- Unity AssetStoreからGAFをインポートします。
- * .swfファイルをコンバーターウィンドウにドラッグします。
- オブジェクトを作成して構成します。 すべての設定は直感的です:
Flashで作成されたマークアップに従って、アニメーションが自動的に作成されます。
必要なアニメーションを開始するには、スクリプトを使用します。
using UnityEngine; using GAF.Core;
Unity Animatorでトランジションをカスタマイズする
GAFの
Proバージョンでは、ネイティブ
Unityアニメーターを使用することができ、これにより開発がはるかに簡単になります。 ただし、このタイプのアニメーションはミキシングをサポートしていないことを覚えておく必要があります。
Unityはデフォルトでクリップミキシングを有効にします。 そのため、クリップ間のトランジションでアニメーションを歪めることができます。 アニメーションをスムーズに機能させるには、クリップの混合を無効にします。

アニメーションクリップの編集
Flashで必要なクリップを作成しなかったことが判明した場合、
updateToFrameAnimator()関数を呼び出し、目的のフレームをパラメーターとして指定することで、それらを
Unityで直接アセンブルできます。

要約:
そのため、フレームごとのアニメーションを
Flashで作成されたアニメーションに置き換えると、シーンの読み込み時間が10倍短縮されました。 したがって、RAMの消費は大幅に削減されました。
便利なリンク:
ビデオレッスン「Unity3DでのFlashアニメーションの使用」GAF:FlashアニメーションをUnity3dにインポートする