Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introducing SpectatorView into MRTK #1867

Closed
danielescudero opened this issue Mar 23, 2018 · 31 comments
Closed

Introducing SpectatorView into MRTK #1867

danielescudero opened this issue Mar 23, 2018 · 31 comments
Labels
Cross Platform Platform - HoloLens - First Gen Issues specific to Microsoft HoloLens

Comments

@danielescudero
Copy link

danielescudero commented Mar 23, 2018

Hi Everyone,
Lighthouse London guys here (part of MCS Mixed Reality Studios). After some initial conversations with @timGerken , @keveleigh and @davidkline-ms we've finished the first version of SpectatorView for the MRToolkit. This new system allows iOS ARKit-enabled devices to witness and record what HoloLens users are experiencing, just like spectator view, but cheaper and faster. SpectatorView takes care of handling multiple sessions, automatic networking, recording and syncing space so phones see where holograms are.

The files are ready to be integrated into MRTK (2017.2.1.3). In order to do so we'd like to understand where in the toolkit this section of work should sit. Currently we have unity component and a native code component, which has a dependency on the OpenCV libraries.

Also, we have had issues building against the toolkit on the mac due to the GLTF component (inside MRTK) not being compatible with Mac. The GLTF component needs to be platform safe, and it's currently the only module inside MRTK that's not.

We'd love to know how to proceed.
Best
Dan Escudero

@StephenHodgson StephenHodgson added Announcement Platform - HoloLens - First Gen Issues specific to Microsoft HoloLens labels Mar 23, 2018
@keveleigh
Copy link
Contributor

Looking forward to seeing this make its way in!

What error do you see with GLTF when building for Mac?

@david-c-kline
Copy link

Just spoke with @danielescudero,

He will be creating an ARCA folder underneath HoloToolkit for their components, scripts and documentation.

The OpenCV dependency will be documented and tested to insure that the lack of OpenCV does not break building the toolkit or any functionality (other than ARCA becoming a noop).

A new issue will be opened re: the GLTF script(s) not being platform safe and will recommend their clients remove it from their ios builds.

An example scene is ready and will be added in the PR :)

@danielescudero
Copy link
Author

@keveleigh All scripts using GLTF causing issues only when building for iOS. For example: Assets/HoloToolkit/Utilities/Scripts/GLTF/Scripts/Cache/MeshCacheData.cs(2,7): error CS0246: The type or namespace name `GLTF' could not be found. Are you missing an assembly reference?

@david-c-kline
Copy link

Updated initial issue comment to match the feature name.

@keveleigh
Copy link
Contributor

@danielescudero If you check the include platforms to include iOS, do you still see that?

image

@david-c-kline david-c-kline changed the title Introducing ARCA into MRTK Introducing SpectatorView into MRTK May 4, 2018
@danielescudero
Copy link
Author

@keveleigh
screen shot 2018-05-04 at 12 51 42 It stopped complaining but now throws this error when iOS is included.
ArgumentException: The Assembly Newtonsoft.Json is referenced by GLTFSerialization ('Assets/HoloToolkit/Utilities/Scripts/GLTF/Plugins/GLTFSerialization/GLTFSerialization.dll'). But the dll is not allowed to be included or could not be found.

@keveleigh
Copy link
Contributor

Does adding the same checkbox on the non-UWP Newtonsoft DLL fix that?

@danielescudero
Copy link
Author

Nope, throws:
TypeLoadException: Could not load type 'GLTF.Math.Matrix4x4' from assembly 'GLTFSerialization, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.
UnityEditor.Build.BuildPipelineInterfaces.InitializeBuildCallbacks (BuildCallbacks findFlags) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildPipelineInterfaces.cs:115)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

Error building Player: TypeLoadException: Could not load type 'GLTF.Math.Matrix4x4' from assembly 'GLTFSerialization, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.

@david-c-kline
Copy link

This was released in the 2017.4.0.0 release candidate

@ilyavitek
Copy link

Trying to build and test an example of Spectator View, hololens is ok, but during iOS building in Unity I've received some errors (1st screenshot), added iOS platform for Newtonsoft.Json.dll (2nd screenshot) and after that, I get some more problems (3rd screenshot). Maybe somebody knows how to fix it?
1
2
3

@timGerken
Copy link
Contributor

timGerken commented Jun 5, 2018

@TobyGilbert-ms @JoseSantano-ms

@ChauNTran
Copy link

@ilyavitek In player settings> other settings, change api compatibility level to from .NET 2.0 subset to .NET 2.0. It solved the same issue for me.

@ilyavitek
Copy link

I have built both of the versions, but problem is after iOS app show code HoloLens not responding. Should example scene show at least something when it is not connected to iPhone app (for me it's only splash screen and then nothing, without errors)?

@danielescudero
Copy link
Author

@ilyavitek is the HoloLens camera light turning on when iPhone displays the code?

@ilyavitek
Copy link

@danielescudero nope. In HoloLens app I can see only splash at the beginning and nothing else (is it ok?). I'm trying to launch a sample scene with spectator view.

@danielescudero
Copy link
Author

danielescudero commented Nov 15, 2018 via email

@danielescudero
Copy link
Author

@ilyavitek What version of MRTK are you using? If you run the app from the Unity Editor, do your holograms appear? This thread solves the same issue. Look towards the end of the thread: #2438

@ilyavitek
Copy link

@danielescudero
MRTK Version: 2017.4.2.0
In Unity Editor when app switched for HoloLens build and I press play everything seems ok.
Thank you for link to thread.

@ilyavitek
Copy link

ilyavitek commented Nov 16, 2018

@danielescudero
It seems that my problem was that I was thinking that plugin is already in the project. But I need to build it. Now I'm struggling with building plugin. It failed at the "Install OpenCV Contrib for UWP" step :(
microsoft/vcpkg#4745

@CMLeshiba
Copy link

image

I am struggling to build IOS spectator view

@ghost
Copy link

ghost commented Dec 10, 2018

Hello @CMLeshiba
The GLTF stuff isn't compatible with iOS at the moment, you can just remove it when building for it. You can find more information Here

Thanks
Jose

@CMLeshiba
Copy link

@JoseSantano-ms

How do I disable it?

@ghost
Copy link

ghost commented Dec 11, 2018

@CMLeshiba Personally, I tend to just move it outside the Assets folder whenever I build for iOS.

@CMLeshiba
Copy link

@JoseSantano-ms thanks for prompt response. Let's say I am starting a new project, what is required for me to import into this project. I may sound like I am asking stupid questions but I am new to this hololens and unity thing.

@ghost
Copy link

ghost commented Dec 11, 2018

Hi @CMLeshiba I recommend you have a look here and then ask any questions you may have. That is to set up Spectator View in an existing HoloLens project.

@CMLeshiba
Copy link

@JoseSantano-ms I have been looking at that but what confuses me is that:

  1. Unity ARKit Plugin does not exist anymore.
  2. The prefabs, do I get them from MixedRealityToolkit-Unity? if so does it mean I should bring MixedRealityToolkit-Unity into my project?

@CMLeshiba
Copy link

image

So this the error that I am coming across: multiple plugins with the same name "sharingclient".
@JoseSantano-ms how do I go about this?

@ghost
Copy link

ghost commented Dec 11, 2018

Hi @CMLeshiba
That sounds like both dll are being set to be used in the Editor. if you select a dll you should see something like this in the inspector.
image

I assume that both dll have Editor selected and only one of then should.

@CMLeshiba
Copy link

Thanks @JoseSantano-ms so which one should be use in editor?

@ghost
Copy link

ghost commented Dec 11, 2018

I tend to go with the x64 unless it doesn't work for you. You could try the same!

@CMLeshiba
Copy link

@JoseSantano-ms When I deploy my app on the hololens I cannot see the holograms except for unity splash screen. Am I missing anything?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Cross Platform Platform - HoloLens - First Gen Issues specific to Microsoft HoloLens
Projects
None yet
Development

No branches or pull requests

8 participants