スクリプトリファレンス(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では、この情報をアニメーションオブジェクトが実体化している状態であれば(再生中かの如何を問わず)取得することができるようになっています。
主な利用性としては、「再生前に取得したい(再生に必要な特殊な)初期化情報」に使用したりすることが考えられます。
ユーザーデータの取得については、下記の手順で行います。
- 本変数が持つ「IsUserData」プロパティがtrueである場合、ユーザーデータを持っています。
- 「IsUserData」プロパティがtrueの場合に、UserDataメンバ変数が有効な内容となっており、通常のユーザーデータの内容を取得する時と同じ方法で各項目の内容を取得できます。
本項目についてはこちら(Issue内)にも詳細・追加説明があります。