目录
[1. 插件核心功能](#1. 插件核心功能)
[1.1 基础变换操作](#1.1 基础变换操作)
[1.2 高级特性](#1.2 高级特性)
[2. 安装与配置](#2. 安装与配置)
[2.1 导入插件](#2.1 导入插件)
[2.2 配置控制器参数](#2.2 配置控制器参数)
[2.3 为物体添加交互功能](#2.3 为物体添加交互功能)
[3. 使用示例](#3. 使用示例)
[3.1 基础操作演示](#3.1 基础操作演示)
[3.2 多选与批量操作](#3.2 多选与批量操作)
[3.3 自定义光标与外观](#3.3 自定义光标与外观)
[4. 高级配置技巧](#4. 高级配置技巧)
[4.1 动态调整包围框控件尺寸](#4.1 动态调整包围框控件尺寸)
[4.2 分层渲染控制](#4.2 分层渲染控制)
[4.3 事件扩展](#4.3 事件扩展)
[5. 常见问题解答](#5. 常见问题解答)
[6. 结语](#6. 结语)
1. 插件核心功能
1.1 基础变换操作
-
移动:点击物体碰撞体(Collider2D)并拖拽,即可自由移动物体。
-
缩放:
-
单轴缩放:拖拽包围框的边缘(Edge)可沿单个轴缩放。
-
双轴缩放:拖拽包围框的角落(Corner)可同时在两个轴上缩放。
-
保持宽高比:支持全局锁定宽高比,或通过快捷键临时锁定(如按住Shift键)。
-
-
旋转:拖拽旋转控件(Rotation Gizmo)可自由旋转物体。
1.2 高级特性
-
多选操作 :支持同时选中多个物体进行统一移动(需启用
Allow Multi Selection
)。 -
光标反馈:当鼠标悬停在交互区域(如角落、边缘、旋转控件)时,光标自动切换为预设图标。
-
动态尺寸调整 :包围框的控件(角落、边缘、旋转控件)会根据摄像机缩放(
orthographicSize
)自动调整屏幕显示尺寸。 -
自定义外观:可修改包围框的颜色、图标及排序层级,适配不同美术风格。
2. 安装与配置
2.1 导入插件
-
将插件包导入Unity项目(通过Asset Store或手动导入)。
-
添加控制器预制体 :
在场景中拖入
TransformInteractorController
预制体(位于Package/Prefabs
)。该控制器全局管理所有交互逻辑,必须存在于场景中。
2.2 配置控制器参数
打开 TransformInteractorController
组件的参数面板,关键配置如下:
参数分类 | 关键参数 |
---|---|
包围框外观 | Corner Color (角落颜色)、Line Color (边缘颜色)、Rotation Color (旋转控件颜色) |
交互行为 | Allow Multi Selection (启用多选)、Allow Rotation (启用旋转) |
光标设置 | Change Cursor (启用光标切换)、Move Cursor (移动光标图标) |
摄像机与缩放 | Main Camera (绑定正交摄像机)、Adjust Size To Zoom (动态调整控件尺寸) |
宽高比锁定 | Always Preserve Aspect Ratio (全局锁定)、Preserve Aspect Ratio On Key Hold (按键临时锁定) |
2.3 为物体添加交互功能
-
添加组件 :为需要交互的2D物体添加
TransformInteractor
脚本。 -
自动添加碰撞体 :若物体没有
BoxCollider2D
,插件会自动添加一个。调整碰撞体大小以匹配物体实际范围。 -
自定义包围框 :通过修改
TransformInteractor
的Collider Offset
和Collider Size
调整交互区域。
3. 使用示例
3.1 基础操作演示
-
移动物体:点击物体碰撞体并拖拽。
-
缩放物体:
-
拖拽角落进行双轴缩放。
-
拖拽边缘进行单轴缩放。
-
按住
Aspect Ratio Keys
(如Shift键)临时锁定宽高比。
-
-
旋转物体:拖拽旋转控件(默认位于包围框顶部)。
3.2 多选与批量操作
-
启用多选 :在控制器中勾选
Allow Multi Selection
。 -
选择多个物体 :按住
Multi Selection Keys
(如Ctrl键)点击多个物体。 -
统一移动:拖拽任意选中物体,所有选中物体将同步移动。
3.3 自定义光标与外观
cs
// 示例:通过代码动态修改光标图标(需提前导入纹理)
TransformInteractorController controller = FindObjectOfType<TransformInteractorController>();
controller.MoveCursor = YourCustomMoveCursorTexture;
controller.RotateCursor = YourCustomRotateCursorTexture;
4. 高级配置技巧
4.1 动态调整包围框控件尺寸
-
确保摄像机为 正交投影(Orthographic)。
-
在控制器中启用
Adjust Size To Zoom
。 -
设置
Default Corner Width/Height
等参数,控制控件的默认屏幕尺寸。
4.2 分层渲染控制
通过设置不同排序层级(Sorting Layer),避免控件与游戏物体重叠:
-
Corner Sorting Layer
>Rotation Gizmo Sorting Layer
>Line Sorting Layer
4.3 事件扩展
插件内置事件系统(需自行扩展):
TransformInteractor interactor = GetComponent<TransformInteractor>(); interactor.OnDragStart += () => { /* 拖拽开始逻辑 */ }; interactor.OnScale += (scale) => { /* 缩放中逻辑 */ };
5. 常见问题解答
Q1:包围框未显示
确认
TransformInteractorController
预制体已添加到场景。检查物体的
TransformInteractor
脚本是否启用。
Q2:光标未切换
-
在控制器中启用
Change Cursor
。 -
确认
Default Cursor
和特定操作光标已正确赋值。
Q3:缩放时宽高比未锁定
-
检查
Always Preserve Aspect Ratio
或Preserve Aspect Ratio On Key Hold
是否启用。 -
确认快捷键设置(
Aspect Ratio Keys
)是否冲突。
6. 结语
Runtime 2D Transform Interactor 是一款功能强大且高度可定制的2D交互插件,尤其适合编辑器工具、关卡设计或需要精细物体操作的2D游戏。通过灵活的配置和直观的操作,开发者可以显著减少编码时间,专注于核心玩法开发。立即尝试这款插件,提升你的开发效率!
7.工具下载
https://download.csdn.net/download/qq_37310110/90394947
【注:此博文为工具生成,内容未经校对,注意甄别】