## [Sharing]()
The HoloToolkit.Sharing library allows applications to span multiple devices, and enables holographic collaboration.
Originally developed for OnSight, a collaboration between SOTA (a Microsoft studio) and NASA to enhance their existing Mars rover planning tool with HoloLens, HoloToolkit.Sharing enables users to use multiple devices for a task by allowing the apps running on each device communicate and stay in sync seamlessly in real time.
Users can also collaborate with other users (who are also using multiple devices) who may be in the same room or working remotely.
## Table of Contents
- [Features](#features)
- [Configuration](#configuration)
- [Troubleshooting](#troubleshooting)
- [Plugins](#plugins)
- [Prefabs](#prefabs)
- [Scripts](#scripts)
- [Test Prefabs](#test-prefabs)
- [Test Scripts](#test-scripts)
- [Tests](#tests)
### Features
---
#### Lobby & Session system
* Discover available sessions or create your own
* Permanent or ‘until empty’ session lifetime
* See user status: current session, mute state
* Easy to discover and hop between sessions
#### Anchor Sharing
* Users in a session can be in the same or different physical rooms
* Users can share the location of Holographic 'anchors' they place in their room with other users in the same room
* Users joining late can download all anchors in the session
* Allows multiple users to see shared holograms
#### Synchronization System
Synchronize data across all participants in session
* Everyone in session guaranteed to see the same thing
* Automatic conflict resolution for simultanious conflicting remote changes
* Real-time: See remote changes as they happen
* Shared data sets automatically merged when new users join a session
* Responsive: no delay in your own changes
* Ownership: your data leaves session when you do
#### Group Voice Chat
Support for VOIP is built-in
* Server-based mixing lowers processing and bandwidth requirements for clients
#### Visual Pairing
Connect devices just by looking at them
* One device displays a QR code with connection info and security code
* Other device sees QR code, connects, and validates with security code
* Can also detect location in 3D space using built-in fiducial marker support
#### Profiler
Profiling and debugging an experience that spans multiple devices is challenging. So HoloToolkit.Sharing provides an app that can connect to multiple devices at once and aggregates their timings and debug output in a single place
#### Sync Model
HoloToolkit.Sharing has the ability to synchronize data across any application connected to a given session. Conflict resolution is automatically handled by the framework, at whichever level the conflict occurs.
##### Primitive Types
The following primitives are natively supported by the sync system. The C# class that corresponds to each primitive is written in parentheses.
- Boolean (SyncBool)
- Double (SyncDouble)
- Float (SyncFloat)
- Integer (SyncInteger)
- Long (SyncLong)
- Object, which is a container class that can have child primitives (SyncObject
- String (SyncString)
On top of the native primitives above, the following types are supported in the C# layer:
- Quaternion (SyncQuaternion)
- Transform (SyncTransform)
- Unordered array (SyncArray)
- Vector3 (SyncVector3)
Other types can be built for your own application as needed by inheriting from SyncObject in a similar way to what SyncVector3 and SyncTransform do.
##### Defining the Sync Model
By default, the SyncRoot object (which inherits from SyncObject) only contains an array of InstantiatedPrefabs, which may not be enough for your application.
For any type inheriting from SyncObject, you can easily add new children primitives by using the SyncData attribute, such as in the following example:
public class MySyncObject : SyncObject
{
[SyncData]
public SyncSpawnArray<MyOtherSyncObject> OtherSyncObject;
[SyncData]
public SyncFloat FloatValue;
}
Any SyncPrimitive tagged with the [SyncData] attribute will automatically be added to the data model and synced in the current HoloToolkit.Sharing session.
### Configuration
---
Ensure you have the following capabilities set in Player Settings -> Windows Store -> Publishing Settings -> Capabilities:
1. SpatialPerception
2. InternetClientServer
3. PrivateNetworkClientServer
4. Microphone capabilities
Install or run the server instance.
### Troubleshooting
---
- Double check the Server Address on your sharing stage component in your scene matches the address shown in the sharing service console.
- Make sure all devices are connected to the same Wireless Local Area Network.
- Ensure all firewall settings are correct. Windows firewall gives you options to enable/disable by network type (private, public, home), make sure you're enabling the firewall for your connection's type.
#### Invalid Schema Version
```
SharingService [..\..\Source\Common\Private\SessionListHandshakeLogic.cpp (67)]:
***************************************************************
List Server Handshake Failed: Invalid schema version.
Expected: 17, got 15
Please sync to latest XTools
***************************************************************
```
- Ensure you're using the latest binaries of the sharing service found at `HoloToolkit-Unity\External\HoloToolkit\Sharing\Server`.
### [Plugins](Plugins)
---
Contains compiled architecture specific binaries for SharingClient.dll which are required by the Unity application for accessing sharing APIs.
Binaries are compiled from the native [HoloToolkit\Sharing](https://github.com/Microsoft/HoloToolkit/tree/master/Sharing).
### [Prefabs](Prefabs)
---
Prefabs related to the sharing and networking features.
#### Sharing.prefab
1. Enables sharing and networking in your Unity application.
2. Allows you to communicate between a Windows and non-Windows device.
**SharingStage.cs** allows you to be a Primary Client (typical case).
**Server Address** is the IP address of the machine running the HoloToolkit -> Launch Sharing Service.
**Server Port** displays the port being used for communicating.
**AutoJoinSession.cs** creates a shared session with Session Name 'Default' which is customizable.
Joins a player to that session if once already exists.
### [Scripts](Scripts)
---
Scripts related to the sharing and networking features.
#### [Editor](Scripts/Editor)
---
Scripts for in editor use only.
##### SharingMenu.cs
Enables users to start the Sharing Service, Sharing Manager, and Profiler from the Unity Editor via the HoloToolkit Menu.
##### SharingStageEditor.cs
Draws the default Sharing Stage Inspector and adds the SyncRoot Hierarchy view so users can quickly verify Sync Object updates.
#### [SDK](Scripts/SDK)
---
Contains scripts compiled from the native [HoloToolkit\Sharing](https://github.com/Microsoft/HoloToolkit/tree/master/Sharing) repository and using the SWIG tool to generate different language bindings.
#### [Spawning](Scripts/Spawning)
---
Scripts for spawning objects using the sharing service.
##### PrefabSpawnerManager.cs
A SpawnManager that creates a GameObject based on a prefab when a new SyncSpawnedObject is created in the data model. This class can spawn prefabs in reaction to the addition/removal of any object that inherits from SyncSpawnedObject, thus allowing applications to dynamically spawn prefabs as needed.
The PrefabSpawnManager registers to the SyncArray of InstantiatedPrefabs in the SyncRoot object.
The various classes can be linked to a prefab from the editor by specifying which class corresponds to which prefab. Note that the class field is currently a string that has to be typed in manually ("SyncSpawnedObject", for example): this could eventually be improved through a custom editor script.
##### SpawnManager.cs
A SpawnManager is in charge of spawning the appropriate objects based on changes to an array of data model objects. It also manages the lifespan of these spawned objects.
This is an abstract class from
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
HoloToolkit资源包 (4092个子文件)
00000000000000001000000000000000 4KB
00000000000000002000000000000000 4KB
00000000000000003000000000000000 4KB
00000000000000004000000000000000 4KB
00000000000000004100000000000000 4KB
00000000000000005000000000000000 4KB
00000000000000005100000000000000 4KB
00000000000000006000000000000000 4KB
00000000000000006100000000000000 4KB
00000000000000007000000000000000 4KB
00000000000000007100000000000000 4KB
00000000000000008000000000000000 4KB
00000000000000009000000000000000 4KB
0000000000000000a000000000000000 4KB
0000000000000000a100000000000000 4KB
0000000000000000b000000000000000 4KB
0000000000000000c000000000000000 4KB
0049948caad004447a28c67a2c9dcea2 41KB
007c74dfb2f47d54cb03722769c30a83 4KB
0089e1f8c8153c941a6fb16f0b43d910 4KB
00b1b81cca4d57b4a96c0073ab02641e 4KB
00eb2a0ee0d6a9f4ea1f7897e23e1589 4KB
0118fa4f1c88b4640b193eca2c181644 1.89MB
012e902635965e648a446fdb85fbc0bc 4KB
019bc2c61963f164f881b0dfbb4c4862 8KB
01cf07a5255bd1f4ea26c9d43d714019 7KB
02183eecee283e647b4e8660f71bb271 4KB
022450106439a8946ae18a9e20cc92d8 4KB
026247228427a694eae4fa19eb6ae09f 4KB
029ac67c65e8d7d428e72c96a230fe63 6KB
02ef53b3a93625840aa0bdadd41119c4 5KB
03552fd93b8e9d64d989c1ce42ff154b 4KB
0402660fc9d7fe0408f071ab2ac67dac 5KB
04160e0c231a5714c982df6de2d09433 4KB
0425c80ecdf03ba40bfae2f0f9238fd8 180KB
04428b85e80f24744866d700e45435e6 12KB
04c537c71d256594a951d2b914a48746 9KB
04ff94c4c85a6954e9c349a36229de86 4KB
0508562b2adc4d04886df5aba3ff6101 4KB
057493d169444074387c9a5ca1c99e92 9KB
05d1324a6d6a0d248848b4042ad6d6bf 10KB
0624081163014824eb575250d78c791e 4KB
066461858c98cfa4f84fadee8ef21431 6KB
067860745f9370d4e9617e30c844d831 180KB
06790e211e4a6df409b1e04bc91c4810 41KB
06ce65f1729fa70409ffe38d51d04718 4KB
0720f55db549b5f4abf81145a0d15a30 4KB
07280da9da392aa4c9dbcb563adc57f9 29KB
0729fe1ea5548494382c00ad90662bc6 6KB
0743d84cf8370304ebf4301d0f532ba2 5KB
075e3abbbf0bde044bb4bf8382bb45ac 4KB
07b2e0b188c7fb84fa2bd17d661cb84d 4KB
0803619fdf239e145a93a8523d180b3a 4KB
084b4f8c431905d4cac0e4b5f2a3b6db 12KB
088ad37b7824ce1449ef005936680709 14KB
08c5909f6b9eb2d48b324e9ee0d1d25c 4KB
08fb64812c09ab9448331612dd7c6f8d 5KB
0941cc9d1fb9d5a46af6e6c78fdda999 4KB
09ea77b2be8b62b4a9c86c123cd5ddbe 21KB
0b08288019c3f0540a624e2c82302702 6KB
0b1722d59347f304f9691015045d7895 4KB
0b20469ea0c7b2945bc2a68947531ead 4KB
0b509034c3b614b418f12ac026ab1949 4KB
0b8f9ae522ebe0345ada9fc0071aafe4 4KB
0ba440176c08a3c4ebeb59f52a092c89 7KB
0c043c1caff935c4ab375545540e6f89 5KB
0c7446f1018a0e34fbf50d7ef2098a9d 160KB
0ca6ef64c999fe648b5d49dd29b9e734 4KB
0ce6a911144ea6247b23c56ff69a82bd 4KB
0d08dd59087697b44a68a02cc9a7c3a2 122KB
0d1edddc695c93840945d97459c6f5cc 4KB
0d24e90a445079545850f6654903acb3 13KB
0d3bb855445e36e479c85976fc88383a 5KB
0decd33ba8702954885a62b5bc1a778e 10KB
0df4832d89bd70c48b288941e8182067 7KB
0e5fab096886797478a02d8021f8ee03 4KB
0e8512d51bf9aa144a036c6305dd66c0 6KB
0e8eecc814c96574f878be68a20d8c8a 52KB
0ec16313300f52f4ca5f77b6526eec8e 4KB
0f604454ef4d4f74aac40b50574f26b0 4KB
0fc614944e525ec4e9d20d19bf6c3f53 5KB
0fe38ed55fd84d548aadc453d4485300 5KB
0fe5964f4928ad241a3afee16557798a 4KB
0ffb4c30134765242a7b86c561f8ef6b 5KB
1017ef825d041c749bab30bf03aca0d3 4KB
105b5ae79b89f964286556773d801b97 8KB
10cc78db8d893ec4b89b7c345d7b40fe 5KB
110c179e1fb277a409f2f398b4c4c677 5KB
118c825789669cc47a743295d8470237 6KB
11f25bddcb4fa2849ab8e795ecb63578 5KB
11fbd99e5394a9b46a577eabcda7d3f0 692KB
1208d39814b498d47a41952deff3abd0 4KB
1240e6ed74b88ff4fa549db17c4a7078 4KB
128255248c91cb141a6d3c07f93ef90c 4KB
129aec1ffadcd134791d142340881afb 4KB
12c91ca558f50a14aac6b7157c71d2f4 4KB
12e2218b44bb5d046b63543ecbec9320 4KB
12fd8a0055b84bb59e84c9835a37e333 6KB
1350e83623c005741ad0d1b09834ed62 10KB
135d7c13632e9104694e1c56125df7aa 180KB
共 4092 条
- 1
- 2
- 3
- 4
- 5
- 6
- 41
资源评论
- 大略easy2018-12-24请问如何将你的这个资源导入unity?
天人合一peng
- 粉丝: 1406
- 资源: 78
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 同等学力申硕考试 组合数学
- 同等学力 离散数学与组合数学
- 50条最常用Linux系统命令大全手册
- 斯沃数控仿真软件7.2版数控加工中心车床铣床编程仿真模拟教程斯沃系统手册可编程序控制器系统(ABPLC)说明
- 2023NOC软件创意编程赛项真题-python小高初赛
- 2024安全信息安全与评估
- 斯沃数控仿真软件7.2版数控加工中心车床铣床编程仿真模拟教程斯沃系统手册DASEN-9i-连接手册PLC-手册
- SpringBoot集成MyBatis-Plus
- 基于python-contrib-opencv,dlib,pyqt5实现电脑端摄像头读取视频,实时人脸录入,人脸识别等功能
- 斯沃数控仿真软件7.2版数控加工中心车床铣床编程仿真模拟教程斯沃系统手册DASEN-3i-h连接手册PLC手册
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功