SpriteStudio / SS5PlayerForUnity

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

v1.2.3 Unity5でAsset SerializationがForce Textの時のインポートで発生するエラーについて #119

Open M-Kanou opened 9 years ago

M-Kanou commented 9 years ago

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

バグ?報告になります。

UnityのProject Settings→Editorにある、Asset Serialization を Force Text にしてから SS5Player for Unityをインポートすると、

「Binary to YAML conversion: type unsigned int is unsupported」

というエラーが大量に発生します。 (デフォルトのMixedでは発生しません。)

report_1

その状態の後、サンプルのmainsceneシーンにあるキャラクターのプレハブにアタッチされている Script_Sprite_Studio_Parts_RootのAnimation Nameを見ると、 対象のアニメーション名が文字化けしているという現象が発生しています。

report_2

【再現環境】 Unity:5.0.2f1 SS5Player:1.2.3 OS:Mac OS X 10.10.3 Yosemite

以上、ご報告まで。

MasamiYitsuse commented 9 years ago

M-Kanou 様

お世話になっております。 レポートありがとうございます。

当方でも頂いた情報を元に調査致しますが、下記の点をチェックしてみて頂けますようお願いいたします。

・名前が壊れているデータに該当するSS5上のデータに全角文字で名前が付いていないか? (Unity上では全角文字の使用については、原則正常動作保証外な側面が少なくありません)


また、どうも、Unity5で同様のエラーが出る現象が(SS5PUの使用の有無にかかわらず)あるようです。 たとえば、下記のURL(Unityのフォーラム内です)のような例があります。

http://forum.unity3d.com/threads/binary-to-yaml-conversion-type-unsigned-int-is-unsupported-etc.293330/

話の全体の内容を荒っぽく意訳してしまうと(誤訳があったら申し訳ございません)……どうも特にScriptableObjectを使用している場合に

・YAMLはunsigned intとintの区別を持たない(どちらもintとして解釈される)が、Unity5が一部情報を内部的にunsigned intで扱おうとするために(intの値幅を超える可能性があるデータに対して)、上記エラーが出ることがある。

・Unity5のネイティブパッケージやアセットをインポートしたりする場合には問題とならないが、過去のバージョンにも対応しているパッケージなどを使用している場合、(特に)Force Textモードに設定にすると、このエラーが出力されることがある。Unity5よりも過去バージョンにも対応したパッケージや・Unity5より前のプロジェクトからの資産などを併用する場合は、Force Textモードは使用しない方が良いのではないだろうか……。

という感じの内容になっております。


前記の通り、上記フォーラムの件とは別にSS5PU単体でも調査をおこないますが、上記のフォーラムの内容などが(もし症状が同一であるのでしたら)M-Kanou様のご一助となれば幸いです。

追伸: もし、本状態の再現について、レポート頂いた条件以外の規則性などが発見された場合、情報のご提供をいただけますと非常に助かります。 ぶしつけとは存じますが、なにとぞご検討頂けますと助かります。

M-Kanou commented 9 years ago

Yitsuse 様

ご回答くださり誠にありがとうございます。

・名前が壊れているデータに該当するSS5上のデータに全角文字で名前が付いていないか? (Unity上では全角文字の使用については、原則正常動作保証外な側面が少なくありません)

確認しましたが、全角文字は入っておりませんでした。 この報告の件のは、元々SS5PUのアセットに入っているサンプルデータを使用して確認しております。 (SpriteStudioSample/SSdata/SpriteStudioSSPJ/character_template_sample1/character_template1.sspj)

Unity5から入ったYAML mergeが影響している旨、了解いたしました。 こちらでも色々試していて、Force Textモードを使用していると割とYAML系のエラーが出るアセットは多い気がしています。 Unityのエディタ系のよくあるエラーだと思ってスルーしてしまう事も多いのですが、 今回の件はちょっと深刻なようですね...。

今後の作業はForce Textモードを使用しないということで対応させていただきたいと思います。

もし、本状態の再現について、レポート頂いた条件以外の規則性などが発見された場合、情報のご提供をいただけますと非常に助かります。

了解いたしました、もし発見された場合、ご報告させていただきます。

以上、よろしくお願いいたします。