首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Unity上使用Windows混合现实工具包中的凝视来切换场景?

如何在Unity上使用Windows混合现实工具包中的凝视来切换场景?
EN

Stack Overflow用户
提问于 2018-02-06 06:46:56
回答 1查看 504关注 0票数 1

使用Windows HoloToolKit和Unity 2017,我设置了“菜单”场景和“巡视”场景。我只是被卡住了,试图进行基于凝视的交互,这将从菜单推进到浏览。

我觉得这不是太难,但我正在旋转我的轮子(我是Unity的初学者)。我基本上希望有一个3D立方体,上面写着“看这里”,这会触发下一个场景。

我只需要一个非常简单的用户体验,这样人们就可以戴上耳机,知道要做什么,观看视频,然后它就会返回到菜单。

EN

回答 1

Stack Overflow用户

发布于 2018-02-07 03:17:03

虽然我对HoloKit应用程序接口不是很熟悉,但我会假设您的相机与玩家正在观看的位置对齐。在这种情况下,您可以从相机发送光线投射,然后检查它是否命中立方体。如果光线投射成功,则可以更改场景,如下所示:

代码语言:javascript
复制
public void Update()  {
    RaycastHit hit = null;
    if (Physics.Raycast(transform.position, transform.forward, hit) && hit.transform.gameObject.name == "cubeName") {
        SceneManager.LoadScene("nextScene");
    }
}

当然,您可能不希望立方体在他们看到它的瞬间加载场景。在这种情况下,您可以跟踪他们看它的时间,然后在看了一定量后切换场景:

代码语言:javascript
复制
public float lookTime;
public void Update()  {
    RaycastHit hit = null;
    if (Physics.Raycast(transform.position, transform.forward, hit) && hit.transform.gameObject.name == "cubeName") {
        lookTime += Time.deltaTime;
    }
    else {
        lookTime = 0;
    }
    if(lookTime > 1000) {
         SceneManager.LoadScene("nextScene");
    }
}

此脚本附加到您的摄影机时,将从摄影机进行光线投射,并检查它命中的内容是否名为cubeName。然后,它会将当前更改的时间量添加到lookTime。当lookTime达到1000毫秒或1秒时,它将加载场景nextScene

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48632742

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档