0 支持
51 閲覧

現在、Unity2019.2.21f1にて2D対戦アクションゲームを制作している専門学生です。

OptionシーンでColorGradingを用いて明るさの調整ができるようになったのですが、他のシーンに遷移すると変更した明るさが元に戻ってしまいます。

変更した値を他のシーンでも共有したい場合はどうすれば良いでしょうか?

該当スクリプトを添付しておきます。

親切な方のご回答、よろしくお願いします。

追記:Qiitaなどの解説サイトにある

①publicでstaticな変数にする

②DontDestroyOnLoadを用いる

と言った手段は試してみましたが、改善されなかったです。

初心者 (120 ポイント) | 51 閲覧

ログインまたはユーザー登録してから回答してください。

回答 1

0 支持

シーン間でデータを共有する方法はこがらし0917さんの調べられた通り

  • staticな変数を使う
  • DontDestroyOnLoadを使う

の2つに加えて

  • ScriptableObjectを使う
  • PlayerPrefsなどのローカルストレージに保存して再利用

があり、それぞれ長所短所があります。

こがらし0917さんが調べられた2つの方法でシーン間のデータ共有は可能です。
英語ですがシーン間のデータ共有で詳しい説明がされてるものを載せておきます。
2つ目の回答が詳しいと思います。
ColorGradingについてなのですが、すみません添付されてるスクリプトだけでは遷移時に設定値が保持されてるかどうかの判断は難しいです...
改善されなかったということですが、遷移の前後でブレイクポイントを貼って値の確認などしてみると何か問題が分かるかもしれません(確認されてたらすみません)
見習い回答者 (560 ポイント)

関連する質問

0 支持
1 回答
siroan 初心者 (120 ポイント) 1/8 質問 | 45 閲覧
0 支持
1 回答
0 支持
1 回答
たくたく 初心者 (120 ポイント) 3 週間 質問 | 45 閲覧
0 支持
1 回答
きよぷ〜 初心者 (120 ポイント) 2020 9/3 質問 | 68 閲覧
2021-02-08 質問・回答をMarkdownで入力できるようにしました。
2020-09-03 新たなスパム対策を導入しました。

105 質問

110 回答

117 コメント

134 ユーザー