如何在Unity3D中创建脚本图标?

6

我创建了一个脚本和编辑器。现在我想像这样将图标与它关联起来:

enter image description here

如何做到这一点?在此找不到任何 文档

2个回答

13
您可以通过在项目视图中选择对象来更改图标。然后在检查器的左上角单击图标。然后选择 其他
[图片指南] 所以,在您选择脚本之后,请单击下面图片中标记为红色的图标:
请参考下面的图片进行操作。
注:图片已被屏蔽,无法显示。

这是否可以转移(类似于使用相同项目的学院或在发布时使用资产商店的用户)?是否有其他指定此类数据的方法(从代码或通过某些文件编辑)? - Rella
它是可转让的,因此获得您资产的人将拥有该图标。但是,我不确定如何以编程方式实现,但应该是可能的。 - apxcode
遗憾的是,它似乎只适用于整个GameObject,而不是单个MonoBehaviour或编辑器脚本。 - Rella
我不知道你使用的是哪个版本的Unity3D。对于我来说,它适用于编辑器、MonoBehaviours和常规的C#类。 - apxcode
问题在于这将自动使具有此组件的GameObject在SceneView中拥有Gizmo(请参见我的问题)。您知道是否有一种方法在ProjectView和Inspector中拥有该图标,而不在SceneView中拥有它吗? - derHugo

4
如果您想为自定义脚本分配图标,我认为您可以为其创建一个gizmo图标,并将该图像放置在一个项目位置,该位置映射到您的脚本的命名空间。我的理解是对于程序集中的每个MonoBehaviour,Unity都会在“Gizmos”文件夹下查找名称为“<className> Icon”的相关图标,但层次结构必须匹配命名空间。
因此,如果您的MonoBehavior是TestClass,其命名空间是Company.Project.Foo,则应将图像放置在项目中的“Assets/Gizmos/Company/Project/Foo/”位置,并且图像名称应为“TestClass Icon”。
然后,当在检查器中查看脚本时,它将与图标相关联,但我不认为这会导致它出现在SceneView中。如果您想使图标出现在SceneView中或执行任何其他自定义gizmo绘制,请在编辑器脚本上使用DrawGizmo属性。
在下面的示例截图中,我有一个名为 SafeArea 的脚本,命名空间为 Greyborn.Library。我将 "SafeArea Icon.png" 放置在 "Assets/Gizmos/Greyborn/Library/",该图标立即出现在检查器和项目窗口中。

Unity Script Gizmo Example 1

我使用了PNG格式的图片。其他图片类型可能也被支持,但当我测试PSD格式的图片时,该小工具无法显示。请确保将纹理类型设置为“Editor GUI和Legacy GUI”。

Unity Script Gizmo Example 2


那是奥丁吗? - Cool guy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接