使用Windows HoloToolKit和Unity 2017,我设置了“菜单”场景,并设置了“巡视”场景。我只是试图进行基于注视的互动,从菜单进入游览。
我觉得这不是太难,但我正在旋转我的轮子(我是Unity的初学者)。我基本上希望有3D立方体说“看这里”并触发下一个场景。
我只需要一个非常简单的用户体验,这样人们就可以戴上耳机,确切知道该做什么,观看视频,然后它将返回菜单。
答案 0 :(得分:0)
虽然我不熟悉HoloKit API,但我认为你的相机与玩家所在的位置是一致的。在这种情况下,您可以从相机发送光线投射,然后检查它是否到达立方体。如果是光线投射,那么您可以更改场景,如下所示:
public void Update() {
RaycastHit hit = null;
if (Physics.Raycast(transform.position, transform.forward, hit) && hit.transform.gameObject.name == "cubeName") {
SceneManager.LoadScene("nextScene");
}
}
当然,您可能不希望立方体在它们盯着它的瞬间加载场景。在这种情况下,您可以跟踪他们看多久,然后在查看一定数量后更改场景:
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毫秒或一秒时,它将加载场景nextScene
。