SpriteStudio / SS5PlayerForUnity

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

カメラの下に複数のviewを作成すると表示がおかしくなる場合がある #69

Closed DKAlpha closed 9 years ago

DKAlpha commented 9 years ago

Camera2D Pixel (1080p)の下にViewを複数作成し、それぞれのViewにアニメーションを配置します。 アニメーションの一部のスプライトが同時に再生している他のアニメーションの頂点データを使用して表示されます。 複数のスプライトが重なり表示が崩れてしまいます。

再現性は低く(10回中3回くらい)必ず発生するわけではありません。 読み込みの終了順などが関係しているのかもしれません。 表示が重なっているため、ほかのスプライトの頂点、UV情報を使用しているように見えます。

MasamiYitsuse commented 9 years ago

現状、当方で状況が再現できずにおります(Ver.3.57/Ver.4.5で50回ずつ程度チェックしました)。 ひょっとすると、RootパーツがViewを捕まえそこなう場合があるのかもしれませんので、スクリプトの実行優先度指定で、(現状6になっている)Script_SpriteStudio_DrawManagerView.csの実行順位を「0」にしてみて、再現するかをチェックしてみて頂けますでしょうか? (このあたりで改善するようなら、FAQなどでフォローをお願い致します) (現在6になっていたのは、動作順序の安定性を考慮してなのですが、DrawManagerはアプリケーションなどの状況によってはSS関係のC#スクリプトのうち、真っ先に(LinkPrefabと同列で)初期起動されなくてはならない場合があるかもしれません)

一旦連絡のために、担当をDKAlpha様に戻します。 ただ、もし上記対応などで再現した場合・もしくは状況不明な場合、私に再度担当を戻していただけますようお願い致します。

MasamiYitsuse commented 9 years ago

あと、もう一点なのですが、現在2つのViewの「RendererSetting」内の「Renderer-Queue Offset」の値が、双方「0」になっているようですが、(凄い憶測ですが、もし上記処置でとれない場合)ひょっとすると、Renderer-Offsetを違えて(描画レイヤーのようにして一定間隔で優先性を持たせて)扱うようにしないと、Unity内で何かメッシュの混同が起こるの「かも」しれません。(SS5PU v1.1がやってる処理的に考えると、View毎で別々にメッシュを収集・バッチングして、それぞれ別々のMeshクラスのインスタンスに格納している時点で、頂点データが他のビュー管理下のバッチングメッシュに影響を受けることはないはずなのですが……)

MasamiYitsuse commented 9 years ago

備忘までに、当方で症状を確認ができなかった環境を記載しておきます。

1) デスクトップPC OS: Windows7-Pro CPU: Core-i7 3770K メモリ: 32GB GPU: GeForce 770 GTX VRAM 4GB

2) タブレットPC(Surface-Pro 日本版 初代) OS: Windows8.1-Pro CPU: Core-i5 3371U メモリ: 4GB GPU: HD Graphic 4000 (CPU内蔵)

となります。 テストしたUnityのバージョンは3.5.7と4.5.1になります。

DKAlpha commented 9 years ago

対応済なのでクローズとします。