ライセンスについて

Spineランタイムをアプリケーションに組み込むにはSpineライセンスが必要です。

spine-unityランタイム ドキュメント

Timeline 拡張UPMパッケージ

Timelineサポートは、別のUPM(Unity Package Manager)パッケージとして提供されています。このパッケージをダウンロードしてインストールする方法についてはオプションの拡張UPMパッケージセクションを、アップデートする方法については拡張UPMパッケージのアップデートセクションを参照してください。タイムライン拡張パッケージのインストールと使い方については以下のビデオが参考になるでしょう。

Spine-Unity Timeline Playables

Spine Timelineでは現在、以下3種類のTimeline Playablesを提供しています:

  • SkeletonAnimation Track SkeletonAnimationをアニメーションさせます)
  • SkeletonGraphic Track SkeletonGraphicをアニメーションさせます)
  • Skeleton Flip Track SkeletonAnimationおよびSkeletonGraphicを反転させます)

注意: Timelineの各トラックは、読みやすさを向上させるために最近のバージョンで名前が変更されました。 SkeletonAnimation Track は、以前は Spine AnimationState TrackSkeletonGraphic Track は、以前は Spine AnimationState Graphic TrackSkeleton Flip Track は、以前は Spine Skeleton Flip Trackと呼ばれていました。

制限事項: 現在サポートされているのは、SkeletonAnimationSkeletonGraphicのみです。SkeletonMecanimはTimelineでサポートされていません。

SkeletonAnimation Track と SkeletonGraphic Track

これらのトラックタイプは、対象となるSkeletonAnimationまたはSkeletonGraphicのAnimationStateにアニメーションを設定するために使用できます。SkeletonAnimationにはSkeletonAnimation TrackSkeletonGraphicにはSkeletonGraphic Trackというトラックタイプが使用されます。

パラメーター

  • Track Index : アニメーションの設定対象となるAnimationStateトラックのインデックスです。複数のタイムライントラックを使用する場合は、忘れずにこの値を適宜設定してください。

    重要な注意事項: 現在のところ、タイムライントラックの順番は、ベーストラックが上、オーバーレイトラックが下になるようにする必要があり、そうしないとエディタープレビューで正しくない結果が表示されてしまいます。

  • Unscaled Time : このトラックの新しいアニメーションクリップを開始するたびに、SkeletonAnimation.UnscaledTime (またはSkeletonGraphic.UnscaledTime) がこの値に設定されます。これにより、Timeline クリップを通常のゲーム時間で再生したり、スケーリングされていないゲーム時間で再生することができます。 ただし、PlayableDirector.UpdateMethod が無視されてこのプロパティに置き換えられるので、Timelineトラックごとにより細かい制御が可能になることに注意してください。

Spine Animation State Clip

AnimationReferenceAssetをTimelineトラックにドラッグすることでSkeletonAnimation Track(またはSkeletonGraphic Track)にSpine Animation State Clipを追加することができます。SkeletonDataAssetAnimationReferenceAssetsを生成する方法についてはSkeletonData - Previewセクションをご覧ください。

パラメーター
Clip Timing

  • Clip In : このアニメーションを再生する際に適用される初期のローカル開始時間のオフセット。クリップの左端をドラッグして調整することもできます。
  • Blend In Duration : Use Blend Duration が有効かつ Default Mix Duration が無効な場合に使用されるブレンドトランジションのデュレーションです。クリップを前のクリップに移動させることで、トランジション時にクロスフェードの三角形が表示され、調整することができます。
  • Speed Multiplier : 再生速度の倍率。2.0に設定するとアニメーションの再生速度が2倍になり、0.5に設定すると半分に減速します。

Spine Animation State Clip

  • Don't Pause with Director : trueに設定すると、Directorが一時停止してもアニメーションが継続して再生されるようになります。
  • Don't End with Clip : 通常、タイムライン上でクリップの後に空のスペースが続くと、トラックに空のアニメーションが設定されますが、このパラメータをtrueに設定すると、代わりにクリップのアニメーションを再生し続けます。
  • Clip End Mix Out Duration : Don't End with Clip がfalseの場合で、クリップの後に空白がある、または停止していると、この MixDuration で空のアニメーションが設定されます。0未満の値を設定した場合、クリップは代わりに一時停止されます。

Mixing Setting

  • Default Mix Duration : 無効にすると、前のアニメーションからこのアニメーションへの移行時に、後述の Mix Duration の値が使用されます。有効にすると、アニメーションペアのSkeletonDataアセットで設定された Mix Duration の値が使用されます。
  • Use Blend Duration : 有効にすると、Mix Duration の値は、タイムラインクリップのトランジションデュレーション「Ease In Duration」と同期するようになります。これを有効にすると、クリップを前のクリップに移動させることでトランジションのデュレーションを調整し、トランジション時にクロスフェードの三角形が表示されます。
  • Mix Duration : Default Mix Durationが無効な場合、前のアニメーションからこのアニメーションへの移行時にここで設定したミックスデュレーションが使用されます。
  • Event Threshold : TrackEntry.EventThresholdをご覧ください。
  • Attachment Threshold : TrackEntry.MixAttachmentThresholdをご覧ください。
  • Draw Order Threshold : TrackEntry.MixDrawOrderThresholdをご覧ください。
  • Alpha :  TrackEntry.Alphaをご覧ください。

無視されるパラメーター

  • Ease Out Duration、Blend Curves : これらのパラメーターは無視され、何の影響もありません。

注意: Default Mix Duration は、以前は Custom Duration と呼ばれており、有効と無効が反転していました。これは読みやすさを向上させるために変更されました。

使用方法

  1. SkeletonAnimation GameObjectに SkeletonAnimationPlayableHandle コンポーネントを、または SkeletonGraphic の場合にはSkeletonGraphicPlayableHandle を追加します。
  2. すでにUnity Playable Directorがある状態で、Unity Timelineウィンドウで左側の何もないスペースを右クリックして Spine - SkeletonAnimation Track を選択します。
  3. SkeletonAnimationまたはSkeletonGraphic GameObjectを、新しいSpine AnimationState Trackの空の参照プロパティにドラッグします。
  4. トラックにアニメーションを追加するには、通常のアニメーションクリップと同じように、それぞれの AnimationReferenceAsset をクリップビュー(Timelineパネルの右側)にドラッグし てください。

アニメーションごとのAnimationReferenceAssetを作成する方法についてはspine-unityランタイムドキュメントのPreviewセクションを参照してください。

補足: 複製機能(CTRL/CMD + D)を使って、クリップビューで選択したクリップを複製することができます。

このトラックの挙動

  • AnimationState.SetAnimation()AnimationReferenceAsset に基づいてすべてのクリップの最初に呼び出されます。
  • Timelineのバージョン4.0以降、クリップのデュレーションが重要になりました。

    補足 : バージョン3.8の挙動では、クリップのデュレーションは問題ではありませんでした。タイムライン上のクリップの後に何もない空間に到達しても、アニメーションはクリアされませんでした。

  • 空のアニメーション : クリップに AnimationReferenceAsset が割り当てられていない場合は、代わりに SetEmptyAnimation が呼び出されます。
  • エラー処理 : 提供された AnimationReferenceAsset を持つアニメーションが見つからない場合は、何もしません(前のアニメーションが通常通り再生されます)。
  • タイムラインの再生開始前に再生されているアニメーションは、最初のクリップの再生が始まるまで中断されません。
  • クリップの終わりやタイムラインの終わりに何が起こるかは、クリップの設定によって異なります。Don't End with Clip がtureの場合、クリップの終わりには何も起こりません。これは、最後のクリップの SetAnimation コールが、AnimationStateで他のコールを発行するまで持続することを意味します。Don't End with Clip がfalseの場合、Clip End Mix Out Duration に設定されたデュレーションで空のアニメーションにミックスアウトされるか、Clip End Mix Out Duration が0より小さい場合は一時停止されます。
  • 編集モードのプレビューミキシングは、再生モードのミキシングとは異なって見える場合があります。実際の結果は、実際のプレイモードで確認してください。複数のトラックを重ねてプレビューする際の正しいトラックの順序についてはSpine AnimationState Trackセクションを参照してください。

Skeleton Flip Track

このトラックタイプは、対象となるSkeletonAnimationまたはSkeletonGraphicのスケルトンを反転させるために使用できます。

Spine Skeleton Flip Clip

パラメーター

  • Flip X : クリップの範囲内で、スケルトンをX軸に沿って反転させます。
  • Flip Y : クリップの範囲内で、スケルトンをY軸に沿って反転させます。

使用方法

  1. SkeletonAnimation GameObjectにはSkeletonAnimationPlayableHandleコンポーネントを、SkeletonGraphicの場合はSkeletonGraphicPlayableHandleを追加します。
  2. すでにUnity Playable Directorがある状態で、Unity Timelineウィンドウで左側の何もないスペースを右クリックし、Spine - Skeleton Flip Trackを選択します。
  3. SkeletonAnimationまたはSkeletonGraphic GameObjectを、新しいSpine Skeleton Flip Trackの空の参照プロパティにドラッグします。
  4. Timelineのドープシートの何もないところで行を右クリックし、Add Spine Skeleton Flip Clipを選択します。
  5. 新しいクリップの開始時間と終了時間を調整し、Inspectorの上部で適切な名前を付け、必要なFlipXおよびFlipYの値を選択します。

このトラックの挙動

  • 指定されたスケルトンのFlip値は、各トラックのデュレーション内のすべてのフレームに適用されます。
  • タイムラインが終了すると、トラックはスケルトンのFlipをそのタイムラインの再生開始時に取得したFlip値に戻します。

既知の問題

  • コンソールで DrivenPropertyManager has failed to register property "m_Script" of object "Spine GameObject (spineboy-pro)" with driver "" because the property doesn't exist. という誤った無害なエラーが記録される可能性があります。これはUnity側の既知の問題です。詳しくはこちらをご覧ください: https://forum.unity.com/threads/default-playables-text-switcher-track-error.502903/

次: FAQ 前: レンダリング