No picture from virtualizer appears in webpage of port 8081

I have followed the tutorial and set up the edge server and unity scene. but when I finally opened the page localhost:8081, there is no scenes, no tools shown when I click the pocket button.

from the top left of page localhost8081, a virtualizer with my ip address can be selected and a world origin can be selected.

!

Hi @Hugo01 – thanks for including the screenshots and information.

You might need to have an activated world object for the scene to work and for tools to appear in the pocket. In order to activate your world object that I see you have on your localhost:8080 interface, you’ll need to click Add Target and drag a .jpg file onto it. Let me know if the tools appear in the localhost:8081 pocket after you do this and restart the server. If so, I’ll update the documentation in the readme file.

Next, to make sure that the unity scene appears in the localhost:8081 application, make sure to also configure your Primary Virtualizer in its settings menu:

The Remote Operator background will be blank until you connect to an Virtualizer. It will attempt to discover the possible Virtualizers in this network. Make sure your Unity project is running. Click on the drop-down menu in the top left to select a Virtualizer to connect to. Once connected, this Virtualizer must be designated as the “Primary Virtualizer”. Go into the Settings menu (click the gear icon) and type in the IP address of the computer running the Unity project into the “Primary Virtualizer IP” field (e.g. 192.168.0.12 ) and toggle this mode on. You should now see the video stream in the background.

Judging from your screenshots, you’ll need to type in 10.233.81.132 into this setting.

Let me know how it goes and I’ll provide more support as needed!

Hi @Ben Thank you for your detailed explanation. After adding a .jpg file to an world object I created. I still got nothing shown in the localhost:8081 pocket.

!

Hi @ben, one good thing is that I can see unity scene in the background after adding the ip address to primary virtualizer.

Hi @Hugo01, glad to hear that at least one of the two problems is fixed!

I’m trying to think what might be causing the tools not to load in properly. I just went through and tested my system with a similar setup, and indeed the pocket was empty when I didn’t have an active world object, but it shows all the tools when I activated my world object. Here’s a video recording of how I ran my system:

(you might see some small differences because I have a few extra add-ons that I’ve been developing, but other than that it should be the same)

Hi @ben Thank you for your help. I have got this issue fixed. The reason is that the folder “vuforia-spatial-core-addon” under “addons” in the edge server is empty. I didn’t notice this because there is no lines say I need to download it myself. After I download it and copy it to the folder, it works now. Thanks.

Now I have a new problem is that I cannot make it work on my iphone6s. the toolbox app cann’t switch to the scene of the virtualizer.

Do you have some documents to introduce the virtualizer? how to understand the virtualizer and what’s the user scenario of the virtualizer.

Thanks for pointing out that issue with the documentation about the empty vuforia-spatial-core-addon folder. I can update the documentation to make that clearer!

Currently, the Virtualizer and Remote Operator (what you’re seeing on localhost:8081) are meant to be run on your desktop/laptop, while your iPhone should run the Vuforia Spatial Toolbox iOS app. If you run that app on your iPhone in the same wifi network as your Edge Server and Virtualizer, and you point your phone at the image target you added to your world object, the phone and the remote operator will be viewing the same AR/VR scene. So if you add some tools to the world using the phone, you will see them pop up in the Remote Operator (localhost:8081). If you add some tools using the Remote Operator, you will see them pop up in your phone’s AR scene. The remote operator allows someone who is anywhere in the world to open up a web browser and collaborate with someone who is doing some tasks in AR.

You’re probably seeing a 3D model of an office space in your Unity project, but ideally you should swap that out with a 3D model of your own environment (you can make one using a Matterport camera or similar, or possibly with some mobile apps nowadays). If you connect 1-6 Microsoft Azure Kinect cameras to the Virtualizer, in addition to seeing your static 3D model of your space you will see a live-updating 3D “video” of everything happening in the space. This helps a lot with collaborating, because you can see your on-location collaborators walking around the space!

To make sure it all works with your 3D model, make sure that the 3D model in Unity is positioned so that the physical location of your world object’s image target is at your Unity scene’s (0,0,0) position. (In the demo example, this is a pattern spray-painted onto the floor). This will synchronize the coordinate systems of the Remote Operator and the Vuforia Spatial Toolbox iOS app. That means if you add a tool to a certain location in your room on the Remote Operator, you will see it in that same spot in AR using the Spatial Toolbox app.

The net result will be an experience like in this video, but customized for your own space instead of this office:

@valentin or @jhobin are there any other documents introducing what the virtualizer is and what user scenarios it is useful for?

Hi @Ben, thank you for your detailed replies. I tried to attach an arbitary image(.jpeg) to the world object. and then point my iphone running the Vuforia Spatial Toolbox iOS app to the image. But there was still no scene change happend. and I also tried to specify the interface URL in the menu of Develop still no changes happened. Are there any requirment for the jpeg image associated with the world object?

You can try downloading this target image, which is one of the sample images provided by the Vuforia SDK:

You might want to delete your current world object and try creating a new one, in case it somehow got corrupted.

If that still doesn’t work, and you’re comfortable with Chrome developer tools (or your browser’s equivalent), I would suggest the following way to help me debug what’s happening. Open the developer tools and go to the “Console” tab.

Scroll through the messages and let me know if you see all of the following lines (not necessarily together) or which of them you don’t see. Lines that I marked with a (*) might be slightly different (IP address or object name can differ):

  • Default environment initialized
  • actually initializing realtime services
  • get all possible frames and assemble pocket out of all of them
  • created [realityServers] socket to IP: http://10.233.81.132:8080 (*)
  • object discovered: _WORLD_test_5c10wgwiohi (desktop) (*)
  • availableFrames discovered server: 10.233.81.132 (*)
  • closest object changed from null to _WORLD_test_5c10wgwiohi (*)
  • building pocket scrollbar with 3 chapters (*)

Lastly, type in the term objects into the console and hit return to evaluate it, and see if the result is {} or something non-empty (e.g. {_WORLD_test: {...}}. Then on a separate line type in the term realityEditor.gui.ar.draw.visibleObjects and see if it is {} or something non-empty. This will give me a great picture of what’s going on in the system!

Hi @Ben, I downloaded the picture and recreated a world object with this picture as the image target. but still not able to see the unity scene from my iphone iOS app.
Below are the debugging messages I got following your instructions.
Yes I can see all the lines you mentioned.
And if I type in objects into the console, it shows {_WORLD_test_z3d3a8aj1lp: {…}}.
And then I type in realityEditor.gui.ar.draw.visibleObjects, it displayed {_WORLD_test_z3d3a8aj1lp: Array(16)}

One thing which may be useful is that after I use my iphone point at the picture, I found the _World_test object button in the Found Objects Menu changed to green state from gray.

Ok, I think I misunderstood your previous question. Glad to hear that all the system logs look good and everything is working on the desktop remote operator interface! I believe you are seeing the correct/intended behavior in your app. We currently don’t have a way to see the Unity scene from the iPhone app, just from the desktop version. If you point your iPhone at the image target you associated with your world object, and you add some AR tools from the pocket menu, you should see them pop up in the desktop version too.

Hi Ben, thanks for this clarification. I have wo more questions. The readme of virtualizer says “Clicking the run button should pop up with uncalibrated cameras. To get an initial calibration click the Autocalibrate button then manually refine the camera positions if desired.”, but actually, I didn’t see this pop and there is no way for me to do autocalibrate.
The other question is that Can I access the remote operator interface from another computer in the same wifi network? I tried to open the webpage from another computer with ip address + port 8081. but it seems doesn’t work.

I’m not sure about the auto-calibration but I think @jhobin would be able to answer that part.

I’ve tested accessing the remote operator interface from another computer in the same wifi network and it works for me. Possible issues could be whether the IP address is correct or if your network settings is blocking this connection for some reason.

Oh sorry, that’s a bit of a mis-phrasing from me. There’s no popup window. The autocalibrate button is one of the properties of the ak_autocalibration scene object

Hi @Ben and @jhobin, thanks for resolving my questions.