SteamVR在HDRP或URP中手柄控制器材质如何显示正常?

在这里插入图片描述

在用Unity的HDRP或URP渲染管线时,当配置好了SteamVR手柄控制器后,会发现手柄显示不正常,材质丢失,呈现洋红色
通常情况下,对于使用Standard Shader的材质,当使用HDRP\URP的时候,只需要下面操作转换一下材质就好:
在这里插入图片描述

但是!但是!会发现SteamVR的手柄控制器材质依旧丢失哦~
接下来就是正确的配置方法:


URP渲染管线下:

配置前:在这里插入图片描述
 
操作步骤:

1.在Hierarchy窗口下的游戏对象【CameraRig】下选中Model
在这里插入图片描述

2.在Inspector窗口下,SteamVR_RenderModel组件下的Shader属性,目前是Standard Shader。只需要更换当前Shader即可
在这里插入图片描述
3. 在Project窗口的Packages栏中,在路径Universal RP/Shaders下,找到Lit Shader,将其拖入到SteamVR_RenderModel组件的Shader栏中即可
在这里插入图片描述

运行程序后可看到配置成功:
在这里插入图片描述


HDRP渲染管线下:

配置前:在这里插入图片描述

 
操作步骤:

1.在Hierarchy窗口下的游戏对象【CameraRig】下选中Model
在这里插入图片描述
2.在Inspector窗口下,SteamVR_RenderModel组件下的Shader属性,目前是Standard Shader。只需要更换当前Shader即可
在这里插入图片描述
3.在Project窗口的Packages栏中,在路径High Definition RP/ Runtime/ Material/ Lit下,找到Lit Shader ,将其拖入到SteamVR_RenderModel组件的Shader栏中即可
在这里插入图片描述

运行程序后可看到:
在这里插入图片描述
会发现材质是有了,但是手柄变成了白色,若想使用黑色,只需要修改颜色就好

方法一:
运行时,你会发现在Model下生成了多个组件,这些都是由手柄控制器动态生成的。选中其中一个(如:body)
在这里插入图片描述
修改它的材质球颜色为黑色,会发现整个手柄控制器也会变成了黑色,这是因为它们都是共用同一个材质球
在这里插入图片描述
方法二:
为了更方便获取Model的材质球,可在SteamVR_RenderModel组件下取消勾选CreateComponents属性,在程序运行后就不会生成分解成单独的组件,获取Model上的材质球进行修改
在这里插入图片描述
在这里插入图片描述
方法三:可以在SteamVR_RenderModel脚本里,找到在赋值手柄Model材质的地方进行修改,这里就不详细说了

 
看一下效果:
在这里插入图片描述

这里由于背景是雪地,不打算改为黑色了,白色挺符合背景。


以上是使用CameraRig时的配置方法,若使用Interaction System来做开发,配置就会有点不同
可自行研究哈~有需要的评论区踢踢我

猜你喜欢

转载自blog.csdn.net/qq_33795300/article/details/116770689