因此,我使用AttachToController脚本来附加一个浮动在控制器顶部的窗口-它工作得很好。在调用窗口的脚本中,我找出了哪只手按下了控制器的菜单按钮,并适当地设置了左手或右手区域。我试图解决的问题是这样的:假设用户单击右侧控制器的菜单按钮,然后单击左侧的菜单按钮。我遇到的问题是,即使我改变了惯用左手的字段,窗口看起来仍然连接到正确的控制器。
private void InteractionManager_InteractionSourcePressed(InteractionSourcePressedEventArgs args)
{
hand = args.state.source.handedness;
...
}
private void SetHandednessAndActivate(GameObject go)
{
AttachToController script = go.GetComponentInChildren<AttachToController>();
if (script != null)
{
script.Handedness = hand;
}
go.SetActive(true);
}为了清楚起见,如果用户首先单击左侧控制器菜单按钮,则窗口始终位于左侧,右侧控制器也是如此。我想要的是让窗口移动到任何使用的控制器。
发布于 2018-08-15 04:56:45
而不是
script.Handedness = hand;使用
script.ChangeHandedness(hand);所有其他部分都由脚本处理。
https://stackoverflow.com/questions/51845990
复制相似问题