obsidian/笔记文件/2.笔记/Unity OnValidate使用.md
2025-03-26 00:02:56 +08:00

1017 B
Raw Blame History

#unity/日常积累

OnValidate方法是一个仅限编辑器的函数在Unity加载脚本或检查器中的值更改时调用。它的调用时机非常特殊这里总结一下。

    1. OnValidate不受播放模式影响只要其值发生变化在非播放状态下也会被调用可以用于非播放模式修改参数后更新。

    2. 不受enabled状态影响即使其所在的脚本被禁用修改值时也会被正常调用。

    3. 更改脚本enabled状态时会调用一次OnValidate。如果在Play ModeOnValidated的调用时机在OnDisable或者OnEnable前。

    4. 更改GameObject active状态不会调用OnValidate只有OnDisable和OnEnable会被调用。

    5. 初始加载时无论enabled状态和active状态如何都会被调用多次。其调用时机在Awake之前。

    常见用法:

    1. 用于Play Mode下修改参数值实时查看效果

    2. 实时更新资产文件比如材质、shader等