## [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
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
Unity+HoloLens实现的二维码识别源码 (4318个子文件)
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
007c74dfb2f47d54cb03722769c30a83 4KB
00b1b81cca4d57b4a96c0073ab02641e 4KB
00eb2a0ee0d6a9f4ea1f7897e23e1589 4KB
0118fa4f1c88b4640b193eca2c181644 1.89MB
012e902635965e648a446fdb85fbc0bc 4KB
019bc2c61963f164f881b0dfbb4c4862 8KB
022450106439a8946ae18a9e20cc92d8 4KB
026247228427a694eae4fa19eb6ae09f 4KB
029ac67c65e8d7d428e72c96a230fe63 7KB
02ef53b3a93625840aa0bdadd41119c4 5KB
0402660fc9d7fe0408f071ab2ac67dac 5KB
04160e0c231a5714c982df6de2d09433 4KB
04428b85e80f24744866d700e45435e6 12KB
04c537c71d256594a951d2b914a48746 9KB
057493d169444074387c9a5ca1c99e92 9KB
05d1324a6d6a0d248848b4042ad6d6bf 11KB
0624081163014824eb575250d78c791e 4KB
066461858c98cfa4f84fadee8ef21431 7KB
06790e211e4a6df409b1e04bc91c4810 41KB
0743d84cf8370304ebf4301d0f532ba2 5KB
075e3abbbf0bde044bb4bf8382bb45ac 4KB
0803619fdf239e145a93a8523d180b3a 4KB
084b4f8c431905d4cac0e4b5f2a3b6db 12KB
088ad37b7824ce1449ef005936680709 15KB
09ea77b2be8b62b4a9c86c123cd5ddbe 22KB
0b08288019c3f0540a624e2c82302702 6KB
0ba440176c08a3c4ebeb59f52a092c89 7KB
0c043c1caff935c4ab375545540e6f89 5KB
0c7446f1018a0e34fbf50d7ef2098a9d 162KB
0d0474870035fbf46b9c0f78b6859824 4KB
0d08dd59087697b44a68a02cc9a7c3a2 122KB
0d24e90a445079545850f6654903acb3 13KB
0d3bb855445e36e479c85976fc88383a 5KB
0decd33ba8702954885a62b5bc1a778e 10KB
0df4832d89bd70c48b288941e8182067 7KB
0e5fab096886797478a02d8021f8ee03 4KB
0e8512d51bf9aa144a036c6305dd66c0 6KB
0fc614944e525ec4e9d20d19bf6c3f53 5KB
0fe38ed55fd84d548aadc453d4485300 6KB
1017ef825d041c749bab30bf03aca0d3 4KB
10cc78db8d893ec4b89b7c345d7b40fe 5KB
11f25bddcb4fa2849ab8e795ecb63578 5KB
1240e6ed74b88ff4fa549db17c4a7078 4KB
128255248c91cb141a6d3c07f93ef90c 4KB
12c91ca558f50a14aac6b7157c71d2f4 4KB
12e2218b44bb5d046b63543ecbec9320 4KB
12fd8a0055b84bb59e84c9835a37e333 6KB
1350e83623c005741ad0d1b09834ed62 11KB
13d883c0118351e4890753200e0ac916 8KB
15b0c339304c07141af75b29abfac2cc 6KB
15ba1d7434a3c554d873529ca914f14e 7KB
1609394dd4b2b524b9bc218ecb053679 4KB
169d15588dbd2704b827c111916f5be1 8KB
17173c08a15a85a4ca42fe8d17e9c94f 4KB
17aa48f2d64d22c4d8a6c63e08a13cd4 7KB
17b35d8a8e5e92d4ebcf1933bf853497 41KB
182f095ff0116ff46ac2a23cb3587999 6KB
184d6e9ce2d89844489583805253eb83 4KB
185fe78bcbc5dd54386f1bdd51c449b5 4KB
19bbf18da0424824c80f866d003d3c2d 5KB
19ec9c1a514c2f146ace8bcd1e085159 4KB
19fe6525d557689439c0225dda308086 10KB
1a454c1fc56751649ab5a76175b205af 5KB
1a7918d6f0f76154c987b014399c7e1b 6KB
1bb8b242cb424e04fac273bdb43b2506 7KB
1bd28f662c870fd4a9b7ce081e2d7404 5KB
1c655338633f4544180b3d90a593ac17 26KB
1c6d1fbb51834b64847b1b73a75bfc77 7KB
1c78697a7c77f7a49873eb4602b26988 41KB
1e1644ee9122f0947bb1a04f2da54d79 4KB
1e18cc5955663234eac0b82dbb83df95 5KB
1e88060f4d26b9a4ab59680417dc003c 4KB
1ef5f7f70af31a94086ff3d7f0a1719f 5KB
1f494bd132b39f443afdf5e8ecf1edd2 4KB
2023971f1b5b1804487cddbd72a9fd8c 6KB
2025d691196b79c439c9dc12d7544d6a 4KB
20553dcf305b52a4e84f5e4f56e5afdc 27KB
211e5aef0e9eeb041a346fb500524e57 15KB
2149d2c0c0e35f64b8c902c21f099b43 6KB
21534efce7a96fa4fb4f37f1778223f1 5KB
21eff446d50eaf44a85985cd4c0b6fa1 5KB
21fa6729dce79604cb2e68a4e4975f31 5KB
22dda78a92991994dadc2c3dcbe0fb86 27KB
共 4318 条
- 1
- 2
- 3
- 4
- 5
- 6
- 44
Annora-W
- 粉丝: 45
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
前往页