5

1594 views
Hello, I did another implementation of interlaced 3D, but this one does not require UnityPro to work.

I did some tests and it appeared faster that the render texture implementation (on the device, on PC the render texture is faster), but it could be a dodgy fps counter so I strongly advice you to test it.

As the freevi guys are all in it for collaboration with the community I created a git repo here:
https://github.com/grigtod/Interlaced3DUnityFree
An apk of the demo scene can be found here: https://drive.google.com/file/d/0B2bMrAy-mFHIY29GaVBSVkNVU1k/view?usp=sharing

Don't forget to add the sdeck plugin to the Plugins/Android folder.
To open the scene you will need Unity 4.6 or later because I used the new gui, but the interlacing implementation can work on older versions as well.

It still has some problems:
- The cameras are not set up properly so the overall quality is not the best.
- I also suspect that it could be optimized a lot. This uses my second shader ever so I just can't wait to see some shader guru use texture (instead of geometry) to mask the environment.
- If you reduce the near clipping plane camera distance you might come across some floating point issues.
- You should keep the camera position and rotation centred to the world when you start your app. Once the masking geometry is generated you can rotate and move it around as normal.

If you have a problem using this you can message me on twitter: @grigtod
 
Edited Jan 16, 2015 01:43 PM
edit
Asked January 16, 2015 10:03 AM

 

2 Answers

0
Best answer
 
I just pushed a small change that boosts performance even more (on a device and on pc). 
The following results are taken from the editor ( Unity3D built in fps counter) and seem quite promising. The demo scene from the repo was used:
- Original (first) version: 82-83fps
- New version when "Combine filter geometry" is checked for both cameras: 220fps.

This small change even made Zen Build playable on a device. 
From 2-3 fps it got to ~20fps :)

All I did was combine all the quads into meshes (one for each eye). 

I'm fairly convinced that this implementation beats the render texture performance from the original implementation from INS3D.

Warning:
Both the eye cameras and the "InterlacedCam" should start in the centre of the world. You can move and rotate them after the geometry is created!!!
Edited Feb 3, 2015 06:31 PM
spelling
answered February 3, 2015 06:05 PM
0
 
So I did some tinkering and may have improved on your solution Grigor.
- You don't have to have the camera in the center of the world now.
- Added side by side for the 3D TVs/monitors. 
- Improved accuracy for size and position of the quads

Here is the link of the package:
https://drive.google.com/open?id=0B3RYTaIykiaqYXdPbnRLUzlPb28&authuser=0

Hope this helps!
answered March 27, 2015 11:18 AM
I noticed though that if you imported the package in 4.6 and then upgrade to Unity 5 you can use the one that Freevi provides. Unity 5 does NOT require you pay extra to export to Android. The only features pro has now are features big-box companies will want ie: customized splash screens. Unity 5 is also better on optimization for graphics...
Mar 27, 2015 11:39 AM
@Robbyn
By all means test both the render texture and the blocking geometry versions from Eric. You might be surprised that in some cases the render texture alternative runs slower. I want to thank Eric James for his work!
Apr 8, 2015 09:01 AM

Your answer


Preview

Alert