SteamVR Developer Hardware

SteamVR Developer Hardware

Unity: Switching between scenes without going to white room
Hello,

I am trying to make a loading scene that is used instead of the white default room.

I tried using a buffer scene that only has a CameraRig in it. This loads fine with no need for white room. Then when I call LoadLevel/LoadLevelAdditive to load the next scene and the scene goes to the white room then loads the wanted scene.

Although the above technique lowers the amount of time the player is in the white room I am unable to avoid it all together.

Can we change the white room to a pre-built "load scene"?

or

Choose to go to black instead of the white room?

Thanks!
< >
16-30 / 69 のコメントを表示
aaron.leiby  [開発者] 2015年9月15日 11時15分 
New Unity plugin is live now fyi. I included a SteamVR_Skybox component to make this easy to set up. The easiest way to preview is to click one of the menu items in the Unity Editor, or drag the window. This will cause Unity to stop rendering the scene and drop you back to the compositor where you should see your skybox.
I tried the skybox, but have not been able to get it to display.

Here is what I did, is there something wrong?

1. Add empty game object (ensure object is enabled)
2. Add SteamVR_Skybox component to game object
3. Add textures to SteamVR_Skybox component
4. Run scene
5. Click a menu item to freeze rendering

When I do the above process, I still get the default compositor. I have also tried to vr.compositor.SetSkyboxOverride(...) manually, with the same result.
I'm having a similar issue with level streaming in UE4. I'm guessing that some loads will stall the rendering thread for a few frames, causing the compositor's white grid to appear.

It sounds like I should use
VRCompositor->FadeToColor(10, 0, 0, 0, 1, false);
to fade to black, then when my load is finished use
VRCompositor->FadeToColor(0, 0, 0, 0, 0, false);
to remove the full screen quad. However, this won't work until the next SteamVR patch. Is that right?

Rather than remove the Fade.View(color), I will likely take the color as a hint, and render a gradient for the horizon based on that value (which will be cheaper than a full on skybox).
I think this would actually be more jarring for our users. The load time is 2 seconds at most, so I really think a solid black transition without the gradient would be best. Could you make the horizon/gradient be an option, rather than forcing it?
I have the same result as sammyh, I cannot get a skybox to show. I tried not running the SteamVR tools in-case they were imposing some kind of hard skybox. I even tried taking out the conditional operators in the script provided. No luck.

Using Unity 5.2.0f3, if that helps.
最近の変更はFigmentVRが行いました; 2015年9月18日 3時16分
aaron.leiby  [開発者] 2015年9月18日 14時51分 
I think this would actually be more jarring for our users. The load time is 2 seconds at most, so I really think a solid black transition without the gradient would be best. Could you make the horizon/gradient be an option, rather than forcing it?

The way I was thinking about it would be to initially fade to the solid color - super useful for doing blink transitions, etc. - but then if the fade was left on for some short period of time (e.g. 2 seconds) start fading to more of a gradient to show a horizon line aligned using IMU data.

aaron.leiby  [開発者] 2015年9月18日 14時55分 
Oh, also.. I tested the skybox functionality again yesterday and it was working fine for me. I had grabbed sky5X from the asset store for testing and was using the skyX51 texture set fwiw.
Hmm, I tried it with that texture pack as well and got nothing again. Is there anything else we've missed? Import settings, perhaps?
最近の変更はFigmentVRが行いました; 2015年9月21日 7時24分
Do you see any problems with the process I outlined above?

sammyh の投稿を引用:
1. Add empty game object (ensure object is enabled)
2. Add SteamVR_Skybox component to game object
3. Add textures to SteamVR_Skybox component
4. Run scene
5. Click a menu item to freeze rendering

It seems very straight forward, but I have not seen the skybox yet? I have tried the skyX51 textures with no success.

I have tried versions 1441831863 and 1442619290 of SteamVR.

Thanks again for your help.


aaron.leiby の投稿を引用:
The way I was thinking about it would be to initially fade to the solid color - super useful for doing blink transitions, etc. - but then if the fade was left on for some short period of time (e.g. 2 seconds) start fading to more of a gradient to show a horizon line aligned using IMU data.

Hmm, that sounds like it could be worth a shot! LMK when you have this functionality available, we'd be happy to test it out and provide feedback.
Is there a way to change the controller model in the compositor? Or tint them?
I've been using the fade-to-black scene transition method without the skybox. The strange thing is that the white room comes up when switching between the first and second levels, but not when switching any levels after that.
I'm sorry this thread has turned in to my compositor request thread, but, is there a way to change the color of the grid lines? We have an all white environment (ok, ok, it's eggshell white) and the light blue lines are hard to see.
aaron.leiby  [開発者] 2015年10月2日 17時20分 
Do you mean the color of the hardbounds? The grid lines are hardcoded, but not blue tinted. The hardbounds are cyan, but we've added a SetColorHint function to adjust them (in the SDK update).
Yea, hardbounds is what I was talking about, sorry.
Cool, we're still on 1.0.2 of the Unity plugin. Is it in .3? Or yet incoming?
zAERAN 2015年10月2日 22時01分 
Hey guys,

From some of the stuff I've been developing lately, I've found that it'll kick you back to the compositor whenever the CPU load is too great (or maybe GPU? Haven't looked into it THAT much), regardless of whether you're loading a scene or not.

My particular white-room scene transition was caused by a water effect I had in the scene that loaded up a sprite sheet and a couple of other assets upon loading a scene. After swapping it out to Unity's water, it now loads perfectly fine.

As another example, I was building something that was originally calling Texture2D.Apply() approx. 400 times per frame., and whenever it was called, I'd be kicked back to compositor. After reducing it down to one call per frame, there were no issues.
最近の変更はzAERANが行いました; 2015年10月2日 22時03分
< >
16-30 / 69 のコメントを表示
ページ毎: 1530 50