0 支持
1.5k 閲覧
(240 ポイント) Q&A
編集

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

SS6PlayerForUnityで出力した「ps_〇〇_controller」プレハブにAnimatorをアタッチしてアニメーションをさせようとしています。(下記ヘルプを参考にしています)

https://www.webtech.co.jp/help/ja/spritestudio/guide/output6/unity_native/#anime_play

そこでInspector上でプレハブのルートオブジェクトのアクティブ状態を切ると次アクティブ状態を真にした際にアニメーションが表示されない状態にあります。

こちらは別で何か設定が必要だったりするのでしょうか?

前回の質問でSS6PU Ver.2.1.21もしくはVer.2.2.0へのバージョンアップで問題が解決していたのでこちらもバージョンアップによって解決はあるとは思いましたが、取り急ぎ設定もれや既知の不具合ではないかを確認させていただきたく質問いたしました。

バージョンアップを行って検証もしていこうと思います。

(↓前回質問)

https://spritestudio.jp/community/index.php?qa=1900&qa_1=%E3%80%90unity%E3%80%91ss6playerforunity%E4%B8%8A%E3%81%A7%E3%81%AE%E8%A4%87%E6%95%B0%E5%80%8B%E3%81%AE%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%83%87%E3%83%BC%E3%82%BF%E3%81%AE%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%97%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6

お手数おかけしますが教えていただけると幸いです。

Unityバージョン:2021.3.15f1
SpriteStudioバージョン:6.6.4.2007

SpriteStudio 6 Player for Unityバージョン:Version 2.1.8 - October 07, 2022

ImportMode:Comvert To Unity-Native

このページをシェアする

回答 1

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

お世話になっております。SS6Player for Unity担当です。

ご質問、ありがとうございます。

この件は、基本的には、Ver.2.1.21もしくはVer.2.2.0で解消されているかと思うのですが、どちらかというと「Ver.2.2.0」の方が「より」起こらない(安全な)可能性が高い現象かと思われます。

ご使用の2.1.8(2.1.21未満)は、アニメーションをHierarchy(シーン)に設置した時などで「アニメーションクリップ(Animation)が、適用されていない」場合に、「画像の初期表示に必要な情報」をアニメーションクリップから取り出しているために、初期描画が不安定になる

……という持病(仕様の都合上で発生する問題点)があります。

さらに、Ver.2.1.x系(これはVer.2.1.21も含む)は、「アニメーションクリップから、使用しているSpriteやSkinnedMeshのレンダラ及びマテリアルに、直接データを出力する」という実装の仕様になっているため……「動作時の使用メモリなどが節約できる」代わりに・「隠れて実行しておく(例えば、それこそシーンの中でGameObjectのActiveをfalseにして停止させたまま、裏側で色々な設定をしたまま放置しておく……など)」とかということがやりづらい「データの仕様」になっています。

このあたりは、(できるだけVer.2.1.21でも解消しようとはしているのですが)Ver.2.2.0の方が「一度、使用しているクラスにデータを貯め込んでから、必要な時に各種描画に設定を行う」ことをしているので、確実性は高いかと思われます。

※Ver.2.1.21とVer.2.2.0でバージョンが分かれている理由が、この「一度使用しているクラスにデータを貯め込む」ことをしようとすると、アニメーションクリップに格納するデータが色々と異なってしまうために、「過去にインポートしたデータをそのまま使う」ようなことができなくなって互換性が失われてしまうために、「過去(Ver.2.1.x)とデータの互換性があるVer.2.1.21」と「Ver.2.1.xとデータの互換性がないけれど、運用していて不都合が起こり辛いVer.2.2.0」という形で、(「動作上はほぼ同じ仕様」なのですが)使用状態や用途の都合に合わせて2バージョン作ってある……という形になります(つまり、Ver.2.1.21はVer.2.1.xでインポートした過去のデータをそのまま使える代わりに、若干だけデメリットの部分をひきついでしまっている……と言えます)。


一応、参考までに、過去本件に関係する「Ver.2.1.21未満」で起こる障害や不便な現象には、下記のようなものがあります(ご質問の投稿者が海外の方であるため、英語になっております旨、ご容赦のほどお願いいたします)。

※基本的には、いずれも、アニメーションの初期表示にまつわる問題になっております。

※上の通り、これらについては、Ver.2.1.21ないしはVer.2.2.0で解消されております。

https://spritestudio.jp/community/index.php?qa=1876&qa_1=solved-unity-native-skinned-sprite-rendered-abnormally-unity

https://spritestudio.jp/community/index.php?qa=1877&qa_1=solved-unity-native-bone-mesh-could-correctly-unity-native

(※リンクの同時投稿制限があるので、このコメントのレスでさらに数件リンクを追加投稿いたします)


お忙しい中お手数とは存じますが、何卒今後ともよろしくお願いいたします。

(5.0k ポイント)

上記の

一応、参考までに、過去本件に関係するVer.2.1.21未満で起こる障害や不便な現象には、下記のようなものがあります(ご質問の投稿者が海外の方であるため、英語になっております旨、ご容赦のほどお願いいたします)。

※基本的には、いずれも、アニメーションの初期表示にまつわる問題になっております。

※上の通り、これらについては、Ver.2.1.21ないしはVer.2.2.0で解消されております。

に関するログのURL(追加分)です。

https://github.com/SpriteStudio/SS6PlayerForUnity/issues/93

https://spritestudio.jp/community/index.php?qa=1828&qa_1=solved-how-to-preview-spriterenderer-in-unity-editor-mod

以上となります。

(240 ポイント)

先ほどSS6PlayerForUnityをVer.2.2.0にバージョンアップしたところ上記不具合が解消されました

ご返答ありがとうございました!

「動作時の使用メモリなどが節約できる」代わりに・「隠れて実行しておく(例えば、それこそシーンの中でGameObjectのActiveをfalseにして停止させたまま、裏側で色々な設定をしたまま放置しておく……など)」とかということがやりづらい「データの仕様」になっています。

上記内容はこれからUnity上で実装をしていく上で念頭に置いておこうと思います。

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

(5.0k ポイント)

上記内容はこれからUnity上で実装をしていく上で念頭に置いておこうと思います。

お手数をおかけして申し訳ありません。

こういうといささか不謹慎にうつるかもしれませんが……

Ver.2.2.0の方が動作の確実性は高いので……Ver.2.1.8などでインポートしたデータの数があまり多くないのでしたら、

個人的には(うみつき様が行われている通り)Ver.2.2.0に移行して・データを再インポートしなおす

……方が、安全性が高いかとは思われます(Ver.2.1.21もそれなりにバグは解消されてはいるのですが……このあたりは「AnimationClipに格納されているデータの内容」で左右されてしまうところでもありますので……)。

Ver.2.2.0とVer.2.1.21の使い分けのご参考になれば幸いです。

(240 ポイント)

個人的には(うみつき様が行われている通り)Ver.2.2.0に移行して・データを再インポートしなおす……方が、安全性が高いかとは思われます

SS6PlayerForUnityのバージョンアップのみした場合、Version 2.1.8でインポートしたデータはアニメーションの表示がされなかったため上記対応で確認いたしました。そのうえで不具合がなくなったことを確認しています。

(しかし数点のアニメーションしか確認していないため表示されなかったのは私の設定ミスの可能性もあります。)

ご連絡ありがとうございます!

...