2016-12-22 9 views
0

私は、方法のポイントが何であるかを実際に理解していないことに気づきましたAssetDataBase.SaveAssets()Unity3DでいつAssetDataBase.SaveAssets()を使用する必要がありますか?

たとえば、私はそれらのいくつかを変更したときに、非シーンオブジェクト(プレハブ、スクリプト可能オブジェクト)に対してSetDirty()メソッドを使用します。

私の質問はAssetDataBase.SaveAssets()メソッドの目的は何ですか? ディレクトリを作成した後、または何を呼び出す必要がありますか?

交換可能な方法のように見えますが、そうではないと思います。

ありがとうございました!ユニティのドキュメントから

答えて

0

説明

は、ディスクに保存されていないすべての資産の変更を書き込みます。

シリアライゼーション中に呼び出されないことを除いて、この関数はEditorApplication.SaveAssets、 と同じことを行います。

保存されていないアセットの変更をすべてディスクに書き込む場合に使用します。たとえば、いくつかのスクリプトを持っていて、束のテクスチャの設定を変更します。その操作の最後に、そのメソッドを呼び出すと、変更が保存されます。

+0

Afaikでは、一部の非シーンオブジェクトを変更した後にSetDirty()メソッドを使用することが推奨されます。そして、それは動作します。では、SaveAssetsを使用する理由は何ですか?それは交換可能な方法のように見えますが、私はそうではないと思います。 –

+0

@VladislavHromyh私は、変更が手動で( 'SetDirty')保存されるのか、スクリプトが自動的に保存するのか(' SaveAssets')の違いがあると思います。場合によっては、変更点を手動で確認したい場合もあれば、そうでない場合もあります。 – rutter

+0

@UriPopovあなたが意味するアプローチやケースの違いの例を挙げてください。手動で変更して自動的に行います。私は2つの方法でデータを変更します。スクリプトから。か否か ? –

関連する問題