iFactory.Godot/README.md

73 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# iFactory.Godot
![](https://img.shields.io/badge/Dev-0.32-green)
基于Godot的iFactory客户端(网络服务和服务端已定义接口,预计使用[KCP](https://github.com/skywind3000/kcp)实现)
正在从Unity版[内网链接](http://192.168.1.50:3000/cn-intelli/iFactory.git)一步一步移植到Godot中
该项目主要使用[ECS](https://zhuanlan.zhihu.com/p/30538626)架构,[BITKit](http://server.bitfall.icu:3000/root/BITKit.git)作为基本的dotnet框架
## Installation 安装过程
1.首先你需要安装 **Godot4.0.3 Net** 👉[GodotEngine.Net](https://godotengine.org/download/windows/)
2.通过Git Clone两个仓库到与该仓库相同路径的文件夹,文件结构看起来像这样:
> GitHub (你的项目文件夹的上一级)
> >iFactory.Godot [外网仓库链接](http://server.bitfall.icu:3000/root/iFactory.Godot.git)
>
> >BITKit [外网仓库链接](http://server.bitfall.icu:3000/root/BITKit.git)
>
> >AGV_System [内网仓库链接](http://192.168.1.50:3000/cn-intelli/AGV_System.git)
3.最后在**Godot**中导入**iFactory.Godot**
4.⭐ 安装完成
## Features 功能与模块
### 功能介绍
#### 机位同步
* 超炫酷`零延迟`机位同步(可能需要一些硬件支持)
* 基于角度的`Loopback`算法,解决了同步角度和位置时0>1>0的值被线性插值解析为0>0.7414>0的问题
* 基于物理`PBR`的三维模型,确保和现实中的设备看起来几乎一致
* 基于`Lancer.SCADA`返回数据的物料同步(例如`SR7C1L`夹着物料`多功能笔记本`放进`交付气缸夹`)
#### 数据回放
* 录制生产时的数据,可离线播放生产过程
* 支持数据追溯,收集和录制重要数据,可对数据进行加工、提炼和分析,找到可能存在的重要数据
#### 布局规划
* 拖放`模型库`/`预制件`到场景中,快速完成场景的基础规划
* 选中`实体`并编辑数值或节点,可快速定制`模型`,例如
* 自定义围墙,围栏,输送带的尺寸,如 长`4096mm`,宽`256mm`
* 编辑贝塞尔曲线,标记`AGV`或其他可运动设备的`路线`
* 快速替换预览设备的型号,例如将`KUKA.AGV`替换为`Intelli.AGV`
#### 多终端实时同步场景
* `PC客户端`进行布局规划,`Mixed Reality`客户端(例如`AR`)可直接在现场看到设备规划的位置和生产路线
* 虚拟化生产过程,用户可通过`手机AR`或者`AR眼睛`在现场预览生产过程并对过程进行评估
* `AGV`夹起`物料`放入`装配单元`
* `AGV`向`装配单元`提供`物料`
* `装配单元`进行虚拟化装配
* `AGV`从`装配单元`取走产品,并放入`交付单元`
* `所有客户端`可对现实坐标进行标记(`文字消息` `图像消息`)
* 标记需要改进的工序或移动的位置
* 标记用户希望的生产路线
#### 智能诊断
* 基于`Lancer.SCADA`提供的数据,自动分析重要数据的值并返回异常和诊断数据
* 可通过`WebAPI`接口下发异常
* 与`微信`紧密绑定
### 功能清单
- [x] 基于`Lancer.SCADA`的基本数据请求服务`WebApi/GetInfos`——请求json,处理json嵌套,向内部提交数据
- [x] 基于`Lancer.SCADA`基本的角度和位置同步
- [ ] 基于`AI`算法的零延迟同步
- [ ] 基于`硬件本身的api`提供的零延迟同步
- [ ] 全平台通用网络通讯接口(基于KCP的基本网络服务)`NetProvider` `NetClient` `NetServer`
- [ ] 基于`Camera3D`的虚拟相机服务`观察场景` 例如`移动视角` `拖动视角` `缩放视角` `保存与加载预设视角`
- [ ] `Android`支持
- [ ] `WebGL` 支持
- [ ] 回放录制器——录制`Lancer.SCADA`返回的数据,
- [ ] 场景编辑器——拖动预制件到场景中,完成组合场景,可用于对现场规划进行三维浏览和布局评估
- [ ] 网络场景——多个平台和客户端同步场景例如在PC上更改场景在`Mixed Reality`中可实时看到场景的更改
- [ ] 自诊断服务——通过解析数据,找到`空值`或`null`的数据并向指定接口(例如`微信推送` `数据库日志`)提交异常
## Getting Started 使用指南