编辑器插件
# 编辑器插件
专为IoTCenter3D
开发者打造,致力于简化开发流程,提高开发者效率的Unity扩展插件。是用于Unity编辑器中的插件——plugin-EditorTool
,这些插件会为IoTCenter3D
开发流程提供有用的功能。
# 简介
IoTCenter3D 平台开发拥有诸多重复的工作,比如创建预制体
、创建模板代码
、设置AB包
等,为了提高IoTCenter3D 平台的开发效率,减少大量的重复劳动,制作了这款插件,供开发者选择使用。
编辑器插件具有如下特点:
自动适配二次开发包,无需多余配置开箱即用。
完成大量重复工作。
插件式安装不会污染项目文件。
整个工具包非常小。
面向未来的强大架构使用Unity下一代UI解决方案 (opens new window)开发
# 使用要求
操作系统:目前仅支持Windows操作系统。
Unity:经过测试正常兼容的Unity版本包括
2021.3.1
和2022.1
提示
插件在
2021.3.1
版本上进行开发,理论上也支持其它2021
版本,插件大部分界面使用UI Toolkit
开发,UI Toolkit
在2021 LTS版本内置。插件包:请注意要使用插件必须先安装以下两个包
IoT_3DFramework:由于插件的所有工作都围绕于此包展开,所有必须先安装这个包才能正常使用。
TextMeshPro:插件的一些自动化功能,包括:
图片资源(如
PNG
、JPG
等):当资源被导入在名称包含UI
的文件夹里后,会自动转换成Sprite
类型。模型资源(如
FBX
、OBJ
等):当模型被导入到项目后,默认是无法修改材质的,会自动转换成可以修改材质。字体资源(如
TTF
、OTF
等):当字体被导入到项目后,会自动在字体旁边创建支持TMP
的字体资源。
# 安装
推荐Package Manager(包管理器)和直接导入两种方式安装。
提示
- 请注意当前项目是否符合使用要求。
- 两种方式导入后都会自动安装所依赖的TextMeshPro插件。
Package Manager
此方式可以将插件放在电脑任一位置,如果一台电脑上有多个IoT
项目使用此步骤安装只会引用插件,不会复制到项目本身,导入后unity
项目不会增加体积。
示例(Unity 2022.1):
在菜单栏中选择
Window/Package Manager
。在打开的Package Manager窗口中点击按钮
+ -> Add package from disk...
。选择从敢为开源仓库 (opens new window)下载的三维示例的
\iotcenter-3d-development\Packages\IOTControl Editor
目录中的package.json
文件即可等待载入完成,出现在
Packages
里表示安装成功。
直接导入
此方式可以将插件放在电脑任一位置,如果一台电脑上有多个IoT
项目使用此步骤安装只会引用插件,不会复制到项目本身,导入后unity
项目不会增加体积。
示例(Unity 2022.1):
从敢为开源仓库 (opens new window)下载的三维示例的
\iotcenter-3d-development\Packages\
目录下的IOTControl Editor
文件夹复制到Unity
项目的Packages
文件夹里面。等待载入完成,出现在
Packages
里表示安装成功。
# 开发工具界面说明
点击上方的按钮打开工具界面,如下图所示。
打开的工具界面如下图所示:
界面说明
工具栏:左侧包含构建
ab
包、复制脚本、启动IOT
平台的快捷操作,右侧的按钮用于截图和打开设置页面。搜索框:输入名称根据选择的控件类型搜索项目里面符合的控件。
资源视图:根据选择的控件类型显示项目里面的控件,点击某个控件列表项打开控件详情页面。
页面视图:用于显示页面的区域,如创建页面、详情页面、设置页面等。默认显示创建按钮用于打开创建页面。
侧边栏:使用不频繁的工具放在这里,比如创建建筑结构、新建场景(自动新建场景,并设置AB包信息)。
下面分别介绍开发工具的所有界面,包括控件详情页面、建筑结构界面、创建页面以及设置页面
控件详情页面
根据选择的控件类型显示控件详情信息,目前分为三种:设备、UI控件、设备UI(也就是UI弹窗/面板)。
设备详情页面。控件类型选择设备时,在左侧列表中任一设备即可打开设备详情页面。
视图说明:
预览视图:用于显示设备的预览图,可以直接拖动到场景等窗口直接创建设备。
设备属性视图:渲染出该设备上绑定的继承
DeviceBase
的脚本属性。
UI控件详情页。控件类型选择UI控件时,在左侧列表中任一UI控件即可打开UI控件详情页面
视图说明:
预览视图:用于显示UI控件的预览图,可以直接拖动到场景等窗口直接创建UI控件。
UI属性视图:渲染出该设备上绑定的继承
UIControl
的脚本属性,点击预览控件直接打开UI预制体。元数据视图:每个UI控件都必须包含的组件,点击生成ID可以修改ID。
设备UI详情页。控件类型选择设备UI时,在左侧列表中任一UI控件即可打开设备UI详情页面
视图说明:
预览视图:用于显示设备UI的预览图,可以直接拖动到场景等窗口直接创建设备UI。
UI属性视图:渲染出该设备上绑定的继承
DeviceUIFormBase
的脚本属性,点击预览控件直接打开UI预制体。
创建页面
与控件详情页面一样,根据选择的控件类型显示不同的属性,目前分为三种:设备、UI控件、设备UI(也就是UI弹窗/面板)。
创建设备页面。控件类型选择设备。
视图说明:
脚本名称:创建后脚本的名称,自定义或者是默认字符。
设备模型:创建的预制体所包含的设备模型,可以为空。
设备图标:脚本创建完成后,会自动添加到设备图标属性,可以为空。
设备名称:创建的预制体名称,脚本创建完成后,也会自动添加到设备名称属性,不能为空。
创建按钮:如果属性等设置校验成功点击开始创建控件。
code:代码预览,可以在设置页面设置成可编辑,适合做一些小修改,并且创建时会检测代码是否符合规范。
创建UI控件页面。控件类型选择UI控件。
视图说明:
脚本名称:创建后脚本的名称,自定义或者是默认字符。
UI名称:创建的预制体名称,脚本创建完成后,也会自动添加到UI名称属性,不能为空。
控件类型:设置UI控件在3D平台创建时显示在哪个分类下。
创建按钮:如果属性等设置校验成功点击开始创建控件。
code:代码预览,可以在设置页面设置成可编辑,适合做一些小修改,并且创建时会检测代码是否符合规范。
创建设备UI页面。控件类型选择设备UI。
视图说明:
脚本名称:创建后脚本的名称,自定义或者是默认字符。
UI名称:创建的预制体名称,脚本创建完成后,也会自动添加到UI名称属性,不能为空。
创建按钮:如果属性等设置校验成功点击开始创建控件。
code:代码预览,可以在设置页面设置成可编辑,适合做一些小修改,并且创建时会检测代码是否符合规范。
设置页面
点击工具栏右侧的设置按钮。
打开设置页面,如下图所示:
视图说明:
Win路径: 3D可视化平台中的文件路径,用于文件操作。
设备预制体路径:用于设置创建设备的预制体保存的路径。
设备脚本路径:用于设置创建设备的脚本保存的路径。
UI预制体路径:用于设置创建
UI
控件的预制体保存路径。UI脚本路径:用于设置创建
UI
控件的脚本保存路径。UI弹窗预制体路径:用于设置创建设备
UI
的预制体保存路径。UI弹窗脚本路径:用于设置创建设备
UI
的脚本保存路径。关闭无感
UI
预览:由于某些UI
计算复杂,强制在面板里刷新。销毁时间:设置
UI
预览完成后自动销毁的时间。开启代码编辑:开启后可以在创建时直接修改代码。
创建后自动打开脚本:是否在脚本创建完成后自动打开对应的脚本文件。
建筑结构界面
侧边栏中点击建筑。
打开建筑生成器界面,如下图所示:
基本控制。
空格、鼠标右键:显示
节点列表
。鼠标滚轮:视图缩放。
鼠标中键:平移视图。
拖拽鼠标右键:选中多个节点 。
节点介绍。节点界面属性前方的圆形表示同颜色可以相连,不同颜色根据节点设计是否可以相连。
创建建筑。按下空格键或者鼠标右键,打开节点列表。
点击创建建筑。
没有创建:用于显示创建后的建筑名称。
建筑名称:建筑的名称。
楼层总数:建筑的建筑层数。
起始楼层:用于楼层名称自增的起始数。
配置完成后点击创建按钮,此时会根据配置的参数创建结构。
物体。拖动父节点到界面窗口。用于将模型结构同步转移到创建后对应的结构中
数值。在节点列表中点击属性->数值。用于配置
int
整数。Value:输入配置的整数。
字符串。在节点列表中点击属性->字符串。用于配置
string
字符串。Value:输入配置的字符串。
示例。通过两个示例演示建筑结构的创建和使用。
示例一:本示例演示如何创建基础结构。
打开窗口后,会检测场景中是否有
BuildingRoot
,如果有会作为建筑创建后的根节点(父节点),没有会自动创建一个。通过添加对应节点可以快速创建出建筑结构。
示例二:本示例演示如何把模型也一起移动到结构中。
模型需要按照以下结构排放,楼层作为建筑模型的子物体。
建筑模型对应场景中的平面。
楼层模型分别对应场景中的四个方块。
首先选中建筑模型并且拖动至生成器界面。
连接创建建筑节点并且设置好参数后点击创建.