VRTK重新激活场景 跳转场景 手柄UI交互功能丢失问题
作者:互联网
项目场景:VR实时跳转场景
提示:这里简述项目相关背景:
使用VRTK插件和SteamVR
Unity2019.4.18
问题描述
提示:这里描述项目中遇到的问题:
在使用VRTK时跳转场景UI交互会消失,手柄功能会丢失。
原因分析:
提示:这里填写问题的分析:
这个叫EventSystem的东西会自动隐藏,所以UI交互功能全部丢失
解决方案:
提示:这里填写该问题的具体解决方案:
新建空物体挂载脚本EventHelper(注:此脚本非VRTK脚本)
public GameObject EventSystem;
public VRTK_UIPointer PointerController;
public VRTK_UIPointer PointerController2;
private VRTK_VRInputModule[] inputModule;
private void Start()
{
StartCoroutine(LateStart(1));
}
private void Update()
{
if (inputModule != null)
{
if (inputModule.Length > 0)
{
inputModule[0].enabled = true;
if (inputModule[0].pointers.Count == 0)
inputModule[0].pointers.Add(PointerController);
if (inputModule.Length > 0)
{
inputModule[0].enabled = true;
if (inputModule[0].pointers.Count == 1)
inputModule[0].pointers.Add(PointerController2);
}
}
else
inputModule = EventSystem.GetComponents<VRTK_VRInputModule>();
}
}
IEnumerator LateStart(float waitTime)
{
yield return new WaitForSeconds(waitTime);
EventSystem.SetActive(true);
EventSystem.GetComponent<EventSystem>().enabled = false;
inputModule = EventSystem.GetComponents<VRTK_VRInputModule>();
}
是的就是这么简单
最后在挂载我们场景中的EventSystem和我们的连个手柄就可以了
标签:VRTK,EventSystem,pointers,inputModule,场景,跳转 来源: https://blog.csdn.net/weixin_42746271/article/details/123630609