# Collaborate Client Package
![ReleaseBadge](https://badges.cds.internal.unity3d.com/packages/com.unity.collab-proxy/release-badge.svg) ![ReleaseBadge](https://badges.cds.internal.unity3d.com/packages/com.unity.collab-proxy/candidates-badge.svg)
This is the package to add Collaborate support to the Unity Editor. Unlike its predecessor CollabProxy,
this package has completely switched the UI to using UIElements. There is no more CEF, JS, or HTML.
The project is exclusively targeting .NetStandard 2.0 and will not work with the legacy Mono runtime.
The minimum supported version of the Unity Editor is 2020.1a13.
## Development
**For developers:**
Option 1: clone this repository out into the `packages/` directory in a project.
Option 2: clone elsewhere and link with the `packages/manifest.json` file in the project:
```
"com.unity.collab-proxy": "file:/some/path/to/package"
```
To add testing support also add the testibles section to the manifest. Your manifest should look like this:
```json
{
"dependencies": {
"com.unity.collab-proxy": "file:/some/path/to/package",
...
},
"testables": [
"com.unity.collab-proxy",
...
]
}
```
**For internal testers:** simply add the git url into the `packages/manifest.json` file:
```
"com.unity.collab-proxy": "git://git@github.cds.internal.unity3d.com:unity/com.unity.cloud.collaborate.git"
```
If you need a specific revisision:
```
"com.unity.collab-proxy": "git://git@github.cds.internal.unity3d.com:unity/com.unity.cloud.collaborate.git#<rev>"
```
If you need more information, read the [Documentation](https://docs.unity3d.com/Manual/upm-dependencies.html#Git) for package dependencies from git.
Code style is as dictated in [Unity Meta](https://github.cds.internal.unity3d.com/unity/unity-meta).
There are IDE Specific code style configs under the `Config/` directory in the above repo.
## Overview
Source code for the packages is contained within the `Editor/`
and the tests are in `Tests/`. The structure of the package follows
the **MVP** pattern with a separate directory for each group of classes
and interfaces.
Here are some files and folders of note:
```none
<root>
├── package.json
├── README.md
├── CHANGELOG.md
├── LICENSE.md
├── Third Party Notices.md
├── QAReport.md
├── Editor/
│ └── Collaborate
│ ├── Unity.CollabProxy.Editor.asmdef
│ ├── Assets/
│ │ ├── Icons/
│ │ ├── Layouts/
│ │ ├── Styles/
│ │ └── UiConstants.cs
│ ├── Models/
│ │ ├── Api/
│ │ │ └── ISourceControlProvider.cs
│ │ └── Providers/
│ │ └── Collab.cs
│ ├── Views/
│ ├── Presenters/
│ ├── Common/
│ ├── Settings/
│ ├── Components/
│ ├── Utilities/
│ └── UserInterface/
│ ├── Bootstrap.cs
│ ├── WindowCache.cs
│ ├── ToolbarButton.cs
│ └── CollaborateWindow.cs
├── Tests/
│ ├── Collaborate
│ │ └── Editor/
│ │ └── Unity.CollabProxy.EditorTests.asmdef
│ └── .tests.json
└── Documentation~/
├── unity-cloud-collaborate.md
└── Images/
```
- `Editor/Assets/` directory of the collaborate assets.
- `Editor/Assets/Icons/` directory for the collection of icons (png) used in the UI.
- `Editor/Assets/Layouts/` directory for the collection of layouts (uxml) used in the UI.
- `Editor/Assets/Styles/` directory for the collection of styles (uss) used in the UI.
- `Editor/Models/` directory of the models in the MVP architecture.
- `Editor/Models/Api/ISourceControlProvider.cs` interface for source control providers. Just Collab for now.
- `Editor/Models/Providers/Collab.cs` backend for providing the interface between this client and collab in the Unity Editor.
- `Editor/Views/` directory of the views in the MVP architecture.
- `Editor/Views/Adaptors/` directory for the list adaptors used in views.
- `Editor/Presenters/` directory of the presenters in the MVP architecture.
- `Editor/Components/` directory for the collection of UIElements components used in the UI.
- `Editor/UserInterface/` directory for the window and toolbar button source code.
- `Editor/UserInterface/Bootstrap.cs` code to bootstrap the toolbar button when the editor starts.
- `Editor/UserInterface/WindowCache.cs` code to cache the state of the window during domain reload.
- `Editor/UserInterface/ToolbarButton.cs` code to create and manage the collab button in the toolbar.
- `Editor/UserInterface/CollaborateWindow.cs` code for the window itself.
- `Tests/Editor/` directory of the client tests.
Each directory contains a README file with additional details about what is contained within them, including code
examples.
## Package Information
For more info on packages and best practices, visit the [package-starter-kit](https://github.cds.internal.unity3d.com/unity/com.unity.package-starter-kit) repository and read the documentation.
## Known Issues
* [COL-1079] The history window doesn't correctly distinguish local vs remote changes
* [COL-573] Publishing new versions of some packages in Collab results in Cannot Copy File error
* [COL-1083] Error message for opening diff tool on conflicted file when none are installed is not very helpful. Workaround is to install and select a supported diff tool in the Preferences->External Tools window.
* [COL-1084] Triggering a domain reload while Collab History tab is open disables the UX until the Editor is focused. Workaround is to click onto the Editor a second time.
* [COL-1085] Go Back To commit in 2020.1 with pre-v1.2.17 in package manifest breaks Collaborate window. Workaround is to open project in a version of Unity older than 2020.1.0a13 where pre-v1.2.17 packages are supported.
【数字孪生】机械臂虚拟控制unity demo
需积分: 0 73 浏览量
更新于2023-07-01
22
收藏 90.1MB ZIP 举报
【数字孪生】技术在机械臂虚拟控制中的应用是一个前沿且具有创新性的领域,它将实体机械臂的物理行为在虚拟环境中精确复制,使得开发者能够进行远程操控、模拟测试和故障预测。本项目以Unity软件作为开发平台,利用其强大的3D可视化能力和交互设计功能,构建了一个机械臂虚拟控制系统。
Unity是一款广泛应用于游戏开发、虚拟现实(VR)和增强现实(AR)的跨平台引擎,同时也被广泛用于工业设计和仿真领域。在本项目中,Unity被用来创建一个交互式的机械臂模型,用户可以通过调整滑动条数值来改变机械臂各关节的角度,模拟实际操作过程。这种直观的界面设计使得非专业人员也能快速上手,进行简单的机械臂控制实验。
机械臂的设计通常涉及到多个自由度,即各个关节可以独立旋转或移动。在本项目中,每个机械臂关节对应一个滑动条,用户可以独立调节这些滑动条,以实现对机械臂的精细控制。这种方式不仅能够帮助工程师理解机械臂的工作原理,还能在安全无风险的环境下试验不同的运动轨迹和工作模式。
数字孪生的核心在于实时同步和数据交换。在项目后期,计划将滑动条控制替换为实际传感器数据,这将实现虚拟世界与现实世界的紧密连接。通过物联网(IoT)设备收集机械臂的实际运行数据,如关节角度、速度和力矩,这些数据可以直接驱动Unity中的虚拟机械臂,从而实现数字孪生。这一过程不仅可以实时反映机械臂的状态,还可以进行数据分析,预测潜在的故障,提高生产效率和安全性。
压缩包内的"ARM"可能代表“Arm Simulator”或“Mechanical Arm”的缩写,这是项目的主要文件,包含了机械臂的3D模型、控制逻辑以及可能的脚本文件。在Unity中,这些文件将被导入并组合成一个完整的交互式场景。用户只需拥有Unity 2021f版本,即可直接运行该项目,体验和调试机械臂的虚拟控制。
这个项目展示了数字孪生技术如何与Unity结合,为机械臂的控制和优化提供了一种新颖的途径。通过虚拟环境的模拟,工程师可以更高效地进行设计验证、故障排除和性能优化,同时降低了实际操作的风险和成本。随着物联网技术的发展,数字孪生在工业4.0时代有着广阔的应用前景。
数字孪生小砖家
- 粉丝: 31
- 资源: 7
最新资源
- 基于java+springboot+vue+mysql的健康健身追踪系统 源码+数据库+论文(高分毕设项目)).zip
- FactoryIO立体仓库仿真实验:手动与自动模式操作,基于TIA Portal V16与FactoryIO 2.4编程环境,FactoryIO立体仓库仿真实验程序 使用简单的梯形图与SCL语言编写
- 基于java+springboot+vue+mysql的快递分拣管理系统 源码+数据库(高分毕设项目)).zip
- 基于扰动观测器的直流电机调速系统:计算公式、仿真模型与结果、AD电路图及程序详解,基于扰动观测器的直流电机调速系统, 有计算公式,仿真模型,仿真结果,ad电路图,程序 ,基于扰动的观测器; 直流电机调
- 基于java+springboot+vue+mysql的老年医疗保健网站 源码+数据库+论文(高分毕设项目)).zip
- 基于java+springboot+vue+mysql的联邦管理系统 源码+数据库+论文(高分毕设项目)).zip
- "旋转编码器型伺服电机的调零方法与原理解析-涵盖所有进口品牌与通用硬件的解决方案",旋转变压器型编码器旋编调零协议型编码器调零 对于各种进口品牌伺服电机都可以如:西门子,力士乐,abb,keb,多摩
- 基于java+springboot+vue+mysql的商场多功能折扣系统 源码+数据库(高分毕设项目)).zip
- 基于java+springboot+vue+mysql的社区药房系统 源码+数据库+论文(高分毕设项目)).zip
- 台达DVP15MC运动控制器伺服上下料机编程代码实例,初学者学习参考,台达DVP15MC运动控制器伺服上下料机程序代码,适合学习使用 ,核心关键词:台达DVP15MC; 运动控制器; 伺服上下料机
- 基于java+springboot+vue+mysql的摄影师社区系统 源码+数据库+论文(高分毕设项目)).zip
- 基于java+springboot+vue+mysql的摄影师分享交流社区系统 源码+数据库+论文(高分毕设项目)).zip
- 基于java+springboot+vue+mysql的校园部门资料管理系统 源码+数据库+论文(高分毕设项目)).zip
- 基于java+springboot+vue+mysql的数字科技风险报告管理系统 源码+数据库+论文(高分毕设项目)).zip
- 基于java+springboot+vue+mysql的小区车辆管理系统 源码+数据库+论文(高分毕设项目)).zip
- 基于java+springboot+vue+mysql的校园商城系统 源码+数据库(高分毕设项目)).zip