Node Editor Framework高级功能:节点分组、缩放平移、撤销重做全解析

Node Editor Framework高级功能:节点分组、缩放平移、撤销重做全解析

【免费下载链接】Node_Editor_Framework A flexible and modular Node Editor Framework for creating node based displays and editors in Unity 【免费下载链接】Node_Editor_Framework 项目地址: https://gitcode.com/gh_mirrors/no/Node_Editor_Framework

Node Editor Framework是一款专为Unity打造的灵活且模块化的节点编辑框架,能帮助开发者轻松创建基于节点的显示和编辑器。本文将深入解析其三大高级功能:节点分组、缩放平移和撤销重做,让你快速掌握提升工作效率的实用技巧。

一、节点分组:让复杂流程图井然有序 📦

节点分组功能允许你将相关节点归类管理,特别适合处理包含大量节点的复杂流程图。通过创建逻辑分组,不仅能让界面更整洁,还能提高团队协作效率。

1.1 创建与管理节点组

在Node Editor Framework中,创建节点组非常简单。你可以通过代码直接实例化NodeGroup类:

new NodeGroup("功能模块A", NodeEditor.ScreenToCanvasSpace(inputInfo.inputPos));

每个节点组都有独立的标题和位置,存储在NodeCanvasgroups列表中:

public List<NodeGroup> groups = new List<NodeGroup> ();

1.2 节点组的高级操作

节点组支持多种交互操作:

  • 调整大小:通过拖拽边框可自由调整节点组大小
  • 重命名:双击标题区域可修改组名称
  • 嵌套分组:支持创建子节点组,实现层级化管理

相关实现代码位于 Node_Editor_Framework/Runtime/Framework/Core/NodeGroup.cs,该类提供了完整的节点组管理功能,包括创建、删除、更新和绘制等操作。

二、缩放平移:掌控全局与细节 🔍

缩放平移功能让你能够自由浏览节点画布,无论是查看整体流程图还是聚焦特定细节,都能轻松实现。

2.1 画布平移操作

平移功能通过鼠标拖拽实现,相关逻辑在HandleWindowPanning系列方法中:

private static void HandleWindowPanningStart(NodeEditorInputInfo inputInfo) 
private static void HandleWindowPanning(NodeEditorInputInfo inputInfo) 
private static void HandleWindowPanningEnd(NodeEditorInputInfo inputInfo) 

平移偏移量存储在NodeEditorStatepanOffset属性中,在保存和加载时会被序列化:

public Vector2 panOffset; // 画布平移偏移量

2.2 缩放控制

缩放功能通过鼠标滚轮实现,相关代码在HandleZooming方法中。缩放比例和位置信息同样保存在NodeEditorState中:

public float zoom; // 缩放比例
public Vector2 zoomPos; // 缩放中心位置

缩放和平移的组合应用让你能够轻松浏览大型节点画布,相关实现位于 Node_Editor_Framework/Runtime/Framework/Interface/NodeEditorInputControls.cs

三、撤销重做:安全探索创意 ✨

撤销重做功能是任何编辑器的必备特性,Node Editor Framework提供了完善的操作历史记录系统,让你可以放心大胆地尝试各种节点布局和连接方式。

3.1 操作记录与恢复

框架使用UndoProManager来记录和管理操作历史:

UndoPro.UndoProManager.RecordOperation(
    () => NodeEditorUndoActions.CreateConnection(port1, port2),
    () => NodeEditorUndoActions.DeleteConnection(port1, port2),
);

3.2 支持撤销的操作类型

框架支持对多种操作进行撤销/重做:

  • 节点创建与删除
  • 节点位置调整
  • 连接创建与删除
  • 节点组操作

撤销重做的核心实现位于 Node_Editor_Framework/Runtime/Framework/Interface/NodeEditorUndoActions.cs,该类提供了各种操作的撤销/重做方法。

四、如何开始使用这些高级功能

要在你的项目中使用Node Editor Framework的这些高级功能,首先需要克隆仓库:

git clone https://gitcode.com/gh_mirrors/no/Node_Editor_Framework

然后参考示例场景和代码,特别是:

这些示例展示了如何集成和使用节点分组、缩放平移和撤销重做等高级功能。

通过掌握这些高级功能,你将能够更高效地创建和管理复杂的节点系统,提升工作流效率,释放创意潜能。Node Editor Framework的模块化设计也使得扩展这些功能变得简单,你可以根据项目需求定制更高级的节点编辑体验。

【免费下载链接】Node_Editor_Framework A flexible and modular Node Editor Framework for creating node based displays and editors in Unity 【免费下载链接】Node_Editor_Framework 项目地址: https://gitcode.com/gh_mirrors/no/Node_Editor_Framework

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值