SpriteStudio / SS5PlayerForCocos2d-x

OPTPiX SpriteStudio 5 で制作したアニメーションデータを Cocos2d-x v3 v2 上で再生するためのプログラムです。
MIT License
8 stars 7 forks source link

Ver1.3.2 cocos2d-x Ver1.13.1でカラーブレンドを使用すると正しく表示されない #56

Open yukio55 opened 8 years ago

yukio55 commented 8 years ago

現在cocos2d-xのv3.13.1を使用していますが一部動作がおかしい部分があります。 (半透明のスプライトを使用した際に位置がずれる)

現状ですとSSPlayerはv3.11 までしか動作検証していないそうですが 今後3.13への対応は見込めるでしょうか? (3.12では問題なく使用できています)

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

DKAlpha commented 8 years ago

ご報告ありがとうございます。 こちらですが基本的にはcocos2d-x Ver3系であれば現在のプレイヤーを使用できるように対応していこうと考えております。 cocos2d-x Ver1.13.1にて動作確認を行いたいと思いますが、可能であれば現象の再現できるSpriteStudioのアニメーションデータ(sspj一式)を送っていただけると問題となっている現象を把握できますので助かります。 送り先はこちらのアドレスになります。github-spritestudio@webtech.co.jp ご検討ください。 よろしくお願いいたします。

DKAlpha commented 8 years ago

現象についてですが、おそらくカラーブレンドアトリビュートを使用した場合に、画面の左下にスプライトが表示される、というものではないかと思います。 こちらの原因はSpriteStudioのカラーブレンドを再現するために専用シェーダーを使用しておりますが、プレイヤーのアップデートで行っている sprite->setTexture(cellRef->texture); のsetTexture内の処理がVer3.13.1でシェーダーの初期化が行われる変更がされたため、シェーダーが参照できなくなり、カラーブレンドを使用したパーツの表示がおかしくなるという事がわかりました。

この現象については回避策を検討しておりますが、現時点ではいい方法が思いついていない状況でございます。 現状ではVer1.13.1ではカラーブレンドは使用できない状態となっております。 進展がありましたらこちらで報告させていただきます。

yukio55 commented 8 years ago

お返事ありがとうございます。 最初に半透明と書きましたがその後の調査で仰る通りカラーブレンドと判明しています。 あとこれは c41e70f9b7377ef1ecb46651f2b34202312df00e でしか確認しておらず、 最新のSSPlayerで発生するかわからないのですが、 親パーツで設定したScaleが子パーツに適用されなくなっていました。 (カラーブレンドは全く設定していないアニメーションで)

yukio55 commented 8 years ago

問題を再現するアニメーションとプロジェクトを作成しようかと思っていたのですが まだ必要ですか?

DKAlpha commented 8 years ago

カラーブレンドについては最新でも発生する事を確認しています。 2度目のアップデートでカラーブレンド用シェーダーが初期化されてしまうのでSS5Playerのバージョンに関係なく発生するかと思います。

スケールについては把握しておりませんでした。 可能であれば再現データを送っていただけますと、問題となっている箇所の認識共有もできますので助かります。 よろしくお願いいたします。

DKAlpha commented 8 years ago

developブランチにcocos側を変更せずに対応できるようにしたVer3.13.1対応プレイヤーをアップいたしました。 こちらを取得していただき動作を確認していただければと思います。 スケール等の状態が親に追従しない問題も解決されていると思いますのでこちらもご確認いただければと思います。

yukio55 commented 8 years ago

カラーブレンド、スケール共に想定通り動くようになったことを確認しました。 対応ありがとうございました。

DKAlpha commented 8 years ago

ご報告ありがとうございます。 今後ともSpriteStudioをよろしくお願いいたします。