ライセンスについて
Spineランタイムをアプリケーションに組み込むにはSpineライセンスが必要です。
アセット
Unity用にSpineアセットをエクスポートする

エクスポートのユーザーガイド
以下の実行方法については、Spineユーザーガイド内で紹介されています :
初心者のためのSpineからUnityへのエクスポート
以下は、SpineのアセットをUnity用にエクスポートする簡単な方法です。
-  スケルトンとアニメーションを作成した後、 Spineメニュー>Export...(エクスポート...)(CTRL+E)をクリックします。すると、Export(エクスポート)ウィンドウが開きます。
  
-  Export(エクスポート)ウィンドウの左上にある JSONを選択してください。 注意: バイナリスケルトンエクスポートの方がJSONエクスポートよりもサイズが小さくロードも早いので、製品段階ではJSONエクスポートではなくバイナリエクスポートを使用した方が良いでしょう。 
-  Texture Atlas(テクスチャアトラス)のチェックボックスPack(パック)にチェックしてください。※初心者の方はNonessential data(非必須データ)とPretty print(整形表示)にチェックを入れておくことをお勧めします。また、Animation cleanup(アニメーションクリーンアップ)が無効になっていることを確認してください。そうしないと、セットアップポーズと同じキーがエクスポートされなくなります。 -  Pack(パック)チェックボックスの下のPack Settings(パック設定)をクリックします。すると Texture Packer Settings(テクスチャ・パッカー設定) ウィンドウが開きます。
-  右下の Atlas extension(アトラス拡張子)というテキストボックス内で.atlas.txtが設定されていることを確認してください。 
-  spine-unity 4.3および以降のバージョン: Premultiply alpha(乗算済みアルファ)を無効にしてBleed(ブリード)を有効にしてください。  
-  これでTexture Packer Settings(テクスチャ・パッカー設定)ウィンドウでの操作は完了です。 OKをクリックして閉じてください。
 
-  
-  Export(エクスポート)ウィンドウで出力フォルダを選択してください(新しく空のフォルダーを作成することを推奨します)  
-  Export(エクスポート)をクリックしてください。 
-  すると以下の3種類のファイルが書き出されます:  - skeleton-name.jsonまたは- skeleton-name.skel.bytes: これはスケルトンとアニメーションのデータを含んでいます。
- skeleton-name.atlas.txt: これはテクスチャアトラスの情報を含んでいます。
- 1つまたは複数の.pngファイル : これはテクスチャアトラスの各ページで、スケルトンが使用するイメージを含んでいます。
 
Unity向けのバイナリエクスポート
JSONではなくバイナリ形式でエクスポートすると、ファイルサイズが小さくなり、ロードが速くなります。
以下はspine-unityでバイナリ形式のエクスポートに変更する方法です。 
- エクスポートウィンドウの左上で JSONの代わりにBinary(バイナリ)を選択します。
- Extension(拡張子)で- .skel.bytesを設定します。
注意: spine-unityでは拡張子が
.skelのファイルを読み込むことができません。拡張子は必ず.skel.bytesを使用してください。
高度な情報 - エクスポートの自動化
プロジェクトの数が多い場合は、Spineのコマンドラインインターフェースを使用してスケルトンとアトラスのエクスポートを自動化することをお勧めします。これにより、何度も手動でエクスポートをする必要が無くなり、新しいSpineバージョンへアップグレードする際にも全てのプロジェクトを一度に簡単に再エクスポートできるようになります。
コマンドラインインターフェイスの活用例についてはこちらを参照してください。 例えば、当社ではSpineのサンプルプロジェクトを一括してエクスポートしてテクスチャアトラスを作成するために次のスクリプトを使用しています: export.sh
高度な情報 - 単一テクスチャアトラスのエクスポートとSkeletonGraphic
一般的には、サブメッシュの追加によるドローコールの数を減らすために、単一のテクスチャ(単一ページ)のアトラスを使用することをお勧めします。これは特にSkeletonGraphicに当てはまります。UnityのCanvasRenderer の制限により、SkeletonGraphicの使用はデフォルトで単一テクスチャに制限されています。SkeletonGraphic のInspectorで Advanced - Multiple CanvasRenderers を有効にすると、サブメッシュごとに子 CanvasRenderer GameObject を生成してテクスチャの制限枚数を増やすことができますが、パフォーマンス上の理由により、可能な限り避けるべきです。よって、UIで使用されるスケルトンは、複数ページのアトラスではなく単一テクスチャ(単一ページ)のアトラスとしてパックされなければなりません。
1つのアトラスページに収まらない場合は、フォルダごとにまとめられたテクスチャアトラスページをパックすることができます。こうすることで、各スキンに必要なアトラスページを1つにすることができます。
画像をそれぞれのフォルダに配置したら、以下の手順でスケルトンをエクスポートします :
- Ctrl+Eを押すか、ドロップダウンメニューで- Export...(エクスポート...)を選択します。
- Texture Atlas(テクスチャアトラス)の- Pack(パック)を有効にして、右にある設定を- Attachments(アタッチメント)から- Image Folder(画像フォルダ)に変更します。
- (任意)Pack Settings(パック設定)の中で、右下のOptions(オプション)にあるFlatten Paths(パス平坦化)とCombine Subdirectories(サブディレクトリ結合)が無効になっていることを確認してください(デフォルトでは無効です)。
- Export(エクスポート)をクリックします。
アトラステクスチャワークフロー
Unityにおけるリニア vs ガンマ色空間
重要な注意事項: Unityプロジェクトで使用する色空間は、ブレンド処理の見た目に大きな影響を与えるため、早い段階で決定することが非常に重要です。これは、アルファブレンディングや半透明部分の見え方だけでなく、特殊効果の加算/乗算/スクリーンブレンドにも影響します。さらに、使用する色空間によって、Spineエディターからアトラステクスチャアセットをどのようにエクスポートするべきかも決まります。
Unityでは、新規プロジェクトにおいてデフォルトでリニア色空間が使用されます。しかしながら、多くのSpineユーザーは、Photoshopなどの外部エディターでレイヤー分けや色補正を施した2Dアセットを扱っています。これらの外部エディターではデフォルトでガンマ空間でのブレンド処理が行われます。その結果、Unityでブレンドされた色は、元のアートワークと比較してくすみや彩度の低下が見られ、不満を感じる場合があるでしょう。

そのため、プロジェクトをガンマ(Gamma)色空間に切り替えることを一般にお勧めしています。これにより、より直感的なブレンドが可能となり、元のデザインにより良く合致します。
ただし、リニア(Linear)色空間も依然として適切な場合があります。特に、動的ライティングを備えたリアルな3D環境でSpineスケルトンを使用される場合には、こちらが適している場合があります。
ガンマ色空間の利点
- ブレンディングがより直感的な挙動を示します(画像編集ソフトはデフォルトでガンマ空間でのブレンディングを実行します)。
- あらゆる画像編集ソフトで事前に作成し、結果をプレビューすることが容易です。
- PMAテクスチャを利用できるため、より良いミップマッピングが得られます。  
リニア色空間の利点
- 3D照明:角度依存の光減衰(2Dスケルトンでは法線マップ経由で実現)は物理的により正確になります。  
- 加算光レイヤーを重ねる際、光ピクセルの加算がより物理的に現実的な方法で処理されます。(これは望ましい場合もあればそうでない場合もあります)  
- ポストプロセス効果はリニア色空間で最も適切に動作します。  
Unityプロジェクトの色空間は、 Edit - Project Settings (Macでは Unity - Project Settings) から、Player - Other Settings - Color Space を選択してガンマに変更できます。
Spineエディターの色空間
Spineエディターはデフォルトでガンマ色空間を使用しますが、Spine - 設定 - ビューポートでリニア色空間に切り替えることが可能です。 プロジェクトの色空間を決定したら、一貫した結果を得るために、Unityプロジェクトに合わせてSpineエディターの設定も変更することを強くお勧めします。
乗算済み vs ストレートアルファエクスポート
Spineでは、テクスチャ・パッカー設定を通じて、アトラステクスチャのエクスポート方法として2つの基本的なワークフローを提供しています:
- ストレートアルファ (リニア色空間を使用する場合は必須)  テクスチャ・パッカー設定で テクスチャ・パッカー設定でPremultiply alphaを無効に、Bleedを有効にする。
- 乗算済みアルファ(PMA)(Spineエディター内でのデフォルト設定。ガンマ色空間で事前に乗算されます)  テクスチャ・パッカー設定で テクスチャ・パッカー設定でPremultiply alpha有効にする。
適切なワークフロー選択:
- 色空間についてあまりよく分からない場合や、将来的にリニアとガンマを切り替える可能性がある場合:両方の色空間に対応しているので、ストレートアルファワークフローを使用してください。
- ガンマ色空間のみを確実に使用する場合:乗算済みアルファ(PMA)ワークフローを使用してください。こちらの方が、半透明領域においてより鮮明なディテールを実現し、優れたミップマップ品質を提供します。
Unityでは新規プロジェクトにおいて、デフォルトでリニア色空間が使用されるようになりました。乗算済みアルファはリニア色空間と互換性がないので注意してください(ガンマからリニア空間への変換時に境界が正しく表示されなくなります)。詳細は「Unityにおけるリニア vs ガンマ色空間」をご覧ください。
また、エクスポートとインポートの設定を正しく一致させることが非常に重要です。Unityでの正しい設定については、「乗算済み vs ストレートアルファインポート」セクションをご覧ください。
SpineアセットのUnityへのインポート
- Unity Editorでご自身のUnityプロジェクトを開いてください。インストール方法セクションの説明に従って、プロジェクトにspine-unityランタイムが既に入っている状態にしておいてください。
- エクスポートされたファイル(.json、.atlas.txt、.png)のフォルダを開きます。
- エクスポートされたファイル(またはファイルを含むフォルダ)を、プロジェクトのAssetsフォルダの任意のサブフォルダにコピーします。これを行うには、エクスポートされたファイルをエクスプローラーまたはFinderウィンドウからUnityのProjectパネルにある任意のフォルダにドラッグしてください。 
spine-unityランタイムは、追加されたファイルを検出すると自動的に必要な追加Unityアセットを生成します。
以下のアセットが生成されます: 
- _Atlasは、テクスチャアトラスファイル(.atlas.txt)用のアセットです。これは、マテリアルと.atlas.txtファイルへの参照を保持します。
- _Materialは、各テクスチャアトラスページ(.png)用のアセットです。これは、シェーダー.pngテクスチャへの参照を保持します。
- _SkeletonDataは、スケルトンデータファイル(.json、.skel.bytes)用のアセットです。これは.jsonまたは.skel.bytesファイルへの参照と、生成された _Atlas アセットを保持します。このアセットには、スケルトンのカスタムインポートおよびアニメーション設定も含まれます。詳しくはSkeleton Data Assetセクションを参照してください。
乗算済み vs ストレートアルファインポート
乗算済み vs ストレートアルファエクスポートで説明されている通り、Spineはアトラステクスチャをどのようにエクスポートするかについて2つの基本的なワークフローがあります :
- ストレートアルファ (リニア色空間では必須)
- 乗算済みアルファ(Spineエディター内でのデフォルト設定。ガンマ色空間で事前に乗算されます)
正しいインポートのためのPreferencesパラメーター Auto-Import Settings
重要な注意事項: テクスチャのインポート設定とマテリアル設定は、アトラステクスチャのエクスポート設定と一致させることが非常に重要です。Spine Unityランタイムでは、Unityの Preferences ウィンドウ内にSpine Preferencesセクションを提供しています。こちらは Edit - Preferences(Macの場合は Unity - Preferences)からアクセス可能です。このセクションには、適切な設定を保証するための Auto-Import settings が用意されています。

- バージョン4.3以降、Preferencesセクションには Switch Texture Workflowというボタンが追加され、Straight AlphaまたはPMAへの迅速な切り替えが可能となりました。これにより、下記(2)および(3)の手動調整が不要となります。
- Atlas Texture Settingsパラメーターは、新規インポートされたアトラステクスチャに適切なテクスチャインポート設定を自動的に適用するために使用されます。ストレートアルファワークフローからPMAへ、またはその逆へ切り替える際には、このプリセットの設定調整が必要となります。    
- Additive Material、- Multiply Material、および- Screen Materialは、各ブレンドモードのテンプレート素材を定義します。ストレートアルファワークフローからPMAへ、またはその逆へ切り替える際には、これらも適切に調整する必要があります。   
ストレートアルファワークフロー(spine-unity 4.3以降では既にデフォルト設定となっています)を使用する場合:
- a) Switch Texture Workflow-Straight Alphaボタンを使用して、プリセットを一括で切替えます。
- b) または、Atlas Texture Settingsを手動でStraightAlphaTexturePresetに設定し、ブレンドモードマテリアルをSkeletonStraightAdditive、SkeletonStraightMultiply、およびSkeletonStraightScreenに設定してください。
乗算済みアルファワークフロー (ガンマ色空間のみで利用可能)の場合:
- a) Switch Texture Workflow-PMAボタンを使用して、プリセットを一括で切替えます。 
- b) または、Atlas Texture Settingsを手動でPMATexturePresetに設定し、ブレンドモードマテリアルをSkeletonPMAAdditive、SkeletonPMAMultiply、およびSkeletonPMAScreenに設定してください。これはspine-unity 4.2以前ではデフォルト設定でした。
独自の TextureImporter Preset アセットやブレンドモードマテリアルテンプレートを作成し、ここに割り当てることも可能です。自作される際は、使用したブレンドモードを反映させるため、PMA または Straight を名前に含めることをお勧めいたします。
透明領域の周囲に暗い縁取りが見られたり、アタッチメント画像の周囲にカラフルな縞模様が発生する場合は、インポート設定の不備が原因である可能性が非常に高いです。
テクスチャパッカーのエクスポート設定と、テクスチャおよびマテリアルの正しいインポート設定:
-  ストレートアルファ  テクスチャ・パッカー設定で テクスチャ・パッカー設定でPremultiply alphaを無効、Bleedを有効
 UnityのTexture設定でsRGB (Color Texture)とAlpha Is Transparencyを有効
 UnityのMaterialのパラメーターStraight Alpha Textureを有効に設定Spineのエクスポート設定が初めての方は、まず「アトラステクスチャワークフロー」および「初心者のためのSpineからUnityへのエクスポート」を確認してください。 
-  乗算済みアルファ(Premultiplied Alpha)の場合  テクスチャ・パッカー設定で テクスチャ・パッカー設定でPremultiply alpha(乗算済みアルファ)を有効
 UnityのTexture設定でsRGB (Color Texture)とAlpha Is Transparencyを無効
 UnityのMaterialのパラメーターStraight Alpha Textureを無効に設定
注意: PMAテクスチャを使用している場合、従来は
sRGB (Color Texture)を有効にすることを推奨していましたが、Generate Mip Mapsが有効な場合、この組み合わせにより白い継ぎ目が生じる可能性があるので、このアーティファクトを回避するため、またガンマ空間においては不都合がないことから、現在はPMAテクスチャではsRGB (Color Texture)を無効にしておくことを推奨しています。
デフォルト設定:
- Spineエディター: テクスチャパッカーの設定は、乗算済みアルファ(Premultiply alphaが有効)がデフォルトです。
- spine-unity 4.3 および 以降のバージョン: インポート設定は、ストレートアルファワークフローがデフォルトです。
- spine-unity 4.2 および 以前のバージョン: インポート設定は、乗算済みアルファワークフローがデフォルトです。
spine-unityランタイムに付属するSpineシェーダーは、両方のワークフローに対応しています。ストレートアルファテクスチャを使用される場合は、マテリアル上で Straight Alpha Texture パラメーターを有効にしてください。乗算済みアルファテクスチャを使用される場合は、このパラメーターが無効になっていることをご確認ください。
使用中のアトラステクスチャワークフローをストレートアルファとPMA間で変更する際は、上記の説明に従い、すべてのテクスチャとマテリアルを適切に設定してください。現在の色空間は Project Settings - Player - Other Settings - Color Space で確認または変更できます。
インポートのトラブルシューティング
スケルトンをUnityにインポートする際に何か問題が発生した場合、Spineのエクスポート設定が正しくない、Unityの設定が正しくないなど、様々な原因が考えられます。以下のビデオは、インポート時によくある問題に対する正しい対処法を理解するのに参考になるでしょう。
高度な情報 - Atlas ProviderとしてのUnityのSpriteAtlas
注意: 基本的には、Unityの
Sprite Atlasアセットではなく通常のSpineのワークフローに従いSpineが作成したスプライトアトラスを使用することが推奨されます。Spineのアトラスは、効率の良いパッキングを行いますし、複数のアトラスページをサポートし、問題も発生しにくいです。そのため、UnityのSprite Atlasアセットは、通常のSpineのワークフローが使えない場合にのみ、atlas providerとして使用するようにしてください。また、収集したスキンで使用されているテクスチャ領域を、実行時に単一のアトラステクスチャに再パックできることも考慮してください。
.atlas.txt や .png の代わりにUnityのSpriteAtlasをatlas providerとして、スケルトンデータファイルと一緒に使用することができます。インポートは、Window - Spine - SpriteAtlas Import からアクセスできる、特別な Spine SpriteAtlas Import ツールウィンドウで行います。 

Sprite Atlas の準備手順:
- Assets - Create - Sprite Atlasで- Sprite Atlasを作成します。
- Sprite AtlasのInspectorの- Objects for Packingに、アタッチメントとして使用するSpriteの入ったフォルダを追加します。
- (a) 2018.2以前のUnityバージョンでは、手動で Tight Packingを無効にし、Read/Write Enabledを有効にしてください。 (b) 2018.2以降のUnityバージョンでは、これらの設定は自動的に調整されます。 
- 新しい Spine SpriteAtlas ImportウィンドウのSprite AtlasプロパティにSprite Atlasを割り当ててください。すると追加のアセットが自動的に生成されます。 
- Load regions by entering Play modeを押すと、短時間だけ再生モードに切り替わり、また戻ってきて領域情報をロードします。これで- Sprite AtlasがSpineアトラスとして使用できるようになります。
.json または .skel.bytes スケルトンアセットでアトラスを使用する場合 : 
- .jsonまたは- .skel.bytesファイルを、新しく作成したアトラスアセットと同じディレクトリに配置します。
- 配置したファイルを Spine SpriteAtlas ImportウィンドウのSkeleton json/skel fileプロパティに割り当ててください。 
- Import Skeletonを押して- Sprite Atlasアセットを使った- _SkeletonDataファイルを生成します。
Spine Preferences
spine-unityランタイムはUnityの Edit - Preferences(MacではUnity - Preferences)からアクセスできる Preferences ウィンドウに Spine セクションを追加します。ここでは、スケルトンのインポートやインスタンス化の際に使用されるデフォルト値を設定したり、spine-unityの見た目や更新挙動をカスタマイズすることができます。

-  Show Hierarchy Icons : Spineコンポーネントがアタッチされている場合に、Hierarchyパネルで GameObjectsの横に関連するアイコンを表示するかどうかを設定します。
-  Auto-reload scene components : シーン内のスケルトンコンポーネントのSkeletonDataAssetに変更が加わるたびに、そのコンポーネントを再ロードします。シーンに多数のSkeletonRendererまたはSkeletonGraphicコンポーネントがある場合、この処理に時間がかかることがあります。 
-  Reload SkeletonData after Play : 有効にすると、アクティブなシーン内のすべてのスケルトンが共有している SkeletonData は、プレイモードを終了した後に(.json または .skel.bytes ファイルから)リロードされます。これにより、望ましくない遅延が発生する可能性がありますが、プレイモード中に共有 SkeletonData に (偶発的な) 変更が加えられても、その影響がその後のプレイに持ち越されるのを防ぐことができます。 
-  Auto-Import Settings - Default Mix : 新しくインポートされたSkeletonDataAssetのDefault Mix Durationの値を設定します。
- Default SkeletonData Scale : 新しくインポートされたSkeletonDataAssetのデフォルトの Scale値を設定します。
- Default Shader : 新しくインポートされたスケルトンのアトラステクスチャ用に作成されたマテリアルに割り当てられるデフォルトのシェーダーを設定します
- Switch Texture Workflow (バージョン4.3以降) : プリセットを Straight AlphaまたはPMAワークフローに素早く切り替えられます。これにより、後述のAtlas Texture SettingsおよびAdditive/Multiply/Screen Materialの手動調整が不要になります。
- Atlas Texture Settings : 新規にインポートされるアトラステクスチャに適用されるテクスチャインポート設定を定義します。ストレートアルファテクスチャワークフローでは、こちらでStraightAlphaTexturePresetを使用してください(Spineのテクスチャパッカー設定でPremultiply alphaが無効になっていることを確認してください)。このプリセットは、spine-unity 4.3以降では既定で割り当てられています。このプリセットは、spine-unity 4.3以降ではデフォルトで割り当てられています。乗算済みアルファ(PMA)テクスチャ(Spineエディターでのエクスポートのデフォルト設定)を使用する場合は、PMATexturePresetをご利用ください。また、独自のTextureImporterPresetアセットを作成し、こちらに割り当てることも可能です。
- Atlas Texture Settings : ここで選択したテクスチャインポート設定を、新しくインポートされたアトラステクスチャとマテリアルに適用します。Spineから Premultiply alpha(乗算済みアルファ)を有効(デフォルト)にしてアトラステクスチャをエクスポートしている場合、PMATexturePresetのままで問題ありません。もしPremultiply alpha(乗算済みアルファ)を無効にしているのであれば、StraightAlphaTexturePresetを設定してください。または、独自のTextureImporterPresetアセットを自作して、ここに割り当てることもできます。
- Apply Additive Material : 新しくインポートされたSkeletonDataAssetsのデフォルトのApply Additive Materialの値を設定します。詳しくは SkeletonDataのBlend Mode Materialsを参照してください。
- Additive Material : Additive(加算)ブレンドモードのスロット用のマテリアルテンプレートです。詳しくはSkeletonDataブレンドモードマテリアルを参照してください。 上述のワークフローに適合する、ストレートアルファまたはPMAマテリアルのいずれかを選択してください。
- Multiply Material : Multiply(乗算)ブレンドモードのスロット用のマテリアルテンプレートです。詳しくはSkeletonDataブレンドモードマテリアルを参照してください。 上述のワークフローに適合する、ストレートアルファまたはPMAマテリアルのいずれかを選択してください。
- Screen Material : Screen(スクリーン)ブレンドモードのスロット用のマテリアルテンプレートです。詳しくはSkeletonDataブレンドモードマテリアルを参照してください。 上述のワークフローに適合する、ストレートアルファまたはPMAマテリアルのいずれかを選択してください。
 
-  Warnings - Atlas Extension Warning : .atlasファイルが見つかったときに、警告と勧告をログに出力します。
- Texture Settings Warning : テクスチャのインポート設定で、白い境界線が出るアーティファクト(画像の乱れ)など、望ましくない効果をもたらす可能性があるものが検出された場合、警告と勧告をログに出力します。
- Component & Material Warning : コンポーネントとマテリアルの設定に互換性がない場合、警告と推奨をログに出力します。
- SkeletonDataAsset no file Error : Json またはバイナリファイルが割り当てられていない SkeletonDataAssetからSkeletonDataをクエリするときにエラーをログに出力します。
- Workflow Mismatch Dialog : 現在のプロジェクト設定でサポートされていないPMAアトラスが検出された場合に、警告ダイアログを表示します。
 
- Atlas Extension Warning : 
-  Editor Instantiation - Default Slot Z-Spacing : 新しくインスタンス化されたSkeletonRendererまたはSkeletonGraphicコンポーネントのデフォルトのZ Spacingパラメーターを設定します。
- Default Loop : 新しくインスタンス化されたSkeletonRendererまたはSkeletonGraphicコンポーネントのデフォルトのLoopパラメーターを設定します。
- Physics Inheritance- Default Position : 新しくインスタンス化されたSkeletonRendererまたは SkeletonGraphicコンポーネントのデフォルトのPhysics Inheritance - Positionのスケール係数パラメーターを設定します。
- Default Rotation : 新しくインスタンス化されたSkeletonRendererまたは SkeletonGraphicコンポーネントのデフォルトのPhysics Inheritance - Rotationのスケール係数パラメーターを設定します。
 
 
-  Mecanim Bake Settings - Include Folder Name in Event : 有効にすると、Mecanimのイベントは "FolderNameEventName"という名前のメソッドを呼び出し、無効にすると、"EventName"を呼び出します。
 
- Include Folder Name in Event : 有効にすると、Mecanimのイベントは 
-  Handles and Gizmos - Editor Bone Scale : Sceneビューで表示されるボーンや、同様のギズモ要素のサイズを設定します。
 
-  Prefabs - Fix Prefab Overr. MeshFilter : 同じ名前のスケルトンコンポーネントのInspectorパラメーター( Advancedセクション)のグローバル設定です。そのコンポーネントパラメーターが Use Global Settingに設定されている場合、この設定が使用されます。
- Optimize Preview Meshes : 有効にすると、ビルド前のステップでSpineプレハブプレビューメッシュが削除され、ビルドサイズが縮小されます。プロジェクト内のすべてのプレハブが処理されるため、ビルド時間が長くなります。
 
- Fix Prefab Overr. MeshFilter : 同じ名前のスケルトンコンポーネントのInspectorパラメーター( Advancedセクション)のグローバル設定です。そのコンポーネントパラメーターが 
-  Unsafe Build Defines - Direct Data Access : Unsafe(非安全)な直接データアクセスを許可します。現在は、.skel.bytesファイルのロード時に、より少ないメモリ割り当てでロードすることに影響します。
 
- Direct Data Access : Unsafe(非安全)な直接データアクセスを許可します。現在は、
-  Timeline Extension - Timeline拡張UPMパッケージ関連の項目 - Default Mix Duration : 新しく作成した Spine Animation State ClipsのDefault Mix Durationパラメーターのデフォルト値を設定します。
- Use Blend Duration : 新しく作成した Spine Animation State ClipsのUse Blend Durationパラメーターをデフォルト値を設定します。
 
- Default Mix Duration : 新しく作成した 
-  Automatic Component Upgrade - Split Component Upgrade : バージョン4.3で新たに導入された「分割コンポーネント」へのスケルトンコンポーネントの自動アップグレードを許可します。すべてのシーンとプレハブが移行されたら、以降は不要なエディターチェックを避けるため、これを無効(Disable)にしてください。
- Upgrade Scenes & Prefabs : Upgrade All: プロジェクト内の全てのシーンとプレハブを開き、バージョン4.3で新たに追加された「分割コンポーネント」へアップグレードします。実行する前に必ずプロジェクトのバックアップを取ってください。
 
-  Threading Defaults - Threaded Mesh Generation : 同じ名前の SkeletonRendererおよびSkeletonGraphicのInspectorパラメーターのグローバル設定です。コンポーネントパラメーターがUse Global Settingに設定されている場合、この設定が使用されます。
- Threaded Animation : 同じ名前の SkeletonAnimationおよびSkeletonMecanimのInspectorパラメーターのグローバル設定です。コンポーネントパラメーターがUse Global Settingに設定されている場合、この設定が使用されます。
 
- Threaded Mesh Generation : 同じ名前の 
Spineアセットの更新
開発中にスケルトンデータやテクスチャアトラスファイルを更新したい時は、単純にこれらのファイル(.json、.skel.bytes、.atlas.txt、.png)を上書きするだけで更新できます。Spineエディターからアセットを再エクスポートしたら、エクスポートしたファイルをプロジェクトの Assets フォルダのサブフォルダにコピーし、既存のファイルを上書きしてください。
Unityはこれらのファイルの変更を検出し、変更されたアセットを自動的に再インポートします。再インポート後は、以前にインポートしたSpineアセットへの参照はすべてそのままで、最新のデータを使用します。
注意: 時々、Unityがファイルの変更を認識できないことがあります。この場合、UnityのProjectパネルで、再インポートしたいSpineのアセットが入っているフォルダを探し、そのフォルダを右クリックして、コンテキストメニューから
Reimportを選択してください。
Skeleton Data Asset
スケルトンデータアセット(接尾辞が _SkeletonData になっているアセット)には、スケルトンを構成するボーンの階層、スロット、表示順序、アニメーションなどの情報が保管されています。spine-unityランタイムで提供される他のコンポーネントは、このスケルトンデータアセットを参照・共有して、スケルトンのアニメーションや表示を行います。
スケルトンデータアセットを詳しく確認または修正するには、まずUnityのProjectパネルで選択します。するとInspectorパネルにスケルトンデータのすべてのプロパティが表示され、確認や修正ができます。

Skeleton Data
SkeletonDataセクションでは、スケルトンの一般的なインポート設定を行います。

-  Scale : このデータアセットを参照するすべてのスケルトンインスタンスに影響するカスタムインポートスケール値を指定できます。値を変更すると、このスケルトンのすべてのインスタンスに直ちに影響します。 注意: 例えば、32pxのアートワークを1つのゲームユニット(単位)に正確に合わせたい場合(アタッチメントの画像がSpineでスケーリングされていない場合)この Scaleパラメーターを1/px_per_unitに設定することができます。例えば、32px/unitの場合、Scaleを1/32 = 0.03125に設定します。
-  SkeletonData Modifiers : .jsonまたは.skel.bytesからのロードが完了した後に、ユーザーがスケルトンデータアセットに追加処理を加える方法を提供します。 詳細についてはSkeletonData Modifierアセットセクションを参照してください。
-  Blend Modes - Upgrade : 古い BlendModeMaterialAssetを、以下のネイティブなBlend Mode Materialsのプロパティにアップグレードします。
-  Blend Mode Materials : 特殊なブレンドモードを使用しているスケルトンのスロットには、追加のマテリアルが必要です。これらのマテリアルは、 BlendModeMaterialAssetが古いUnityやspine-unityのバージョンで使用されていない限り、インポート時に自動的に設定されます。割り当てられたBlendModeMaterialAssetは、前述のBlend Modes - Upgradeボタンでアップグレードすることをお勧めします。これにより、Unityの新しいバージョンでの問題を防ぐことができます。ブレンドモードごとのマテリアルテンプレートはSpine Preferencesでカスタマイズできます。- Apply Additive Material : 有効にすると、Additive(加算)ブレンドモードのスロットにもマテリアルが生成されます。使っているスケルトンコンポーネントでAdvanced - PMA Vertex Colorsを有効にしている場合(デフォルト)、Normal(通常)およびAdditive(加算)スロットは同じ PMA マテリアルで描画できるため、このパラメータは無効のままにしておくことができます。
- Additive Materials、Multiply Materials、Screen Materials : これらのリストには、各ブレンドモードで現在使用されているブレンドモードマテリアルが表示されます。
 
- Apply Additive Material : 有効にすると、
Atlas
アトラスの参照は、スケルトンがレンダリングを行うために、エクスポートされた画像をそれぞれの画像名に従って各画像領域に分解するために使用されます。

上の画像の Atlas Assets の配列は、アトラスアセット(_Atlasで終わるアセット)ごとに1つのエントリが自動的に入力されます。
必要なアトラスアセットの自動割り当てに失敗してしまった場合は、Atlas Assets の Size を必要な量に合わせて変更して、必要なアトラスアセットを Element0 - ElementN に手動で割り当てることができます。
Mix Settings
スケルトンデータアセットでは、アニメーションのミックスタイムを指定することができます。

Default Mix Duration では、デフォルトのミックスタイムを秒単位で入力できます。
Add Custom Mix ボタンをクリックし、Custom Mix Durations セクションにMix Durationを設定することで、上のDefault Mix Durationの値よりも優先される、特定の2つのアニメーション間のミックスタイムを定義することができます。
スケルトンデータアセットを使用するコンポーネント(Skeleton Animationコンポーネントなど)は、アニメーションを再生する際にこのミックスタイムを使用します。
Preview
スケルトンデータアセットのPreviewセクションでは、アセットに含まれるすべてのボーン、スロット、アニメーション、スキン、イベントを確認することができます。

各アニメーションの左側にある再生ボタンでアニメーションを再生したり、Slots セクションの Show Attachments でそれぞれのスロットのライブアップデートを見ることができます。タイムラインバーには、すべてのイベントが紫色のマーカーで表示されます。再生中にマーカーにカーソルを合わせると、イベント名が表示されます。

Create Animation Reference Assets ボタンを使用するとスケルトンのすべてのアニメーションのリファレンスアセットを生成できます。AnimationReferenceAsset は、単一のSpine.Animation を参照するUnityアセットとして機能し、Inspectorでコンポーネントのプロパティに割り当てることができます。

Skeleton Mecanim
SpineのデフォルトのアニメーションシステムではなくUnityのMecanimアニメーションシステムを使用したい場合は、Generate Mecanim Controller でMecanimコントローラーを生成して割り当てることができます。

Skeleton Baking
注意: Bakingは特殊なツールであり、spine-unityでスケルトンを使用する際に推奨される方法ではありません!また、SkeletonMecanim、SkeletonAnimation または SkeletonGraphic (UI)コンポーネントには使用できません!代わりに、スケルトンを
MeshRendererと互換性のあるアニメーションクリップを持ちTransformsの固定された階層を持つ、柔軟性の低いPrefabにベイクダウンします。 Spineの機能の多くはUnityのアニメーションシステムには存在しないので、変換することができず、プロセスの中で無視されます。

Skeleton Baking Window を開くには、SkeletonDataAsset のInspectorの右上にある歯車のアイコンをクリックし、Skeleton Baking を選択します。
サポートされている機能とサポートされていない機能の詳細なリストは、SkeletonBaker.csに記載されています。
注意: Bakingは、最近追加されたUnityの2Dアニメーションシステムではなく、以前からあった3D
MeshRendererベースのシステムを使用しています。
Texture Atlasアセット
テクスチャアトラスアセットには、スケルトンで使用されるイメージに関する情報が含まれています。すなわち、どのテクスチャアトラスページにイメージが保存されているかや、テクスチャアトラスページ上のUVテクスチャ座標が含まれています。

テクスチャアトラスページのマテリアルを表示するには、Materials 配列のマテリアルアセットをダブルクリックします。
注意: ご自身でテクスチャアトラスアセットが参照するマテリアルやテクスチャを修正することができます。テクスチャを変更する際は、UVテクスチャ座標が有効であることを確認してください。
SkeletonRendererコンポーネントはレンダリングに通常のMeshRendererを使用するので、マテリアルやテクスチャはキューブやクアッドなどに割り当てられたときと同じように普通に適用されます。そのため、必要に応じてテクスチャアトラスアセットのマテリアルでテクスチャを置き換えたり、前処理をすることができます。
Set Mipmap Bias to -0.5 ボタンは高度な設定で、アトラステクスチャで Generate Mip Maps が有効になっている場合に、ぼやけた外観を補正するために使用できます。
Apply Regions as Texture Sprite Slices ボタンを押すと、アトラスの各画像要素に対してスプライトを生成することができます。生成されたスプライトは、テクスチャアトラスイメージ(png ファイル)の領域を参照しており、Unityのスプライトアセットとして使用できます。
SkeletonData Modifierアセット
SkeletonData modifierアセットは、.json または .skel.bytes ファイルからのロードが完了した後に、ユーザーがスケルトンデータアセットに追加処理を加える方法を提供します。
SkeletonDataAssetのInspectorにはアセットを追加できる Skeleton Data Modifiers のリストがあります。

カスタムSkeletonDataModifierAssetクラスを書くには
独自のカスタムSkeletonDataModifierAsset クラスを書いて、.json または .skel.bytes ファイルから読み込んだ後のスケルトンデータアセットに追加処理を加えることができます。SkeletonDataModifierAsset は、抽象的な ScriptableObject クラスで、ここから独自のクラスを派生させることができます。
-  SkeletonDataModifierAssetから派生した新しいクラスを作成し、void Apply (SkeletonData skeletonData)メソッドを実装します。CreateAssetMenuクラス属性を追加して、Asset -> Createメニューにクラスのエントリをリストアップします。C#[[CreateAssetMenu(menuName = "TopMenu/Submenu/SubSubmenu", order = 200)]
 public class BlendModeMaterialsAsset : SkeletonDataModifierAsset {
 public override void Apply (SkeletonData skeletonData) {
 ...
 }
 }
-  Projectパネルで任意のフォルダを選択し、新しく作成した Asset -> Createメニューを選択して、新しいクラスのインスタンスを作成します。作成したアセットを、SkeletonDataアセットのSkeleton Data Modifiersリストの要素に割り当てます。
Apply(skeletonData) は、.json または .skel.bytes ファイルからのデータのロードが完了した後に呼び出されます。
BlendModeMaterialsAsset Modifier Asset (旧式)
注意: spine-unity では、各SkeletonDataAssetでスロットのブレンドモード
Additive(加算)、Multiply(乗算)、Screen(スクリーン)のネイティブサポートを提供し、新しくインポートされた各SkeletonDataAssetでは自動的にセットアップが行われます。BlendModeMaterialAssetsは廃止され、SkeletonDataAssetのネイティブ プロパティに置き換えられました。SkeletonDataAssetのInspectorには廃止されたBlendModeMaterialAssetをアップグレードするための新しいBlend Modes - Upgradeボタンがあります。このアップグレードは、Unity 2020.1以降のバージョンで報告されたBlendModeMaterialAssetの問題を防ぐために、インポートおよび再インポートされたアセットに対して自動的に実行されます。
BlendModeMaterialsAsset は、spine-unityに含まれるSkeletonData modifierのアセットクラスです。Spineエディターで Additive(加算)、Multiply(乗算)、Screen(スクリーン) の各ブレンドモードが割り当てられたスロット内のアタッチメントのレンダリングに使用できるマテリアルへの参照を保持しています。
BlendModeMaterialsアセットに格納されているマテリアルの参照は、読み込まれたアタッチメントに適切なテクスチャを使用する新しいマテリアルを生成するためのテンプレートとして使用されます。
spine-unityランタイムには、Default BlendModeMaterials という名前の BlendModeMaterialsAsset がパッケージされており、すぐに使用できます。この付属のアセットを使用することで、特別なブレンドモードを持つスロットのアタッチメントが、付属のデフォルトの Multiply(乗算) と Screen(スクリーン) シェーダー、Spine/Blend Modes/Skeleton PMA Multiply と Spine/Blend Modes/Skeleton PMA Screen を使用できるようになります。
異なるマテリアルやシェーダー、異なる設定のマテリアルを使用する必要がある場合は、Create -> Spine -> SkeletonData Modifiers -> Blend Mode Materials で新しいBlendModeMaterialsAsset を作成してください。そして、作成したアセットにマテリアルのテンプレートを割り当てます。