【问题标题】:How to create a script icon in Unity3D?如何在 Unity3D 中创建脚本图标?
【发布时间】:2020-12-13 07:41:50
【问题描述】:

我为它创建了一个 scipt 和编辑器。现在我想像这样关联一个图标:

这样的事情怎么办?在此找不到任何documentation

【问题讨论】:

    标签: c# unity3d


    【解决方案1】:

    您可以通过在项目视图中选择对象来更改图标。然后单击检查器左上角的图标。然后选择Other

    [图导]所以选择好脚本后,点击下图中红色标记的图标:

    请看下面的图片以获得指导。

    【讨论】:

    • 这是否可以以某种方式转让(就像发布时使用相同项目的同事或资产商店的用户一样)?是否有其他方法来指定此类数据(通过代码或通过某些文件编辑)?
    • 它是可转让的,因此获得您资产的人将拥有该图标。但是,我不确定如何以编程方式执行此操作,但应该可以。
    • 遗憾的是,它似乎只适用于整个 GameObject - 不适用于单个 MonoBehaviour 或编辑器脚本。
    • 我不知道您使用的是哪个版本的 Unity3D。对我来说,它适用于 Editor、MonoBehaviours 和常规 C# 类。
    • 问题在于,这也会自动使带有此组件的 GameObject 在 SceneView 中具有 Gizmo (see my question)。你知道是否有办法only 在 ProjectView 和 Inspector 中使用该图标,但在 SceneView 中没有?
    【解决方案2】:

    如果您想为自定义脚本分配图标,我相信您可以为它创建一个小工具图标并将图像放置在映射到脚本命名空间的项目位置。我的理解是,对于你程序集中的每个 MonoBehaviour,Unity 在“Gizmos”文件夹下寻找一个名为“ Icon”的关联图标,但层次结构必须与命名空间匹配。

    因此,如果您的 MonoBehavior 是 TestClass 并且它的命名空间是 Company.Project.Foo,您可以将图像放在项目中的“Assets/Gizmos/Company/Project/Foo/”并且图像名称应该是“TestClass Icon”。

    然后,当您在 Inspector 中查看时,您的脚本将具有与之关联的图标,但是 我不相信这会导致它出现在 SceneView 中。如果您想让图标出现在 SceneView 中或执行任何其他自定义 Gizmo 绘图,您应该在编辑器脚本中使用 DrawGizmo 属性。

    在以下示例屏幕截图中,我有一个名为 SafeArea 的脚本,其命名空间为 Greyborn.Library。我将“SafeArea Icon.png”放在“Assets/Gizmos/Greyborn/Library/”中,该图标立即出现在 Inspector 和 Project 窗口中。

    我使用了 PNG。可能支持其他图像类型,但是当我使用 PSD 图像进行测试时,Gizmo 不会出现。请务必将纹理类型设置为“Editor GUI and Legacy GUI”。

    【讨论】:

    • 是奥丁吗? ?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-26
    • 1970-01-01
    • 2012-02-23
    • 1970-01-01
    • 1970-01-01
    • 2012-08-25
    • 1970-01-01
    相关资源
    最近更新 更多