0 支持
45 閲覧
(120 ポイント) Q&A

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

SpriteStudio7で作成したアニメーションをUnityへインポートして使用しております。

●発生している症状:

Unityへ取り込んだ際、

・SpriteStudioエディタ上と比べ、Unity上ではパーツが白っぽい色味になってしまう

・グラデーションのある画像にノイズ(バンディング)が発生してしまう

・透過画像パーツなどでジャギが起こってしまう

・Unity6で取り込んだ場合、特に画像の劣化が激しく起こる

(参考画像を添付いたします)

以下を試してみましたが解決ができておりません。

・パーツの「描画モード」「カラーブレンド方法」は「ミックス」へ変更

・UnityのHDRをOFFにしてみる

こちらUnityへの取り込みや、SpriteStudio上の設定に原因があるのでしょうか?

解決方法ありましたらご教授いただけますと幸いです。

よろしくお願いいたします。


●Sprite Studioのバージョン : 7.2.4.10916

●SpriteStudio6 Player for Unityのバージョン: 2.2.5

●Unityのバージョン : 6000.0.5f1 2022.3.16f1

●Import Mode : SpriteStudio6 Player

●動作環境: Windows10

このページをシェアする

回答 2

0 支持
(5.1k ポイント)

Watari様

お世話になっております。
SpriteStudio テクニカルサポートの遠藤です。

SpriteStudio と Unity 6 での描画差異について承知しました。
こちらの状況を再現できるSpriteStudio のデータ及び Unityのプロジェクトをお送りいただくことは可能でしょうか?

もし可能でしたら、ヘルプセンターのお問合せフォーム よりZIPファイルとしてお送りいただけますと大変有り難く存じます。
お手数をおかけして恐れ入ります。

SS6Player for Unity 開発担当からの回答は週明けとなる見込みです。
お待たせしてしまい申し訳ありませんが、ご了承の程よろしくお願いいたします。

(120 ポイント)
ご返答ありがとうございます。

SpriteStudio、Unityプロジェクトのデータにつきまして

お問い合わせフォームより、まずはSpriteStudioのデータを送信させていただきました。

  件名:『データをUnityへ取り込んだ際、SpriteStudio上のパーツと色味と変わって見える』

お手すきの際にご確認お願いいたします。

(※Unityはデータ重かった為、データ整理後に改めてお送りさせていただきます)

また、ご回答予定日につきましても

週明け以降という事でかしこまりました。

ご対応いただき誠にありがとうございます。

引き続き何卒よろしくお願いいたします。
(5.1k ポイント)
watari様

早速お送りいただきありがとうございます!
SpriteStudioデータの方、受領して担当に展開しております。

Unity側のデータについてもお手数をおかけして恐れ入りますが、よろしくお願いいたします。
0 支持
(5.0k ポイント)

Watari様

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

SS6Player for Unity(以降SS6PU)の開発担当です。

まずはテストデータのご提供、ありがとうございます。

その上で、弊社にて再現性などのテストをいたしましたところ、(最終的にお手元で起こっている現象・原因と合致するかは現時点で不明ですが)近似の事象を再現できましたので、その近似の事象に対しての原因と対処法などをお知らせさせていただきます。


1. 色が変化する

端的に言うと、「画面のガンマ値がSpriteStudio(以降SS)でエディットした時と異なっている」のが原因かと思われます。

Unityの上部メニュー[Edit]-[Project Setting]を選択していただき、出てきたウィンドウの左のメニューの中の「Player」を選択します。

その中の「Other Settings」の中に[Rendering]-[Color Space]という項目がございますが……こちらが「Linear」(ガンマ値1.0)に設定されておりませんでしょうか?

この設定を「Gamma」(ガンマ値2.2近似)に設定していただけると、SSとほぼ同じ出力状態になるのではないかと思われます。

基本的にSpriteStudioは、作成環境の画面出力の設定をそのまま使用しますので、一般的にはsRGB(Standard RGB・ガンマ値2.2近似)での出力となりますが、Unityのバージョンによっては画面へのレンダリングがHDRや3Dのライト計算などで有利になる「Linear」(ガンマ1.0・直線変化)でデフォルトが設定されていることがあります(Unity6などは、URPのプロジェクトを作成した直後はLinearになっているかと思います)。

この描画の変更は、ポストプロセス(Post Processing Stack等)の設定上で(画面設定はLinearのままで、ピクセルの色の描画をsRGBで行うような形の決着の付け方で)近似の効果を出力することができますので、現在のプロジェクト設計に合わせてGammaでの色変化を行う方法をご検討ください。

※無論、元々のPC(Linux/MacOS/Windows)の画面設定をLinearにして、SSの方を合わせる方法もありはしますが……他のアプリケーションの画面出力もLinearになってしまうので、推奨しかねる部分はあります。


2. アルファが崩れる(一部のピクセルが不透明で出てしまう)

これについては、現状、なんとも言いかねるのですが……

Unity6のエディタウィンドウの描画リフレッシュの都合なのか、「Render Textureを作成したり」「Project Settingで描画に関連している設定を変更したり」すると、一時的にプレビューウィンドウの中で一部描画がアルファ(透過)情報が無視されたような描画になる場合があります。

これは、一度プレビュー再生(Unityの上部メニューバーの直下にある、シーン再生ボタン)を一度押下していただけると、エディタ上の描画が正常になるかと思います。

※ただ、こちらについては、起こし続ける(半透過などが消え続ける)方法が、まだ解っていないため……もう少し検証してみようとは思います。


取り急ぎとなり、またご不便をおかけして大変申し訳ございませんが、お手元のプロジェクトで上記の内容を検証してみていただけますと、非常に助かります。

何卒今後とも宜しくお願いいたします。

(120 ポイント)
SS6Player for Unity 開発ご担当者様

お世話になっております。
大変丁寧な検証と対応内容ありがとうございます。
それぞれ確認しつつ、Unityの調整も試してみたいと思います。

また、先ほどヘルプセンター お問い合わせの方にて
追加のUnityプロジェクトデータを送付させていただきました。
Unity6のアルファがガビガビに見える件につきましては
Unityの新機能を導入したせいかもという事が判明いたしましたので
詳細を記載しております。
お手すきの際にご確認いただけますと幸いです。

よろしくお願いいたします。
(5.0k ポイント)
お世話になっております。SS6PU開発担当です。

プロジェクトのご提供、ありがとうございます。

こちらでご提供いただいたプロジェクトを拝見させていただきましたところ、やはりプロジェクトの色空間(Color Space)の設定だと思われます。

本色空間の設定の比較の画像を添付いたしますので、解消の一助となれば幸いです(少々、画像が大きいのですが……申し訳ありません)。

※ちょっと画像が大きくて、本コミュニティにアップロードされた時点で画像がツブされて見えなくなってしまったので、今画像を作り直しています。追ってアップロードします。申し訳ありません。

画像上が、拝見したプロジェクトそのままの状態の[Edit]-[Project Setting]の色空間設定(Linear)の状況です。

画像下が、色空間をGammaに変更したものとなります。

アルファの破壊の件も了解いたしました。

何卒ご検討いただけますようお願い申し上げます。

今後とも宜しくお願いいたします。
(5.0k ポイント)

こちらが作成しなおした画像となります。

小さな画像領域にGameのプレビューウィンドウとProject Settingのウィンドウを詰め込んでしまったため、窮屈な感じになっております点、何卒ご容赦のほどお願い申し上げます。

(120 ポイント)
SS6Player for Unity 開発ご担当者様

お世話になっております。
プロジェクトのご確認と色空間設定に関する資料画像を添付いただき、
ありがとうございます。

おかげさまで、手元のUnityプロジェクトで色空間設定をGammaに変更すると、
正しい色調で表示できることを確認いたしました。

しかしながら、Unityデータの色空間をGammaへ変更することで
他のシステムに影響が出てしまうことが判明しました。
大変恐縮なのですが、
 1,SpriteStudio内の設定でLinearの色味調整や再現を行う方法、
 2,または、将来的にそのような機能が追加される予定
等はございませんでしょうか?

お忙しいところ恐れ入りますが、お手すきの際にご返答いただけますと幸いです。
何卒よろしくお願いいたします。
(5.0k ポイント)
お世話になっております。SS6PU開発担当です。

>1,SpriteStudio内の設定でLinearの色味調整や再現を行う方法、

>2,または、将来的にそのような機能が追加される予定

SpriteStudioのツール本体側については、ご要望(ご提案)として以降でのバージョンアップの際に検討させていただければと思います。

------------------------

> Unityデータの色空間をGammaへ変更することで他のシステムに影響が出てしまう

一方で、SS6PU側でも(こちらについては)現状即物的な回避方法がないわけではないのですが……
「シェーダのソースコードの一部書き変え」と「インポート後のテクスチャファイルの設定変更(テクスチャファイルのインスペクタで設定を変更する)」
を行うことで、

「SpriteStudioのデータのみをLinear(ガンマ1.0色空間)の中でGamma(ガンマ2.2色空間)の描画を行う」ことは、一応はできはします。

ただ、「SSのデータをインポートした後に、Unity上でテクスチャの設定を変更個々に変更しなくてはいけない」「シェーダを直接書き換えるために、全てのSS6PUの描画に影響が出る」というデメリットもあります。

こちらの方法については、(確約はできかねるのですが)遠くないSS6PUのバージョン時にででも対応できれば……とは現状思ってはおります。

※現状想定ですと、SSデータのインポート時の設定に「Linear色空間で表示する」というようなチェックボックス型の設定を追加して、SSデータのインポート時に解決するような方法を考えております(SS6PUの方は、現在Unity6の仕様や挙動の変更に合わせて、どういうバージョンアップを行うかを策定中ではあります)。

-------------

いずれにしても、特にURP(ユニバーサル・レンダリング・パイプライン)を中心として、Linear色空間やHDRを扱えるようになってから、Linear色空間で描画されるものと(例えば3Dモデルなど)・Gamma色空間で描画した方が良いもの(例えばユーザーインタフェースなど)……の双方を画面にどう同居させるのか?
……については、様々な開発プロジェクトで検討したり・試されていたりするところではあるので、そのあたりについて「これが特効薬です」というような形で(現状は)ご返答できないのが少々心苦しいのですが……

申し訳ありません。

※結局、そのゲームで何をしたいか……などの仕様や実装の都合で、適した方法が変わる……という感じなので、それこそ都合によって千差万別な方法で実現されている、と言っても過言ではないかと思います。

ご興味があれば、上記の「シェーダのソースコードを一部書き変えたもの(とUnity上のテクスチャのどの設定を変更すれば良いのか?)」を(SS6PUで正式に対応する前の暫定処置の形で)ご提供することも可能ではありますので、「どうしても近々で必要」ということであれば、ご一報いただければと思います。

何卒今後とも宜しくお願いいたします。
(120 ポイント)
SS6Player for Unity 開発ご担当者様
お世話になっております。

今後のSpriteStudioバージョンにおけるLinearへの切り替えのご検討、
また、SS6PUの新バージョンでのSpriteStudioデータのみを
Gammaで描画する設定の対応予定について承知いたしました。
ご検討をいただき、誠にありがとうございます。

加えて、「シェーダのソースコードを一部書き換えたもの」と
「Unity上のテクスチャ設定変更方法」についても暫定的に提供可能とのことですが、
こちらの手法を試用させていただくことは可能でしょうか?
Unity上でのテクスチャ設定変更について、実際の工程を確認し
今後の使用方法を検討したいと考えております。

お忙しいところ大変恐縮ですが、
お手すきの際にご確認いただけますと幸いです。
何卒よろしくお願いいたします。
(5.0k ポイント)

お世話になっております。SS6PU開発担当です。

> こちらの手法を試用させていただくことは可能でしょうか?

了解いたしました。
週明け月曜日にはお渡しできるように、取りまとめてサポート担当に渡したいと思います。
恐らく正式対応の時には、インポータで「シェーダで色空間の変換を行うか」「インポート時に(暫定版では手動で行っている)テクスチャの色空間設定を変更する」という、オプション処理を追加することで、半自動にできるかと思いますが、暫定版では
「シェーダでは常に色空間の変換を行う」「テクスチャの設定変更は、インスペクタからの手動で」
という、かなり不便な形になるかとは思いますが、Linear色空間中でのGamma色空間素材との同居をテストできるという側面では有効かと思われます。
正式版への反映(実際に行うかどうかの検討含めて)もなるだけ早く行えればと思っておりますので、何卒今後とも宜しくお願い申し上げます。
(120 ポイント)

SS6Player for Unity 開発ご担当者様

お世話になっております。
ご調整後のデータをご用意いただけるとのことで、心より感謝申し上げます。
迅速かつ柔軟にご対応いただき、非常にありがたく思っております…!

データのご用意は来週以降でも結構ですので、
ご無理のない範囲で進めていただけると幸いです。

沢山お手間をおかけしてしまい申し訳ございませんが、
引き続きどうぞよろしくお願いいたします。

...