【发布时间】:2018-03-29 20:38:36
【问题描述】:
我正在尝试使用 Unity3d 中的 google cardboard sdk 将对象转换为 VR 应用程序。我编写了一个脚本并比较了 Update 方法上的输入按钮。所以我的代码如下。
void Update () {
if (Input.GetButtonDown("Fire1"))
{
onObjectDown();
}
if (Input.GetButtonDown("Fire2"))
{
onObjectExit();
}
if (Input.GetButtonDown("Fire3"))
{
onObjectExit();
}
if (dragging)
{
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
Vector3 rayPoint = ray.GetPoint(distance);
transform.position = rayPoint;
}
}
onObjectDown() & onObjectExit() 方法如下
public void onObjectDown()
{
Debug.Log(name + " Game Object Down!");
distance = Vector3.Distance(transform.position, Camera.main.transform.position);
dragging = true;
}
public void onObjectExit()
{
dragging = false;
Debug.Log(name + " Game Object Exit!");
GetComponent<Renderer>().material.color = originalColor;
}
此编码在桌面播放模式下完美运行。但是在模拟器上只有 onObjectDown 正在执行。这意味着只有“Fire1”按钮被按下。有谁知道如何通过蓝牙控制器从按钮“Fire2”和“Fire3”获取输入?
作为参考,我在项目中的输入设置如下
【问题讨论】:
标签: unity3d google-cardboard google-vr google-vr-sdk