我修改了Roll-a-Ball tutorial以通过改变这些行来取代触摸板输入而不是控制器输入:
float moveHorizontal = Input.GetAxis ("Horizontal");
float moveVertical = Input.GetAxis ("Vertical");
到此:
float moveHorizontal = Input.GetAxis ("Mouse X");
float moveVertical = Input.GetAxis ("Mouse Y");
这完全适用于我的Macbook触控板,控制非常流畅,但在Gear VR触控板上控制非常不稳定。 (例如,球通常与滑动完全相反的方向移动)
有人能告诉我是否还有别的办法可以让控制更顺畅?
答案 0 :(得分:2)
这对我有用:
if(Input.GetAxis("Mouse Y") != 0)
{
scrollValue.value += ((Input.mousePosition.y - 720) / 720);
}
它检查用户是否正在尝试通过检查鼠标Y轴来滚动触摸板,然后将滚动条值相对于触摸板始终重置为的默认起始位置(即y = 720)的鼠标位置递增使用鼠标Y轴值。如果您尝试水平滚动,则需要使用x而不是y并将720更改为1280,因为这是触摸板使用的默认x位置。
答案 1 :(得分:1)
作为GearVR统一鼠标的触摸板是误导性的。当你有一个鼠标时,光标位置(Input.position
)从一个地方移动到另一个地方 - 但是在GearVR中,鼠标在每个鼠标/触地上传送到屏幕中心。你必须使用每个mousedown的相对位置,并为你想要的这种行为添加它们。
哦,据我所知,没有办法检查用户触摸的触摸板的哪个部分 - 它总是记录为中心,进一步的移动是相对的。