如图一,使用第三人称视角并且手持部分武器(主要是近战)时,手电筒可能会部分照到角色头部甚至是被角色模型遮挡导致手电筒完全不亮(图里已经设置了 cl_max_shadow_renderable_dist 0 所以不会被遮挡,但仍然会照到角色模型)。查阅valve文档有设置手电筒位置的convar,但更改convars没有任何作用。经过测试发现这些convar受制于另外两个convar, r_flashlight_attach_to_viewmodel 0 和 r_flashlight_topdown 0 ,这两个convar必须都设为0,手电筒位置的convar才能生效。
总结修复该问题的convar如下
// 修复第三人称手电筒被角色模型挡住
sm_cvar cl_max_shadow_renderable_dist 0
// 必须设为0否则 r_flashlightoffsetforward 无效
sm_cvar r_flashlight_topdown 0
sm_cvar r_flashlight_attach_to_viewmodel 0
// 修复第三人称手电筒会照到角色头部的问题
// 设置为 -50 后移手电筒完全照亮角色模型
// 设置为 25 前移手电筒不再照亮角色模型
sm_cvar r_flashlightoffsetforward -50
如果觉得调整手电筒位置后光照角度不习惯,也可以调整 r_flashlightfov 来更改手电筒光照角度。




总结修复该问题的convar如下
// 修复第三人称手电筒被角色模型挡住
sm_cvar cl_max_shadow_renderable_dist 0
// 必须设为0否则 r_flashlightoffsetforward 无效
sm_cvar r_flashlight_topdown 0
sm_cvar r_flashlight_attach_to_viewmodel 0
// 修复第三人称手电筒会照到角色头部的问题
// 设置为 -50 后移手电筒完全照亮角色模型
// 设置为 25 前移手电筒不再照亮角色模型
sm_cvar r_flashlightoffsetforward -50
如果觉得调整手电筒位置后光照角度不习惯,也可以调整 r_flashlightfov 来更改手电筒光照角度。




德蒙










