SpriteStudio / SS5PlayerForUnity

OPTPiX SpriteStudio 5 Player for Unity
http://www.webtech.co.jp/spritestudio/
MIT License
39 stars 15 forks source link

v1.2.29 外部ファイルssaxの再生方法について #157

Open ghost opened 8 years ago

ghost commented 8 years ago

質問失礼します。

スマホアプリに SpriteStudio を採用したいと考え、問題が無いか現在検証中です。

外部に test.png , test_anime_1.ssax の2ファイルがあったとします。 それらを読み込んで Unity のオブジェクトを動的に生成してアニメの再生を行いたいと思っております。

容量と通信帯域の問題があり、アニメのファイル数とサイズ的に、アニメを全て Unity でインポートしてエンドユーザーに提供することができません。 またアニメのプレハブを Unity でエクスポート・パッケージ化してそのファイルを動的に読み込んで(できるかどうか知りませんが)オブジェクトを生成しようとも考えましたがファイルサイズの問題から断念しました。

ネットで調べましたが、Unity 上での Import の方法ばかりで、ssax を読み込んで動的に Unity のオブジェクトを生成する方法が見つけられませんでした。 プログラムの実装に際して参考になるサイトや情報はありますでしょうか?

よろしくお願い致します。


SS5Player For Unity v1.2.29 Unity 5.2.2f1 Windows 10

DKAlpha commented 8 years ago

ご質問に回答いたします。 SS5Playerをお使いという事なので、ssaxではなくsspjかと思います。 アニメーションデータをアプリに含めない場合は、まずSS5Playerでインポートしていただいてアニメーションデータのprefabファイル一式を作成し、アセットバンドル化して運用する方法が一般的かと思います。 アセットバンドル化の方法についてはUnityのドキュメントをご参照ください。

またアニメーションを動的に生成する方法につきましては、SS5PlayerForUnityのリポジトリのsample_developブランチに含まれているサンプルプログラムが参考になるかと思います。 Assets/SpriteStudioSample/script/effect_control.cs こちらでリソースフォルダにあるアニメーションロードして動的にアニメーションを生成しております。 よろしくお願いいたします。

MasamiYitsuse commented 8 years ago

お世話になっております。 上記のご返答への補足となります。

ご質問が「SSAXないしSSAE(SS5が直接出力するデータ)を、Unity上の・ランタイムで読み込んで、再生する機能が存在するか?」という内容であった場合なのですが……。 現状SS5PUとしてリリースされているプレーヤーにその手の機能は存在しません。 全て、SSPJ(SS5PUはSSAX形式には対応していません)から一度Unity上の専用データに変換することで再生可能になります。

SSPJ/SSAE/SSCEなどのデータのフォーマット解析については、 SS5PUの Editor/LibraryEditor_SpriteStudio.cs の解析処理を参考にしていただけますようお願いいたします。


また余談ですが、データサイズについては、インポート時に「Compress」のオプションを指定(チェック)することで、データに圧縮がかかるようになっております。 このオプションを設定することで、アトリビュートの動きのない区間については冗長データとして削減しますので、アニメーションデータの構成によっては、相当データが小さくなるかと思います。

何卒よろしくお願いいたします。

ghost commented 8 years ago

返答ありがとうございます。

設計思想と運用方法を把握できました。