在用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来做开发,配置就会有点不同
可自行研究哈~有需要的评论区踢踢我