# Collaborate Client Package
 
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 6 浏览量
更新于2023-07-01
24
收藏 90.1MB ZIP 举报
【数字孪生】技术在机械臂虚拟控制中的应用是一个前沿且具有创新性的领域,它将实体机械臂的物理行为在虚拟环境中精确复制,使得开发者能够进行远程操控、模拟测试和故障预测。本项目以Unity软件作为开发平台,利用其强大的3D可视化能力和交互设计功能,构建了一个机械臂虚拟控制系统。
Unity是一款广泛应用于游戏开发、虚拟现实(VR)和增强现实(AR)的跨平台引擎,同时也被广泛用于工业设计和仿真领域。在本项目中,Unity被用来创建一个交互式的机械臂模型,用户可以通过调整滑动条数值来改变机械臂各关节的角度,模拟实际操作过程。这种直观的界面设计使得非专业人员也能快速上手,进行简单的机械臂控制实验。
机械臂的设计通常涉及到多个自由度,即各个关节可以独立旋转或移动。在本项目中,每个机械臂关节对应一个滑动条,用户可以独立调节这些滑动条,以实现对机械臂的精细控制。这种方式不仅能够帮助工程师理解机械臂的工作原理,还能在安全无风险的环境下试验不同的运动轨迹和工作模式。
数字孪生的核心在于实时同步和数据交换。在项目后期,计划将滑动条控制替换为实际传感器数据,这将实现虚拟世界与现实世界的紧密连接。通过物联网(IoT)设备收集机械臂的实际运行数据,如关节角度、速度和力矩,这些数据可以直接驱动Unity中的虚拟机械臂,从而实现数字孪生。这一过程不仅可以实时反映机械臂的状态,还可以进行数据分析,预测潜在的故障,提高生产效率和安全性。
压缩包内的"ARM"可能代表“Arm Simulator”或“Mechanical Arm”的缩写,这是项目的主要文件,包含了机械臂的3D模型、控制逻辑以及可能的脚本文件。在Unity中,这些文件将被导入并组合成一个完整的交互式场景。用户只需拥有Unity 2021f版本,即可直接运行该项目,体验和调试机械臂的虚拟控制。
这个项目展示了数字孪生技术如何与Unity结合,为机械臂的控制和优化提供了一种新颖的途径。通过虚拟环境的模拟,工程师可以更高效地进行设计验证、故障排除和性能优化,同时降低了实际操作的风险和成本。随着物联网技术的发展,数字孪生在工业4.0时代有着广阔的应用前景。

数字孪生小砖家
- 粉丝: 34
最新资源
- 大学生网络使用情况调查分析报告.doc
- 供电综合自动化经典控制设计专题方案.docx
- 基于PLC的饮料自动罐装系统毕业设计方案.doc
- 智能电网配电自动化改造及可靠性研究(1).docx
- 基于matlab的图像增强技术的研究(1).doc
- 一级MS-Office-教学--计算机基础课程PPT参考幻灯片.ppt
- 计算机网络技术试题库.doc
- 小学语文信息化教学策略的研究(1).docx
- 审计档案工作的信息化建设问题探讨(1).docx
- 浅谈中职计算机教学中学生创新能力的培养(1).docx
- 关于观网络安全教育个人观后感参考范文5篇.doc
- 电子商务毕业实习总结5篇.doc
- 互联网教育项目商业计划书(课堂PPT).ppt
- PPP综合项目管理专项方案.doc
- 网络营销SEO优化.ppt
- 区块链技术与应用.ppt