質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

1回答

3070閲覧

Unityでシーンを切り替えるとScriptableObjectの値が戻ってしまう

kentk

総合スコア13

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

1クリップ

投稿2017/06/16 19:43

【前提・実現したいこと】

  • ゲーム上でゲームオブジェクトを配置し、その座標をScriptableObjectに書き込むような設定用のシーンを作りたいです。

  • 書き換えたScriptableObjectをシーンを切り替えても値が変わらないようにしたいです。

  • 開発環境はUnity 5.4.3f1 Personal

【症状】

UnityでScriptableObjectを設定するようなシーンを作成しました。
シーン上に配置されているゲームオブジェクトの座標を
Scriptableオブジェクトにコピペするような処理です。

ゲームを実行してボタンを押すと
Scriptableオブジェクトが書き換わり
ゲームを停止しても書き換わったままでいてくれるのですが
シーンを切り替えると書き換える前に戻ってしまいます。

イメージ説明
0. ゲームを再生
0. ボタン押下でスクリプトを実行
0. スクリプトからProject上のScriptableObjectを書き換え
0. ゲーム停止
0. シーン切り替え

【補足】

  • ScriptableObjectの値をProjectウィンドウ上から、手入力するとシーンを切り替えても値が戻ることはないです。

  • GIFアニメの中での切り替え先のシーンからは問題のScriptableObjectを参照したりはしていません。

  • Editorフォルダ内にもScriptableObjecを編集するようなスクリプトは入ってません


調べたかぎり似たような現象なども見当たらず困っております。
どうかよろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

確証は持てませんが、こちらの事例と似ているように思います。
ScriptableObjectを書き換える際にEditorUtility.SetDirtyを入れてみたり、書き換え前にUndo.RecordObjectを入れてみたりすると何か変化はあるでしょうか?

投稿2017/06/17 04:26

Bongo

総合スコア10807

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kentk

2017/06/26 11:17 編集

返信が遅くなり申し訳ありません。 「ScriptableObjectを書き返る際にEditorUtility.SetDirtyを入れる」 で問題としていた現象は発生しなくなりました! Unityマニュアルに「Unity5.3以降は~」という注意書きがあったので、Undo.RecordObjectを入れてみましたが、こちらはうまく行きませんでした。 補足としては、書き換え前でも書き換え後でも「EditorUtility.SetDirty」があれば、シーン変更後に値が戻るという現象は発生しませんでした。 また「EditorUtility.SetDirty」を書かない場合は[ExecuteInEditor]でシーンを実行せずに書き換えても値が戻る現象は発生しました。 相談内容を利用した機能を切る方向にシフトしてしまったため、確認が遅くなり申し訳ありませんでした。今回得た知識はまた別の機会に利用させていただきたいと思います。 ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問