1

我在 Unity OpenXR 中使用新的基于动作的输入系统时遇到了问题。

我想用ActionBasedController. 一般来说,这有效,但只提供 0 或 1。这样动画看起来很简单。我正在寻找一种读取真实浮动的方法,因此动画只会部分改变。

这是我读取触发器和抓地力值的代码:

ActionBasedController controller = GetComponent<ActionBasedController>();
handAnimator.SetFloat("Trigger", controller.activateAction.action.ReadValue<float>());
handAnimator.SetFloat("Grip", controller.selectAction.action.ReadValue<float>());

我试图研究这个话题,但我只找到关于旧输入系统的答案。

非常感谢任何帮助或新想法。

如果需要,我正在使用 Unity 2020.3.4f1,并且我正在使用 OpenXR 插件版本 1.0.3。

4

1 回答 1

1

在您的默认操作输入中,您还应该有一个返回轴值的选择操作值。在您的代码中,您正在访问此处的按钮值,它将为您提供 0 或 1。因此,如果您想要介于 0 和 1 之间的值,您的代码应该是:

ActionBasedController controller = GetComponent<ActionBasedController>();
handAnimator.SetFloat("Trigger", controller.activateActionValue.action.ReadValue<float>());
handAnimator.SetFloat("Grip", controller.selectActionValue.action.ReadValue<float>());
于 2022-01-21T18:56:32.653 回答