以下の内容はhttps://indie-du.com/entry/2017/06/27/200000より取得しました。


Unity : プレハブの値をエディタスクリプトから変更・保存する

エディタ拡張書いたときに、プレハブの値を読むのは以下の記事の方法でできる。

indie-du.com

読んだ上で 書き換える には一工夫必要になる。

やりかたは簡単で、対象プレハブを引数にして EditorUtility.SetDirty を読んだ後、AssetDatabase.SaveAssets を呼べばいい。

    Rigidbody rd = prefab.GetComponent<Rigidbofy>();

    ///// Rigidbodyの値を書き換える

    EditorUtility.SetDirty(prefab);
    AssetDatabase.SaveAssets();

AssetDatabase.SaveAssetsは呼ばなくても、メニューから Save Project するか、そのままUnityを終了させたときにプロジェクトに保存される。

SetDirtyのマニュアルには Undo.RecordObject つかえと書いてあるのだが、手元では成功しなかった。

Unity - スクリプトリファレンス: EditorUtility.SetDirty

Unity - スクリプトリファレンス: Undo.RecordObject




以上の内容はhttps://indie-du.com/entry/2017/06/27/200000より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14