Tracker Glasses and Stereo Render problem

0 votes
asked Mar 7, 2017 by xxwil (12 points)

Problems description:

In my recent project, I wanted to realize the 3D UI effects similar to zSpace Experience.

After exploring zSpace Experience, I supposed that the UI elements could possibly be 3D game objects(instead of Unity UI elements) fixed on the virtual desktop.


When I used the tracker glasses in zSpace Experience, no matter how I moved my head, the scene won’t change significantly, and the UI elements would stay in the fixed position.

However, when I tried in my own project, the position and rotation of tracker glasses would change significantly, as well as the scene. Therefore I can’t realize the similar 3D UI effects.


So anyone could help me on this? Or could you please provide a sample scene developed in Unity similar to zSpace Experience?

My Developing environment:

Unity version: 5.3.7f1

zSpace model: z300

zSpace SDK: zCore Untiy Plugin4.0.0

1 Answer

0 votes
answered Jul 4, 2017 by AlexShorey (194 points)
Hi wwxil,

I think I get your drift here. When the glasses move parallel to the screen, the objects you want to stay stuck to the screen slide across it instead. The best advice I can give is to find the zcore prefab and hit the debug checkboxes for "show viewport" and "show display." These will show where your 3D window and full display, respectively, are oriented in 3d space. This is also described as the zero parallax. When your glasses move, the view frustums of your cameras pivot at this plane to give you that characteristic fishbowl effect. So if you place the objects you want to say put, to intersect these planes, the object will appear to only pivot, rather than slide around.

I'd also recommend taking a look at the zSpace Unity3D Programming Guide PDF starting at page 19. There is more information there about accessible properties of these planes that may be of further assistance.
commented Nov 12, 2017 by silyosin (10 points)
I do what as you say,but it doesn't work at all.My unity version is 2017.1.1f1,zspace SDK : zCore 5.0.0.I wanna if you give me a hand,thanks~~!!
commented Nov 13, 2017 by AlexShorey (194 points)
Hi Silyosin, I'd be happy to help! Can you put together a quick scene demonstrating how you're situating the 3D UI elements? This would help me understand your particular situation.
commented Nov 13, 2017 by silyosin (10 points)
Hi,AlesShorey ,this is the demo scene .  (    I make canvas's transform equal to the zspace viewport's transform in LateUpdate ,and it works.However,my friend told me that code is not necessary,he said I can deal with the problem by placing canvas intersect these planes.And I dont know what to do.Also,though the ui seems right know,I cant click it by toggle the mouse emulation.
Forgive my poor English ,thanks ~
commented Nov 15, 2017 by AlexShorey (194 points)
edited Nov 16, 2017 by AlexShorey
Hi Silyosin, Here is a link to an example of how to implement a world-space UI that works with mouse clicks.

The problem you're having is that the "MainCamera" is being used to raycast and judge what UI elements your mouse is intersecting, which won't work. What you'll have to do is create an extra camera that matches the camera position and frustum being generated by zcore. Note that in the example, the canvas' Event Camera property needs to reference this new camera.