スクリプトリファレンス(DataAnimation) - SpriteStudio/SS6PlayerForUnity GitHub Wiki

SS6Player for Unity(以降「SS6PU」)の静的アニメーションデータクラス(Script_SpriteStudio6_DataAnimation)の公開機能のスクリプトリファレンスです。

本クラスについては、下記に記載してある公開機能以外は原則アプリケーションからアクセスしないでください(動作や今後の互換性などの一切の保障をいたしません)。


バージョン情報(Read-Only)

変数(動的)

Script_SpriteStudio6_DataAnimation.KindVersion Version

アニメーションデータのバージョン(読取専用)

解説

SS6PUの静的アニメーション情報のインポート時のデータバージョンです。
本バージョンコードは、SpriteStudio6及びそのデータのssaeのバージョンではなく、SS6PUの内部データバージョンです(SpriteStudio6側がバージョンが変わった場合でも必ずしもSS6PU側のバージョンが変更されるわけではなく・逆もまた真なりです)。

本バージョンが、現在(Unityのプロジェクト中に格納されている)SS6PUで再生できるかどうかを判定するには、「KindVersion.SUPPORT_EARLIEST ≦ 本値 ≦ KindVersion.SUPPORT_LATEST」で判定することができますが、もし判定しなくてはならない場合(直値で判定しないで)VersionCheckRuntime関数がtrueを返すかで判定してください。


パーツカタログ(Read-Only)

変数(動的)

Library_SpriteStudio6.Data.Parts.Animation.Catalog CatalogParts

各パーツ種別毎のパーツIDの配列(読取専用)

解説

このアニメーションデータに定義されている全てのパーツが、パーツ種類毎でパーツIDを列記してあります。
値はintで、下記の種別に分かれています(全てLibrary_SpriteStudio6.Data.Parts.Animation.Catalogクラスのメンバ変数です)。

  • TableIDPartsNULL : NULLパーツのリストです。
  • TableIDPartsNormal : 通常(スプライト)パーツのリストです。
  • TableIDPartsInstance : 「インスタンス」パーツのリストです。
  • TableIDPartsEffect : 「エフェクト」パーツのリストです。
  • TableIDPartsMask : 「マスク」パーツのリストです。
  • TableIDPartsJoint : 「ジョイント」パーツのリストです。
  • TableIDPartsBone : 「ボーン」パーツのリストです。
  • TableIDPartsMoveNode : 「ムーブノード」パーツのリストです。
  • TableIDPartsConstraint : 「コンストレイント」パーツのリストです。
  • TableIDPartsBonePoint : 「ボーンポイント」パーツのリストです。
  • TableIDPartsMesh : 「メッシュ」パーツのリストです。

※上記の「リスト」は「列記」の意味で使用されています。C#のジェネリックlistクラスの意味ではありませんので、混同しないようにお願いいたします(実装は静的配列になっています)。


アニメーション情報(Read-Only)

変数(動的)

Library_SpriteStudio6.Data.Animation[] TableAnimation

アニメーションの情報(読取専用)

解説

静的アニメーションデータに含まれているアニメーションの情報です。

TableAnimationの配列添字はアニメーションの番号(インデックス)で、Script_SpriteStudio6_Rootの動的メンバIndexGetAnimation関数で取得できるインデックスと同値です。

下記のメンバ変数以外はアクセスしないでください。

  • (int)FramePerSecond : アニメーションのフレームレート(FPS)です。
  • (int)CountFrame : SpriteStudio6上でのアニメーションの全フレーム数(再生区間外も含みます)です。
  • (int)SizeCanvasX : SpriteStudio6上でアニメーションの「基準枠内サイズの横」に指定されていた値です(アニメーションのAABBではありません)。
  • (int)SizeCanvasY : SpriteStudio6上でアニメーションの「基準枠内サイズの縦」に指定されていた値です(アニメーションのAABBではありません)。
  • (int)FrameValidStart : アニメーションの(全フレームに対する)有効フレームの先頭フレームです。
  • (int)FrameValidEnd : アニメーションの(全フレームに対する)有効フレームの終了フレームです。
  • (int)CountFrameValid : アニメーションの有効フレーム数(SpriteStudio6上で再生区間として設定したフレーム数)です。
  • (int)DepthIK : SpriteStudio6上で設定していた、アニメーションの「パーツIKの影響リンク」の値です。
  • (KindModeSort)ModeSort : SpriteStudio6上で設定していた、「パーツソート」の設定値です。

ラベル情報を取得する場合、各アニメーション情報が持っている下記関数を使用してください。

  • CountGetLabel : ラベル数を取得します。
    引数はありません。
  • IndexGetLabel : ラベルのインデックスを取得します。
    引数はラベル名(文字列)です。
  • FrameGetLabel : ラベルに対応したフレーム番号です。 引数はラベルのインデックスです。

セットアップアニメーション情報(Read-Only)

変数(動的)

DataSetup[] TableAnimationPartsSetup

セットアップアニメーション情報(読取専用)

解説

SpriteStudio6上で作成した、ssaeのセットアップアニメーション情報です。

SpriteStudio6のセットアップアニメーションは、ほとんどのパラメータは暗黙的に「ssae中の全アニメーションの0フレーム」に反映され、(通常)アニメーション情報としては取得して有益な情報はありません。
ただし、「ユーザーデータ」だけは「唯一の例外」となります。

「ユーザーデータ」はSpriteStudio6のセットアップアニメーションに設定することができますが、この情報に限ってはアニメーションの0フレームに暗黙的に反映されることは「ありません」。
※そしていかなるアニメーションにも影響を与えません。

SS6PUでは、この情報をアニメーションオブジェクトが実体化している状態であれば(再生中かの如何を問わず)取得することができるようになっています。
主な利用性としては、「再生前に取得したい(再生に必要な特殊な)初期化情報」に使用したりすることが考えられます。

ユーザーデータの取得については、下記の手順で行います。

  1. 本変数が持つ「IsUserData」プロパティがtrueである場合、ユーザーデータを持っています。
  2. 「IsUserData」プロパティがtrueの場合に、UserDataメンバ変数が有効な内容となっており、通常のユーザーデータの内容を取得する時と同じ方法で各項目の内容を取得できます。

本項目についてはこちら(Issue内)にも詳細・追加説明があります。