Unity3D:可编程画笔

推荐:将NSDT场景编辑器加入你的3D工具链
3D工具集:NSDT简石数字孪生

可编程画笔

创建可编程画笔

创建一个继承自(或任何有用的子类)的新类。重写新 Brush 类所需的任何方法。以下是要覆盖的常用方法:GridBrushBaseGridBrushBaseGridBrush

  • Paint允许画笔将项目添加到目标网格中。
  • Erase允许画笔从目标网格中删除项目。
  • FloodFill允许画笔将项目填充到目标网格上。
  • Rotate 旋转画笔中设置的项。
  • Flip 翻转画笔中设置的项。

使用 创建该新类的实例。 可通过调用 将此新实例转换为 Editor 中的资源以便重复使用。ScriptableObject.CreateInstance<(Your Brush Class>()AssetDatabase.CreateAsset()

还可以为画笔创建自定义编辑器。 这与脚本化对象的自定义编辑器的工作方式相同。 以下是在创建自定义编辑器时要重写的主要方法:

  • 您可以覆盖以在选择画笔时在调色板上显示检查器窗口,以在绘画时提供其他行为。OnPaintInspectorGUI
  • 您还可以覆盖以在 上绘画时添加其他行为。OnPaintSceneGUISceneView
  • 您还可以覆盖以获得画笔可以与之交互的自定义目标列表。此目标列表在“组件面板”窗口中显示为下拉列表。validTargets

创建时,脚本化画笔将列在调色板窗口的画笔下拉菜单中。默认情况下,脚本化画笔脚本的实例实例化并存储在项目的“库”文件夹中。对画笔属性所做的任何修改都存储在该实例中。如果要拥有具有不同属性的画笔的多个副本,可以将画笔实例化为项目中的资源。这些画笔资源在画笔下拉菜单中单独列出。

可以将属性添加到脚本化画笔类。这允许您在调色板窗口中配置画笔的行为。该属性具有以下属性:CustomGridBrushCustomGridBrush

  • HideAssetInstances- 将此设置为 true 可在调色板窗口中隐藏已创建的画笔资源的所有副本。当您只希望默认实例显示在“平铺调色板”窗口的画笔下拉菜单中时,这非常有用。
  • HideDefaultInstances- 将此设置为 true 可在调色板窗口中隐藏画笔的默认实例。当您只想将创建的资产显示在“平铺调色板”窗口的“画笔”下拉菜单中时,这非常有用。
  • DefaultBrush- 将此设置为 true 可将画笔的默认实例设置为项目中的默认画笔。这使得每当项目启动时,此画笔都会成为默认选定的画笔。注意:仅将一个可编程画笔设置为默认画笔。设置多个默认画笔可能会导致脚本化画笔行为不正确。
  • DefaultName- 为此设置一个名称,以使“画笔”下拉菜单使用设置名称作为画笔的名称,而不是画笔类的名称。

如果希望脚本化画笔类仅使用某些工具,则可以向类添加包含兼容类型列表的属性。这可确保脚本化画笔仅使用“平铺调色板”工具栏中的这些特定工具激活。BrushToolsTilemapEditorTools

注意:请记住保存您的项目,以确保您的新画笔资源已保存!

此文由3D建模学习工作室整理翻译,转载请注明出处!

上一篇:Unity3D:可编程瓦片示例 (mvrlink.com)

下一篇:Unity3D:GridBrushBase (mvrlink.com)

NSDT场景编辑器 | NSDT 数字孪生 | GLTF在线编辑器 | 3D模型在线转换 | UnrealSynth虚幻合成数据生成器 | 3D模型自动纹理化工具
2023 power by nsdt©鄂ICP备2023000829号