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

19 lines
1017 B
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#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等