(个人)VR太极拳学习系统-创新实训第三周(2)

蓝图激活按钮点击事件问题

实现语音命令识别之后,就需要让应用对命令做出响应,这很简单,只需要使用switch on string节点就可以对不同的命令执行不同的分支了,然而当我试图用关卡蓝图与ui界面交互时,却发现没有办法使用蓝图触发按钮的点击事件。
我目前没有找到直接的方法,因此只能够在用户界面蓝图中将每个按钮的功能都单独封装为了函数,然后点击事件也直接去调用这些函数。这样还有一个问题就是必须保存用户界面实例的指针,代码耦合程度太高,而且还需要检测用户界面的有效性,可能实现一个单独的manager来定义命令,然后各个需要执行命令的地方都只与该manager交互来降低耦合性比较好。

语音识别灵敏度问题

在测试时发现应用经常将周围同学的声音识别为命令,而实际上他们并没有说出命令关键字,好在Sphinx-UE4提供了修改识别率的节点:
这里写图片描述
数字越高对该关键字的识别率就越低,但是这样它对真正的命令也很难识别了,这一点可能是因为我使用的麦克风是耳机上自带的,质量较差,后面还需要根据具体情况选择一款适合与htc vive一起使用的麦克风并针对它再具体调整参数。

语音识别查找表格式

sphinx-UE4使用的查找表是一个.dict后缀的文本文件,其格式如下:
这里写图片描述
其匹配规则比较直观,后面要用到的命令都需要自己向该表中添加类似格式的项。
鉴于语音识别可能不太准确,在选择命令的时候最好选择发音差别较大的,后期可能也需要通过将多个相似发音映射到同一命令来增加特定命令的准确率。

猜你喜欢

转载自blog.csdn.net/dying_isaac/article/details/80043643