编辑器图标

当创建一个新类并进行脚本编写时,编辑器的界面将使用默认图标显示它,该图标表示该类继承的基类。但是在大多数情况下,建议为新类创建图标以改善用户体验。

创建图标

为了创建新图标,首先需要安装矢量图形编辑器。例如,您可以使用开源的 Inkscape 编辑器。

克隆包含所有原始编辑器图标的 godot-design 存储库:

git clone https://github.com/godotengine/godot-design

图标必须在矢量图形编辑器中以 svg 格式创建。您可以在已设置默认图标属性的情况下使用 engine/icons/inkscape_template.svg

对图标的设计感到满意后,将图标保存在 engine/icons/svg/ 文件夹中。但是,为了使引擎自动提取图标,每个图标的文件名:

  1. 必须以 icon_ 为前缀。

  2. PascalCase 的名称应转换为 snake_case,因此每当大小写变化时单词都由 _ 分隔,并且大写首字母缩写词还必须将所有字母、数字、和特殊字符分隔为不同的单词。一些示例:

    名称 文件名称
    Polygon2D icon_polygon_2_d.svg
    CSGPolygon icon_c_s_g_polygon.svg
    CPUParticles2D icon_c_p_u_particles_2_d.svg
    C# icon_c_#.svg

图标优化

因为编辑器是在运行时渲染 svg 的,所以它们的尺寸必须很小,以便可以有效地对其进行解析。必须先对编辑器图标进行优化,然后才能将其添加到引擎中:

  1. 将它们添加到 engine/icons/svg 文件夹中。

  2. 运行 optimize.py 脚本。您必须安装了 scour 软件包:

    pip install scour
    cd godot-design/engine/icons && ./optimize.py
    

优化的图标将在 engine/icons/optimized 目录中生成。

集成和分享图标

如果您为引擎本身做贡献,则应该发一个拉取请求,以将优化的图标添加到主存储库中的 godot/editor/icons 中。重新编译引擎,以确保它确实获取了新的类图标。合并后,不要忘记将图标的原始版本添加到 godot-design 存储库中,以便其他贡献者可以改进图标。

也可以在模块内创建自定义图标。如果您要创建自己的模块,并且不打算将其与Godot集成,则不需要单独的拉取请求即可在编辑器中使用图标,因为它们可以独立存在。

有关如何创建模块图标的特定说明,请参考 创建自定义模块图标

故障排除

如果图标未出现在编辑器中,请确保:

  1. 每个图标的文件名都符合前面所述的命名要求。
  2. 启用了 modules/svg (默认情况下应该启用)。没有它,图标将根本不会出现在编辑器中。

参考: