簡體   English   中英

無縫異步場景和紋理加載 - Unity&GearVR

[英]Seamless async scene and textures loading - Unity & GearVR

我在使用三星S6的GearVR上的Unity(5.3.4p1)遇到兩個主要問題:

1)異步場景加載。 是否有任何變化我可以在背景中加載新場景而不會看到小的凍結? 場景有~60k三角形,使用了幾個4k紋理和~10個其他2k紋理。 當這個場景加載時,有多個短暫的凍結。 我知道我可以通過淡出黑色然后開始加載級別來避免這種情況。 但是需要大約10秒鍾,用戶可能會因為看到黑色屏幕而長時間使用VR耳機而感到困惑。

2)使用WWW類下載的圖像創建紋理。 我在另一個場景中使用360 4k圖像顯示在圓頂上。 當我嘗試在運行時下載紋理(4k,PNG或JPG)時,它是異步完成的。 但是當我使用時,Unity會凍結2-3秒:

Texture2D myTexture = www.texture;

除了使用下載的字節並在背景上使用非Unity算法解壓縮JPG或PNG然后將創建的rgb值加載到新紋理之外,有沒有其他選項可以避免這種情況嗎? 在Flickr VR應用程序中可以看到平滑紋理加載的好例子,但我懷疑他們使用Unity來創建這個應用程序。

這兩個問題也出現在Oculus Rift上,但由於PC性能要好得多,因此不太明顯。

通常,我希望使用Unity在Gear VR中實現平滑的加載體驗。 這有點可能嗎?

這個問題本應作為兩個單獨的問題發布,但仍然是:

AD 1:添加一個小的預加載器場景,將其呈現給用戶並加載主場景。 時間扭曲應該仍然有效,因此可以看到頭部方向的變化。

AD 2:Android設備無法呈現jpeg或png。 他們必須將它們解壓縮到非常大的未壓縮紋理,再次加載到內存然后才渲染。 這需要大量的ram和時間。

你可以做的是擁有原生DXT或ETC格式的紋理,並自己將它們加載為紋理。 我有同樣的問題,這加快了我的紋理加載幾乎10倍。 他們也使用更少的內存。

請注意,下載大小會更大,並且根據紋理格式,您可能必須為不同平台提供不同的文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM