• 日本語
  • 質問:Unity内でIKコンストレイントの圧縮が適用されません

  • تم التحرير
Related Discussions
...

質問させて頂きます。
spine内でIKコンストレイントの「圧縮」オプションを使ったアニメショーンを作り、
Unity上で動かしてみたのですが、Unityで再生すると圧縮の効果が適用されていません。

これは何か別に特殊な設定を行う必要があるのでしょうか?

使用環境は以下の通りです。

spine:4.0.59pro
unity:2021.1.0f1
ランタイム:spine-unity 4.0

(他にもいくつかのバージョンの組み合わせを試しましたが、上手くいきませんでした。)

よろしくお願いします。

こんにちは!

spine内でIKコンストレイントの「圧縮」オプションを使ったアニメショーンを作り、
Unity上で動かしてみたのですが、Unityで再生すると圧縮の効果が適用されていません。

これは何か別に特殊な設定を行う必要があるのでしょうか?

いいえ、特に追加の設定を行わなくても再生されるはずです。
「Unityで再生する」とは、シーンをプレイした時ということでしょうか?
シーン内で再生する場合、様々な要素が混在している可能性がありますので、まずは正しくアニメーションがエクスポートされているかどうかを確認するために、スケルトンデータアセット(接尾辞が_SkeletonDataになっているアセット)を選択した際にInspectorウィンドウに表示されるPreview内で期待通りのアニメーションが再生されるかを確認してみていただけますか?

もしPreview内で正しいアニメーションが再生されるのであれば、シーン内でのアニメーションの実装に問題があると思われます。その場合はシーン内でどのようにアニメーションの再生を行なっているかもご共有いただけますと幸いです。
お手数ですが、ご確認のほどよろしくお願いいたします。

素早い対応ありがとうございます。
Unityで再生というのは、SkeletonAnimationのゲームオブジェクトを生成し、あらかじめアニメーション設定した後、シーンで再生という形でした。

ご指示の通りInspectorウィンドウのPreviewを確認してみました所、プレビューの時点で圧縮が適用されていなかったため、
エクスポートに問題があるのかもしれません。

この場合考えられる可能性は何がありますでしょうか。
自分が確認できる範囲では関連する要素を推測出来ませんでした。
申し訳有りませんが、よろしくお願いします。


すみません、投稿してしまいましたが、その後、自分で色々試してみて、一応は解決したのですが……

問題のIKコンストレイントは、設定画面ではミックス値をゼロにしておき、アニメーションシートの方でミックス値を100にするという設定にしており、これだとエクスポートの際正しく表示されないのですが、

設定画面の段階からミックス値を100にしてエクスポートしたら、Unityでのプレビュー画面、シーン表示共に正しく表示されるようになりました。

前述の修正前での設定でもspine上のアニメ表示ではきちんと圧縮効果は適用されており、シート上でもきちんとミックス値のキーは打たれているようなのですが、なにか機能に対する勘違いをしているのでしょうか。

一応は解決したものの、その点について今一度確認をお願いしたいです。

ご確認いただきありがとうございます!
Spineエディター上で適用されていたIKコンストレイントの圧縮が、エクスポート後のデータでは適用されない問題につきまして、確認しましたところこちらでも再現が出来、バグである可能性が高いため、こちらの問題をissueとしてGitHubに登録しました。
https://github.com/EsotericSoftware/spine-editor/issues/628

この問題について進捗がありましたら、またこちらのスレッドでご報告させていただきます。
誠に恐れ入りますが、問題の解決まで今しばらくお待ちいただけますと幸いです。

分かりました。修正をお待ちしております。
丁寧な対応ありがとうございました。

お待たせしておりましたが、設定モードでIKのミックスを0にしてアニメーション内でミックスを上げると、エクスポートされたJSONデータ内で圧縮が適用されない問題につきまして、最新の4.0.60にて修正されました。
お手数ですがアップデートを行なっていただき、問題が解決しているかどうかご確認いただけますと幸いです。
何卒よろしくお願いいたします。

最新版にて以前と同じ状態でエクスポートした所、プレビューウィンドウでもゲーム中でも正しく表示されるようになりました。

素早く丁寧な対応に感謝します。
ありがとうございました!