Nibiru VR Development Other Tools 180º Stereoscopic video playback in Unity

180º Stereoscopic video playback in Unity

Schprlock Post time 2017-9-29 18:42 | Show all posts [Copy URL]
19 3943
Post time 2017-9-21 14:37 | Show all posts
Schprlock replied at 2017-9-20 22:10
By the way, a piece of advice...
Fix this forum. When clicking reply nothing happens, there is no fe ...

version type screenshot

version type

version type
Post time 2017-9-22 16:27 | Show all posts
Thanks Oahcfly. And thanks for the explanation of the version number requirement.

So, once again, my version is Nibiru 2.10.001

I knew and tried the <category /> in the manifest, but I didn't know about the <meta-data />. I will try that, hope it works. I will also try the new SDK, I have been using 2.0.5.

Best.
Post time 2017-9-22 21:47 | Show all posts
Oh, you mean that version... Here you go:
device-2017-09-22-144401.jpg

Post time 2017-9-22 23:28 | Show all posts
I would really like to get this to work on Nibiru standalone headsets. When the application is complete we need to buy a few dozens of headsets and anything other than Nibiru is going to be really expensive. But above all, it has to work.

My deadline is in less than two week and I am still trying to make this work. So please tell me one thing: Do you think it is possible to get 3D video combined with 3D elements to work in NibiruVR? I know now that it won't work with the Nibiru SDK, but would it work with the Google VR SDK?

I afford to waste more time trying to fix something to find out that it will never work when I don't have any more time to move to another platform.

If you tell me it's possible, I will keep trying to fix it. But if it is not, please let me know so I can move to another alternative.

By the way, I tried you suggestion of adding the <meta-data> to the manifest with the version and the result is the same: Choppy movement and wrong angles when moving the head (If I rotate my head 360 degrees, the view rotates something closer to 90).

Thanks in advance for your honest reply.
Post time 2017-9-22 23:30 | Show all posts
Edited by Schprlock at 2017-9-23 16:10 \n\n...and in case it helps, here's my manifest.
AndroidManifest.zip (647 Bytes, Downloads: 8)
Post time 2017-9-25 21:08 | Show all posts
I still haven't given up, but I am about to. I have one more question which will make it or break it...

As I said, I have no problem triggering the mediaplayer with NvrViewer.Instance.OpenVideoPlayer(). However, I cannoot find a way for my application to regain control apart from waiting for the video to finish and wait for the user to return from the video player. That completely is not acceptable for my client, and I agree.

I tried to wait a few seconds and NvrViewer.Instance.CloseVideoPlayer() on the Unity side. However, Unity android applications run in an activity, so they pause when another activity is started. "Run in Background" is, of course, not available on Android (and therefore, Nibiru).

Can you help me with this? And more, what is the point of NvrViewer.Instance.CloseVideoPlayer() if it won't run until the control returns from videoplayer? Is it there only to cleanup memory after the user tells the videoplayer to return? That does not make any sense to me, especially given the Android memory management system.

Please share your thoughts on that.

Thanks in advance.

Post time 2017-9-28 14:25 | Show all posts
Schprlock replied at 2017-9-25 21:08
I still haven't given up, but I am about to. I have one more question which will make it or break it ...

If you want to play video, i think you need develop it yourself. NvrViewer.Instance.OpenVideoPlayer() just a auxiliary function for developer. I have explaned it before, when you call OpenVideoPlayer , it will jump to the local player app, you can not control the video player any more, because your app has go to background. CloseVideoPlayer also not effect ,because your app can not call it when in background.

3D video combined with 3D elements to work in NibiruVR :
i think the difficulty is that you need develop a video player in unity . like easymovietexture plugin.
Post time 2017-9-28 17:21 | Show all posts
Dear oahcfly,

Thanks for your reply. But if you read my posts, what you explained before had already been explained by me on my questions. So it does not help.

My last question was exactly about how to use CloseVideoPlayer() when my application is inactive. Or in other words, why does CloseVideoPlayer() exist if it cannot be used?

The difficulty is not about developing a video player in Unity. Unity 2017 (and before) have a video player which works. And I do own easymovietexture, so that would also be no problem.

The problem is that your SDK only gives the developer control over one camera. Yes, that is the way to do it, but we need more tools. I have a stereoscopic 3D video, which I can use in TOP_BOTTOM or LEFT_RIGHT configurations. I just have to make sure that half of the frame goes to the left eye, while the other half goes to the right eye. The video player IS working. What I need is a shader that shows half of the video in each eye, as Google VR does.

There is no documentation on that. I don't have time to analyse your SDK and develop a shader. Shaders are also not my area. Documentation for 2.0.6 is Chinese only. I translated it and I see no differences from 2.0.5.

That is a major flaw in Nibiru which I really think you should address ASAP. So take my posts as a request for help, but also as I suggestion for improving the SDK with a feature that should really be there from the beginning.
Post time 2017-9-29 11:28 | Show all posts
Schprlock replied at 2017-9-28 17:21
Dear oahcfly,

Thanks for your reply. But if you read my posts, what you explained before had alread ...

if you use android service, you   can  call CloseVideoPlayer()  in backgound, it can be used .

how to make your  stereoscopic 3D video run normaly, it is your work, our sdk not support the feature.  about the shader we also not supply it .  our sdk just foucus on the render part.
Post time 2017-9-29 18:42 | Show all posts
Hi,

Thanks again for your reply. Not ideal, but at least it gives me closure.

I'll just leave you with a piece of advice, feel free to decide if you will or not act on it.

Content defines the life or death of digital systems. We've seen that on countless computers and consoles. One of the main reasons why a new platform gets content is the quality of its development tools.
I would say that about 50% of mobile VR apps are based on video. Oculus knows that, Samsung knows that, Google knows that. That is why the started by providing developers with 2 separate cameras (not good for performance but very versatile for the programmer), and then they rewrote what you have not written even once when they moved to a single addressable camera object, but with the proper tools to get around the limitations.

If you think that is not your responsability, a lot is already being said about the future of Nibiru. Yes, I could write a shader if I had the technical information, which I don't. Even if I had, it would take me a long time. And the same for each developer with the same needs. Because you think it is not your responsability to do it once. And you have the technical competences and information.

I love Chinese products. They are getting better all the time. The software is always the week point. Hisense, Xiaomi, ZTE, they all know how important it is to have a proper "complete package", and doing it well has meant that they have been rising in volume and awareness all the time. I own a lot of their products and want to keep with them. Because they don't say it is my responsability to write the low(ish) level software to make it work.

JUst my two cents. I hope you rethink your strategy. It won't help me when you do, but i


Best of luck.


12
Return to forum
You have to log in before you can reply Login | Register

Points Rules

!fastreply! Top !return_list!