【发布时间】:2020-07-16 20:38:40
【问题描述】:
我在自定义检查器抽屉中使用 Unity 的颜色渐变属性字段,如下所示:
SerializedProperty colorGradient = property.FindPropertyRelative("colorGradient");
EditorGUI.PropertyField(pos, colorGradient);
这会在没有选择有效渐变的情况下进行初始化。我想在用户从存储的集合中选择一个或创建一个新的之前预加载项目集中的第一个。
对于其他PropertyField 类型,如IntSlider,访问其.intValue 成员以直接设置它很简单。在调试器中,我可以看到一个非公共的 .gradientValue 成员,但我没有看到任何可以直接从脚本设置的 colorGradient 类型的相关值成员。有什么想法吗?
【问题讨论】:
-
你能展示完整的脚本吗?究竟是什么问题?我刚刚使用 CustomEditor 对其进行了测试,它的工作方式符合我的预期......你的意思是你想为你的字段分配一个默认值吗?
-
就是这样。它会在自定义检查器抽屉中显示渐变属性。是的,它工作正常,但我想将默认渐变设置为空实例以外的其他东西,即空白的白色渐变。
标签: c# unity3d unity-editor