0 支持
843 閲覧
Q&A
  • 使用バージョン: 5.8.0
  • 要望:ssae内複数のアニメーションをゲームエンジン(主にUNITY)で自然に繋ぐ方法はありますか?

二つのアニメーション間にキー値の変化を自動的に繋げて、まるで一つの動作のようにアニメーションを変えたいんです。

例えば、歩いていたキャラクターがプレイヤーの操作により、走ったり止まったりする時、現在は急激に動作が変わるようにできていますが、それをもっとスムーズに見えるようにする方法を知りたいです。

他のアニメーションツールのモーションブレンドやクロスフェードと読んでいるようですが、このような機能はSSPにはありませんか?

機能としては無いとしても、なんか方法があれば教えてください。

よろしくお願いします。

このページをシェアする

回答 1

0 支持
(5.0k ポイント)
編集

お世話になっております。

ご要望の機能は、近日公開予定の「SS6Player for Unity」(SS6PU)では実装されております(SS6PU上の機能としては「トラックトランジション」と呼称されています)。
※ただし、ブレンドできるのは、XY座標・XYスケール・XYZ軸回転(いわゆるTRS等と呼ばれるもの)のみとなりますため、他のアトリビュート(例えば「セル参照」「頂点変形」「カラーブレンド」など)についてはブレンドは不可能となっています。

また、現在公開されている「SS5Player for Unity」(SS5PU)では、対応しておりません。(また、今後SS5PUでトラックトランジションと同種の機能の追加予定もありません)

SS6PUは、

  • SS5PUとは互換性がありません(使い方もスクリプトからの操作なども、仕様が似ている部分は多々ありますが、全くの別プレーヤーです)
  • SS5.8のデータも読み込むことはできますが、「カラーブレンド」の機能が使用できません(SS6で追加された「パーツカラー」アトリビュートで同種の効果を作成していただく必要があります)
  • SS5PUの「描画マネージャ」(View)と呼ばれている機能が廃止されています。

の上記3点にご注意いただき、導入をご検討頂ければと思います。

SS6PUは、早ければ今週(11/18までの間)に、「Ver.0.8.0」が公開されるかと思います。


※ただ、私としましては、現在開発の初期段階でない限り、プロジェクトの途中からSS6PUへの切り替えは、推奨いたしかねます(互換性がないため、乗り換えに相当な工数を要するかと思われます)。
 




SS「5」PUで、似たような効果を出す方法……としては、恐らく「ない」と思われます。
申し訳ございません。

といいますのも、SS5PUは、

  • 「2つのアニメーションを同時に再生管理する」方法がない
  • (スクリプトから強引に書き換えたとしても)各パーツのGameObjectのTransformの更新を取り合ってしまう。

という都合があり、実現そのものが難しいかと思われます。

ブレンドではないのですが、「XY座標」「XYZ軸回転」「XYスケール」を使用していないパーツを作成して、アニメーション中にスクリプトやアニメーションクリップからTransformを操作することによって、アニメーションに影響を与えるようなことはできます。

例えば肩の付け根に上記3種類のアトリビュートを使用していないNULLパーツを作成し(これを「A」として)、腕から先をそのNULLパーツの子にしておくと(腕のパーツはアニメーションしていて構いません)……
アニメーション動作中にスクリプト(やアニメーションクリップなど)から「A」のパーツに対応するGameObjectのTransformを書き換えることで、腕のアニメーションに影響を与えることはできます。

他にSS5PUでできることがあるとすれば、結局つなぎのアニメーションを作ってやるのが一番解決策に近いのかもしれません。
 



以上となります。

ご要望の機能がSS5PUで実現できず、不便をおかけしてしまい大変申し訳ございません。

何卒今後とも宜しくお願いいたします。

(500 ポイント)
一点だけ回答について訂正をさせていただきます。

SS6PUについて、SS5.8のデータが使用できるという事で書かれておりますが、SS6とSS5ではデータの互換性がなく、SS6Playerで使用する事はできません。

SS5のアニメーションデータを使用する場合はSS6でSS5のアニメーションを読み込み、SS6形式で保存する必要があります。

今後ともSpriteStudioをよろしくお願いいたします。
...