mono C#项目简介
想必C#玩家往往受到Java玩家的嘲笑,不能写移动端。mono C#的目的正是通过C#的中间语言(汇编语言)来二次编译成Android项目的开源项目。
Unity3d正是使用了mono C#项目的成果发展而来,并在此基础上加入了对底层C++的支持,可以进行跨平台部署游戏。
设计
RIMA:“我是个游戏还是个机器人”。
通过untiy3d和ROS之间相互操作的实验。我们可以发现Untiy项目具有很强大的人机交互效果,丰富的插件库,可以作为一个整体系统来进行控制机器人。
如果untiy3d部署在Linux端,作为主程序控制语音以及连接聊天机器人服务器,向ros发布信息进行交互。
缺点
unity3d语音唤醒有一些困难,以及语音合成方面。
我们通常使用window端进行unity3d开发,发布到Linux上会有一些不确定性的变化,难以完成语音唤醒,但是国外似乎有插件可以做到。另外大佬就是大佬,可以逆转乾坤。另一方面,Linux端的unity3d游戏引擎应该有此方面的解决方案,但Linux端的unity3d引擎并不是一个很成功的项目,这个需要测试。
在语音合成方面,语音合成网络传递的是MP3音频流,但是unity3d没有MP3格式的版权,必须先转换成wav音频流,但在window端unity调用的格式转换是window系统底层接口调用,无法在Linux系统中调用。
如果非要完成这个系统,一个不优雅的方法是用一次语音识别来模拟语音唤醒,但是会失去优雅以及抗干扰性,用一个转换格式服务器进行多一次网络通信进行mp3至wav的转换。