c# - 来自编辑器脚本的 Gizmo

标签 c# unity3d

是否可以从 Editor 脚本而不是 MonoBehaviour 脚本显示 gizmos?

我喜欢这个 handle 的外观:

Handles.color = Color.red;
Handles.FreeMoveHandle(handle, Quaternion.identity, 0.001f, Vector3.zero, Handles.DotCap);

问题是它是可选择的,我不希望它是可选择的。那么有没有办法让我画出这样的东西呢?我也不想使用 Gizmos,因为它们在 MonoBehaviour 而不是 Editor 中运行。

最佳答案

handle 不能是不可选择的,Gizmo 总是需要从 Monobehavior 派生。 但是有一个名为 DrawGizmo 的函数。

https://docs.unity3d.com/351/Documentation/ScriptReference/DrawGizmo.DrawGizmo.html

实际上它不是由 Editor 或 MonoBehaviour 继承的,因此您可以将它用于您的脚本。

枚举中还有一种方法可以停用可拾取模式

https://docs.unity3d.com/351/Documentation/ScriptReference/GizmoType.html

希望对您有所帮助!

关于c# - 来自编辑器脚本的 Gizmo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30090141/

相关文章:

c# - 防止使用 ServiceStack Json 序列化默认值类型

c# - unity Resources.Load <Sprite> 返回null

c# - 如何在 Visual Studio 代码中调试 C# 代码

c# - 使用 select() 的异步 .NET 套接字和标准套接字 : Why does select() prevent the async callbacks from happening?

c# - 从 C++ 到 C# 的反向调用

c# - 想要编写 C# 应用程序脚本

c# - 如何快速检查网格点之间是否存在任何路径?

c# - Unity 从对象 c 接收事件

c# - 统一: Knockback my player

c# - 从位置找到游戏对象上最近/最近的点?