PicoVR主要功能使用

场景切换渐变效果

眼球追踪

Pico Neo2 Eye设备支持眼球追踪, 眼球追踪可以追踪眼球注视位置,配合注视点渲染可以优化渲染性能。眼球追踪功能的开关在Pvr_UnitySDK中Head下,勾选Eye Tracking即可,如图:

8.7 注视点渲染

注视点渲染(Foveation Rendering)可以优化VR场景的渲染,该技术通过为视野中心提供全分辨率(无损),降低周边视野(人眼焦点区域之外)分辨率的方式来达到优化渲染的目的。

静态注视点渲染(FFR)是指将视野焦点固定在视口中心位置,实现从中心向周围逐渐降低清晰度的效果。开启和配置“Foveated Rendering”选项如下图8.10所示。

动态注视点渲染(DFR)是指视野焦点会随着视线移动,除了开启和配置“Foveated Rendering”选项,还需配合Pico Neo2 Eye(支持EyeTracking的设备)实现,配置详见8.6。注视点渲染相关的属性设置在Pvr_UnitySDK中Head下, 如下图:

勾选Foveated Rendering后,会出现Foveation Level子选项,选择一个Level选项即可实现注视点渲染功能,无需开发者额外的编码。

VR Compositor Layers

VR Compositor Layers“技术对于显示”旨在作为场景焦点”的信息、文本、视频以及纹理非常有用,

相关的属性设置:

  • Overlay Type: 设置覆盖层类型,默认为Overlay。
    • Overlay:纹理将呈现在“eye buffer”前面;
    • Underlay:纹理将呈现在“eye buffer”后面;
      • Underlay类型依赖于渲染目标上的alpha通道,在场景中所有对象绘制到“eye buffer”后,开发者需要在“eye buffer”上抠一个洞,使Underlay纹理透过这个“洞”显示出来。开发者可以使用shader(PicoMobileSDKPvr_UnitySDKResourcesMaterials),也可以根据应用需求编写shader来实现。
    • Layer Index:设置索引值,将用于覆盖层合成顺序(数值越小,优先合成),
      • [Camera](Overlay)2/1/0[EyeBuffer]0/1/2(Underlay)。
    • Overlay Shape:设置覆盖层形状,默认为Quad。
      • Quad:具有四个顶点的平面纹理,通常用来显示场景中的文本或信息纹理;
      • Cylinder:具有柱面弧度的纹理,通常用于显示曲面UI界面;
        • Transform中心将作为Cylinder的中心,scale将作为Cylinder的尺寸:[scale.z] 作为Cylinder半径,[scale.y]作为Cylinder高,[scale.z]作为Cylinder的弧长。
        • 使用柱面纹理,必须将您的Camera放置在圆柱内切球内,如果Camera接近内切球表面,Overlay将会不显示。
      • Equirect:球体纹理,通常用于显示360/180视频播放;
    • ExternalSurface:选中此项表示该层将从外部Android Surface直接获取纹理(例如:Android播放器视频纹理)。
      • 该功能将创建一个Android Surface并由SDK负责管理,并将Android Surface Texture直接渲染到Compositor Layer上(开发者如果需要提高VR视频播放的清晰度,建议开启ExternalSurface,即使用Android播放器插件将视频纹理直接提供给Compositor Layer进行合成)。
    • Textures:指定左右眼的纹理资源。
      • Left Texture:显示在左眼的纹理;
      • Right Texture:显示在右眼的纹理;
    • Override Color Scale:手动设置该图层的颜色比例和偏移量。
      • Color Scale:此图层颜色值的缩放倍数;
      • Color Offset:此图层颜色值的偏移量;

问:在Pico设备中如何实现退出功能?

答: 开发者可以自己实现相应功能或者在SDK的AssetsPicoVRSDKScripts目录下,找到QuitGame.cs脚本,将其拖动到PicoVR的GameObject的上,在运行时按返回键即可退出, 注意此种方式, 开发者需要自己释放游戏或应用动态加载的资源.

. 问:手柄拖拽功能怎么设置?

答: 可以参看PicoMobileSDK/Pvr_Controller/Scenes下的Pvr_Controller_UI场景。

 

按钮的点击 条件:canva上挂载 UICanvas组件  按钮上挂载Collider

 

傻逼的是 这个组件 会自动把Graphic Raycast 禁用 然后再创建一个。

创建这个又不起识别ui的作用。所以必须挂载Btn Collider才能解决。

 

 

射线进入 拖拽物体 首先 物体必须是Water层 。又是一个傻逼操作。一般都在物体上挂Mono脚本来判断 是否是可交互物品,这官方demo直接在raycast时候 识别layermask了。

 

2.挂载 Pvr_ControllerDemo 

正常材质

拖拽时候的材质

点击时候的材质

 

 

 

 

 

 

拖拽uiItem的组件:在要拖拽的物体上挂载Pvr_UIDraggableItemCanvasGroup

Canvas上挂载UICanvas

UI不允许拖拽出 原来的Canvas   勾选

 

ui指定只允许 拖动到目标位置:

Condition1:设置目标位置 在目标对象上挂载Gri Layerout组件 设置Size

并且挂载DropZone组件

Condition2:全部勾选 主要勾选 DropZone

 

作者:Miracle
来源:麦瑞克博客
链接:https://www.unitymake.com/archives/unity/unity_technologyshare/920
本博客所有文章除特别声明外,均采用CC BY-NC-SA 4.0许可协议,转载请注明!
THE END
分享
打赏
海报
PicoVR主要功能使用
场景切换渐变效果 眼球追踪 Pico Neo2 Eye设备支持眼球追踪, 眼球追踪可以追踪眼球注视位置,配合注视点渲染可以优化渲染性能。眼球追踪功能的开关在Pvr_……
<<上一篇
下一篇>>
文章目录
关闭
目 录