世界は四角に区切られる

あるSpriteStudio使われの備忘録

アニメーションを流用する際のSpriteStudioファイル管理

 SpriteStudioは基本4つのファイルで構成されます。

  • sspj :プロジェクトファイル。全てのファイルを統括するファイル。
  • ssae :アニメーションファイル。アニメのフレームキーの情報などはここに入っています。
  • ssce :セルファイル。画像ファイルのどの部分を切り取ってパーツとして使うのかを管理しているファイル。
  • png :画像ファイル。実際に動かすために必要な絵がパーツ毎にバラバラ状態で描かれている透過pngファイル。

これら4つのファイルは密接に関連づいて紐付けされているので、量産時に前のデータを流用する際にちょっとしたコツが要ります。どれかひとつをリネームしただけで「見つからないよ!」とエラーを吐いてしまうので、単純にコピー&ペーストしただけでは動かない事が多いのです。

 ここでは特にソーシャルゲーム制作でよくある、同じアニメーションモーションを複数のキャラクタ絵で使い廻す際に自分が行っているファイルコピー手順を書いてみます。

 パーツ毎の形状は変わらず、絵柄のみが変化し、且つセルマップの位置にも変化が無い場合、単純にssceを右クリックして【参照イメージの変更】で対象のpngファイルを変更してやればキャラクタ絵のチェンジは完了しますが、大抵のソーシャルゲームの場合キャラクタは数字のIDで管理され、それに対応するsspjやssaeも同様にIDが割り振られます。ですので先に挙げた基本の4ファイル全てをリネームして指定された位置に保存する必要があります。

 

 ここでは以下のファイル構成の「与えられたpng画像から新規に流用アニメーションを作る」場合を考えてみます。oldキャラクタを流用してnewキャラクタを作る作業です。これは作業完了後の完成予想図です。psdから直接PSDtoSSを利用して作ったssceを使う場合はまた別の機会に。

f:id:iceshop:20160503001414p:plain

 フォルダ毎に1キャラクタなのが普通だと思いますが、ソシャゲには大抵「進化前」「進化後」がありますので、そういうキャラはひとまとめに同一のフォルダ管理をしているケースが多いと思います。勿論IDは違いますが。ここでは「進化前」=oldから「進化後」=newを制作する、と思ってください。

f:id:iceshop:20160503001700p:plain

フォルダ内rootにはsspjファイルがあります。

f:id:iceshop:20160503002158p:plain

cellフォルダ内にはpng画像が入っています。psdは元となったPhotoshop画像が入っていますが、ここにまで戻って作業するといったケースは希な気がします。

f:id:iceshop:20160503002345p:plain

oldフォルダ内にはssaeとssceが入っています。こちらを流用してnewファイルを作るのが今回の作業です。

 

1:新規フォルダ作成

f:id:iceshop:20160503002917p:plain

oldフォルダと並ぶ位置にnewフォルダを作ります。大抵は指定されたIDナンバーで作成する事になると思います。

 

2:画像pngファイルの準備

f:id:iceshop:20160503003116p:plain

cellフォルダの中に別途作成しておいたnew画像pngファイルを置きます。

 

3:sspjファイルの作成

f:id:iceshop:20160503003235p:plain

old.sspjファイルをコピー&ペーストしてnew.sspjにリネームします。他のファイルはリネームすると紐付けの関係で問題が起きますが、sspjファイルは何処からも呼び出されませんのでここだけ通常のリネームが可能です。

 

4:作成したsspjファイルからSpriteStudio起動

f:id:iceshop:20160503003428p:plain

この時点では単にsspjをリネームしただけですので、中身は全てoldです。

 

5:ssaeの複製

f:id:iceshop:20160503003537p:plain

まずはアニメーションファイルssaeの複製に入ります。「プロジェクト」ウィンドウからoldact.ssaeを右クリックし、【複製(U)】を選びます。

f:id:iceshop:20160503003739p:plain

newフォルダを選び、リネームしてnewact.ssaeとして保存します。

f:id:iceshop:20160503003813p:plain

無事所定のフォルダにリネームしたssaeファイルを置くことが出来たので、いらなくなったoldact.ssaeファイルは【プロジェクトから除外(R)】しておきます。この際誤って【ファイルの削除(D)】を選んでしまうと、流用元であるoldact.ssaeをフォルダ内から削除してしまうので注意が必要です。

 

6:ssceの複製

f:id:iceshop:20160503004135p:plain

次に同様にoldcell.ssceを右クリックし、【複製(U)】を選びます。

f:id:iceshop:20160503004225p:plain

ssceもssaeと同様に、newフォルダの中にnewcell.ssceとして保存します。これでsspjと別ディレクトリにあるssae、ssceも正しく読みに行ってくれるようになりました。

 ですがここで注意点。この後oldcell.ssceをプロジェクトから除外しないでください。

 現時点ではリネームをしただけですので、アニメーションファイルnewact.ssaeはセル情報をoldcell.ssceから参照しています。この段階でoldcell.ssceを削除なり除外なりしてしまうとssaeがssceを見つけられなくて画像が表示されなくなったりエラーを吐いたり、最悪ソフト自体がフリーズしたりします。

 また、newcell.ssceが参照している画像も未だold.pngです。ですのでここから

・ssceの参照先pngを変更 → ssaeの参照先ssceを変更

という手順を踏まなくてはなりません。

 

7:セルマップ参照イメージの変更

f:id:iceshop:20160503005208p:plain

前項で示したとおり、newcell.ssceの参照する画像pngは未だ古いままです。

f:id:iceshop:20160503005253p:plain

newcell.ssceを右クリックし、【参照イメージの変更(I)】を選び、new.pngを選択します。

f:id:iceshop:20160503005356p:plain

これでssceの参照先が新しい画像のものになりました。

 

8:セルマップの修正

f:id:iceshop:20160503005917p:plain

セルマップで切り取られている画像パーツの範囲はoldcell.ssceのものですので、これをnew用に修正していきます。また、追加パーツ等必要なセルパーツを追加していきます。

f:id:iceshop:20160503010157p:plain

反対にoldでは使用していたが、newでは使わないパーツというものも出てくると思います。

大抵は変なところを切り取って謎の絵になっているか、透明になっているかだと思いますが、これは経験則ですがあまり削除しない方が良いと思います(後述)透明部分を指定してブランク状態にしておくのがベターかと思います。

 

9:参照先セルマップの変更

f:id:iceshop:20160503010451p:plain

いよいよssaeの参照先セルマップを変更します。newact.ssaeを右クリックし、【参照先セルマップの変更(M)】を選択します。

f:id:iceshop:20160503010600p:plain

newセル→newセル、oldセル→oldセルのようになっていると思いますので、ここをどちらも変更先がnewセルになるようにします。変更先の下のoldcell.ssceを何回かクリックすると変更ダイアログが出てきますので、ここをnewcell.ssceに替えます。

f:id:iceshop:20160503010953p:plain

f:id:iceshop:20160503011029p:plain

これでnewact.ssae上でnew.pngの絵が動くようになります。

 

10:変更後パーツ・キーフレームのチェック

f:id:iceshop:20160503011258p:plain

ここで表示がおかしかったり、原点がズレていたり、oldでは使わなかったパーツを追加したりといったクオリティアップ作業をしてしまいます。そして何より、最も重要なoldでは使っていたけれどnewでは使わないパーツが呼び出されていないかのキーフレームのチェックをします。

 何処かのフレームキーで、newでは使わないのにoldでは使っていたパーツが呼び出された時、そのセルパーツが削除されていたりした場合エラーを吐くことがあります。8項で不要なセルパーツを削除しない方が良いといったのはこのためです。セルパーツからの使用キー逆引きは現バージョンではまだ実装されておりませんので、地道に参照セルを見て確認するしかありません。

 

11:保存及びファイルのバックアップ

 ここでファイルのバックアップを強く推奨します。万一呼び出しエラーが発生したとしてもアンドゥで戻れないからです。

 

12:古いssceをプロジェクトから除外

f:id:iceshop:20160503011959p:plain

いよいよいらなくなったoldcell.ssceファイルを削除する時が来ました。oldcell.ssceを右クリックして【プロジェクトから除外(R)】します。

f:id:iceshop:20160503012133p:plain

このとき警告が出るようなら何処かのフレームキーにoldcell.ssceを参照する「参照セル」が残っています。

f:id:iceshop:20160503012225p:plain

フレームコントロールから各パーツの「+」タブを押すと「参照セル」アトリビュートを使用しているキーが解りますので、これを利用してしらみつぶしにチェックします。

 

13:保存後終了、のち再起動

f:id:iceshop:20160503012401p:plain

これですべてnewになった流用アニメーションファイルの完成です。ですが納品前に一度プロジェクトを終了し、再度SpriteStudioで起動してみる事をオススメします。削除時に警告が出なかったのに、起動時に参照先が見つからずにエラーを吐く事例が稀によくあるからです。再起動してしまったので元には戻せません。バックアップを取っておくのはそのためです。

 

 以上、SpriteStudioでのコピー&ペースト事情でしたが如何だったでしょうか。最近のバージョンは大分改善されましてそこまで酷いエラーは吐かなくなりましたが、以前は参照先データ全部が吹っ飛んでほぼ一からやりなおし…なんて事もありましたのでssce廻りは相当デリケートに扱っております。

 他にこんな事しなくてももっと簡単な方法があるよ!みたいなのがあったら気軽にお伝え下さい。偉そうに語ってますがまだ使用履歴1年経ってないペーぺーですので…