Unity编辑器扩展_视图SceneView操作和定位代码附送Gizmos实现代码

Posted avi9111

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity编辑器扩展_视图SceneView操作和定位代码附送Gizmos实现代码相关的知识,希望对你有一定的参考价值。

这个Unity编辑器扩展

_视图SceneView 的高级操作

一般程序员可能一辈子都不会碰到

我主要实现了一个自定义,笔刷,非“”美术笔刷素材“”,也非北大青鸟的“自定义”,“编程”

这某大神的分享,该注意的都说了,确实.y 要翻转一下,才能正确定位

Editor 视图扩展代码

我们可以通过在OnSceneGUI周期函数下面加这句代码来屏蔽关掉Unity默认的鼠标选择功能:

 

void OnSceneGUI()
    HandleUtility.AddDefaultControl(GUIUtility.GetControlID(FocusType.Passive));

还有一点我们在实现笔刷功能需要注意的就是鼠标射线检测的功能,我们在获取Scene窗口下的鼠标位置的时候需要对y轴进行一次反转,这样再进行屏幕射线检测才能获得正确的结果:

 

private Vector2 GetMousePos()

    var mousePos = Event.current.mousePosition;
    mousePos.y = Camera.current.pixelHeight - mousePos.y;
    return mousePos;


Ca

以上是关于Unity编辑器扩展_视图SceneView操作和定位代码附送Gizmos实现代码的主要内容,如果未能解决你的问题,请参考以下文章

UnityEditor编辑器扩展自己实现了一遍SceneView的镜头移动

Unity 编辑器开发SceneView GUI控制

Unity5.X 编辑器介绍

SceneView 追踪选择目标

Unity扩展编辑器四

Unity扩展编辑器三