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建模学习工作室整理翻译,转载请注明出处!