渋谷ほととぎす通信

Unity・ゲーム開発 技術で一生食べていく情報発信

【Unity】AnimationCurveをプロジェクトを越えて使い回す方法

f:id:esakun:20150825162207p:plain

先日DOTweenのカスタムイージングの作り方について紹介をしました。

f:id:esakun:20161021030916p:plain:w300

DOTweenを使う上でAnimationCurveは手軽にユニークなイージング
作れるため表現の幅を大きく広げてくれます。

DOTween使いとしてはとても魅力的なのですが、

「他プロジェクトでの流用がしたい!!」

そんな要望にお答えします。

ScriptableObjectに格納

実はAnimationCurveはScriptableObjectに保存することが出来ます。

このようにクラス定義しておきます。

f:id:esakun:20161023095542p:plain

CreateAssetMenuアトリビュートをクラスに付与すると、
Projectブラウザ > Createボタン からScriptableObjectを簡単に生成できます。

f:id:esakun:20161023100247g:plain
任意の名前を付けます。

使う側でCustomEasingSetクラスを定義します。
※ソースコードが表示されない場合はブラウザをリロードしてください

f:id:esakun:20161023100728g:plain

実際使う側でコンポーネントにアタッチして使用します。

Export Packageで書き出し

ExportPackageを使って他プロジェクトで流用する方法を紹介します。

f:id:esakun:20161023100952p:plain

CustomEasingSet.csCustomEasingSet.asset
両方選択してExport Pacakgeします。

f:id:esakun:20161023101225p:plain
※参照ファイルもパッケージ対象になってしまうためInclude dependenciesのチェックは外します

f:id:esakun:20161023101539p:plain

他プロジェクトではImport Packageを使用して
CustomEasingSetをインポートをします。

余談

ScriptableObjectはAnimationCurveだけにとどまらず、
Unity.Objectを継承したクラスなら全て格納できますのでオススメです。

環境

  • Unity5.4.2f1
  • DOTween v1.1.310

あわせてこちらもどうぞ