unity+openxr VR/AR 双眼渲染不同的画面
纯unity新手,写点目前发现的vr怎么双眼渲染不同画面,目前用的环境是PICO VR以及unity2021,先说结论,2020 年或 2021 年开始unity不支持每只眼睛一个相机,所以目前最好的解决办法还是通过着色器对每只眼睛进行不同的渲染,至于是写代码还是用unity的shader graph就是个人爱好了,建议的就还是shader graph了。
一、XR的渲染机制
感兴趣的可以先了解下VR渲染之Stereo Rendering解析
主要了解下Multi View 和Multi Pass就可以,因为PICO目前主要默认渲染方式是Multi Pass,但是双眼渲染不同的需要Multi View。
就是更改unity->edit->project settings->XR Plug-in Management->PICO->Stereo Rendering Mode->Multi View
二、双眼不同渲染
先贴下参考的unity官方论坛讨论双眼不同渲染的链接:
如何使用 OpenXR 使 Oculus Quest 2 的左右眼显示不同的内容?
根据立体眼指数渲染不同的颜色
主要就是说unity现在已经不支持多相机不同眼睛渲染不同画面,但是着色器有提供一个unity_StereoEyeIndex 结点可以判断当前渲染的时候左眼还是右眼,所以可以通过着色器来更根据当前眼睛使用不同的渲染方式达到左右眼渲染不同。
我目前主要也就是按论坛说的使用shader graph获取EyeIndex完成双眼不同渲染,所以贴下shader graph的使用方法,免得再找。
Shader Graph入门
Unity ShaderGraph使用教程与各种特效案例