[Unity]Sprite Studio Playerでユーザデータの数値が常に0になるバグ

Sprite Studioには、Asset Storeから無料でダウンロードできるプラグインがあるわけですが、
ユーザーデータにちょっと仕込みを入れた時、数値が常に0になるバグがあったので、その修正方法を紹介します(誰得?な気もしますが)

  • 追記
    Ver.1.24にて修正されています。

まず、数値を格納している変数Numがuintになっていますが、どうやらuintはシリアライズできないらしく、Inspectorにも項目が出ていませんでした。
なので、まずはuintをintに変えます。(そもそもSpriteStudio上でも負値を入れることが出来たので、intが正解なはず)

public class SsUserDataKeyValue : SsAttrValueInterface
{
public bool IsNum;
public int Num; // ココ

それに伴って、SsaxImporterのNumを読み込んでいるところも変更します。

case SsKeyValueType.User:
{
var userKey = new SsUserDataKeyFrame();
keyBase = userKey;
var v = new SsUserDataKeyValue();
XmlNode numberNode = _SelectSingleNode(key, "./cur:Number");
if (numberNode != null)
{
v.IsNum = true;
v.Num = _ToInt(numberNode.InnerText); // ココ
}

もともとのValueがなんなのかよくわかりませんが、他のRectとかを見るにタグに囲まれたテキストならInnerTextが正しいようです。

これでバグも解消できたので、SEだろうとエフェクトだろうとスプライトのユーザーデータにいろいろ仕込めるぜ!

Unityのアセット販売中!

Arbor 3

ステートマシンの状態遷移やパラメータはエディタで編集でき、
ゲームロジックに依存するステートの挙動はスクリプトで記述可能なエディタ拡張。

詳細はこちら

Nostalgia 2

RPGツクールVXやWOLF RPGエディターのオートタイルに準拠したエディタ拡張。

詳細はこちら

オススメ!


Privacy Preference Center

Your Privacy

This site uses cookies to display contents and advertisements tailored to users, provide social media functions, measure advertisement impressions and clicks. We also gather information on users' site usage status and provide them to social media, advertisement distribution and data analysis partners. Each partner may use this information in combination with other information that the user provided to each partner or other information gathered when the user used the service of each partner.

Analytics, Ads