我正在与Unity和Leap Motion合作一个项目。基本上,有一个inputField。在inputField中,用户将以厘米为单位写入应触发抓取事件的距离。当手指比用户输入的距离更近时,将触发抓取事件并抓取球。这是因为我正在和有运动障碍的人一起工作,他们不能完全闭合他们的手。
我已经编写了一个脚本来打印每一帧上两个手指之间的距离,但是我不知道如何使用inputField的距离来触发抓取事件。有什么建议吗?
发布于 2021-01-13 23:34:42
要实现这一点,最直接的方法是引入一个读取inputField内容的变量和一个在您编写的脚本中触发更新()事件的if语句-类似于这样(假设您正在按照描述的方式计算graspDist ):
float dist = float.Parse(gameObjectWithInputField.GetComponent<InputField>().text);
if(dist/100f<graspDist) TriggerGraspEventFunction();然后在该脚本中的其他地方定义TriggerGraspEventFunction()。您可以将gameObjectWithInputField设置为公共GameObject并将其拖入检查器中,或者对其进行标记并使用FindGameObjectWithTag
还有很多更精致的方法,但现在应该可以了
https://stackoverflow.com/questions/65703366
复制相似问题