unity3d 运行期间重置预置值

f8rj6qna  于 2023-03-09  发布在  其他
关注(0)|答案(1)|浏览(119)

我有一个预置的Block。在我的场景层次中,有很多块:

预置包含一个代码,该代码包含一个名为id的整数值。
我写了一个脚本(在编辑模式下运行),为所有块的id设置随机值,它运行得很好,但当我点击播放时,所有id都回到0。如果我在检查器中手动设置id,它在运行时保持正确。
出什么问题了?有什么办法吗?
我尝试使用PrefabUtility.RecordPrefabInstancePropertyModifications之类的东西,但它不起作用(或者我不知道如何正确使用它)。

zsohkypk

zsohkypk1#

我可以通过在for循环中使用EditorUtility.SetDirty(blocks[i])来修复它,在for循环中我设置了块的id。
完成此操作后,保持数值不变。

相关问题