User interface Unity滑块不会自动应用更改

User interface Unity滑块不会自动应用更改,user-interface,events,unity3d,3d,editor,User Interface,Events,Unity3d,3d,Editor,我已使用滑块创建了自定义编辑器: [CustomEditor(typeof(CylindricalCamera))] public class CylindricalCameraEditor : Editor { public override void OnInspectorGUI() { CylindricalCamera camera = (CylindricalCamera)target; camera._nearClipPlane = E

我已使用滑块创建了自定义编辑器:

[CustomEditor(typeof(CylindricalCamera))]
public class CylindricalCameraEditor : Editor
{
    public override void OnInspectorGUI()
    {
        CylindricalCamera camera = (CylindricalCamera)target;
        camera._nearClipPlane = EditorGUILayout.Slider(camera._nearClipPlane, 0, 10);
在CylindricalCamera中,我正在绘制一个自定义gizmo:

public class CylindricalCamera : MonoBehaviour
{
..
    void OnDrawGizmos()
    {
...
我希望每次拖动滑块时,都要重新绘制圆柱体中的gizmo。但事实上,我不仅要拖动滑块,还要在滑块附近的文本框中选择并按Enter键:

如何强制滑块自动应用更改而不按Enter键

我正在使用Unity 5.3.5 f1解决:

OnInspectorGUI()
{
...
if (GUI.changed) EditorUtility.SetDirty(target);
}
已解决:

OnInspectorGUI()
{
...
if (GUI.changed) EditorUtility.SetDirty(target);
}

您是否尝试将Debug.Log放入OnInspectorGUI方法中,以确定您从slider获得的值是否实际发生了更改?另外,请注意,您正在使用旧的自定义编辑器w target;在官方文档最顶层的代码块中可以看到一个带有序列化属性的新示例:从日志来看,camera.\u nearClipPlane正在立即更改,但OnDrawGizmos函数正在延迟调用。似乎只有在文本框中输入值才会导致OnDrawGizmos调用。此外,编辑器中没有未记录的OnSceneGUI函数!您是否尝试将Debug.Log放入OnInspectorGUI方法中,以确定您从slider获得的值是否实际发生了更改?另外,请注意,您正在使用旧的自定义编辑器w target;在官方文档最顶层的代码块中可以看到一个带有序列化属性的新示例:从日志来看,camera.\u nearClipPlane正在立即更改,但OnDrawGizmos函数正在延迟调用。似乎只有在文本框中输入值才会导致OnDrawGizmos调用。此外,编辑器中没有未记录的OnSceneGUI函数!谢谢工作很忙,谢谢!工作是一种享受