到底谁最痛?
|
Dart优势:
此外,几乎所有主要的文本编辑器和 IDE 都支持 Dart 语言。你可以使用诸如 Webstorm、IntelliJ IDEA 和 Android Studio 等大量 IDE,也可以自由使用你熟悉的,诸如 VS Code、Sublime Text、Vim、Emacs、Atom 等简单编辑器。
8.C/C++/C Dart 是一种针对多平台应用程序的客户端优化编程语言。它由 Google 开发,用于构建移动、桌面、服务器和 Web 应用程序。Dart 是一种面向对象、基于类、垃圾收集的语言,具有 C 风格的语法。同时,Dart 可以编译为本机代码或 JavaScript 。
在 Google 宣布 Flutter 之前,Dart 还不见踪影。但是,在 Google I/O 中宣布 Flutter 之后,Dart 作为一种替代本地的方法,反而引起了移动开发者极大的关注。对于不喜欢把 JavaScript 作为编程语言的开发人员来说,Dart 成为了另一种选择。随着谷歌、阿里巴巴等大公司采用 Flutter,Dart 的受欢迎程度也得了极大提高。 校准与测试
准备就绪后,我设置了 Griffin 系统以执行校准和测试。这套系统的性能要比我预测的好很多,在执行所有实时 3D 渲染和姿态估计时一直都保持在 60FPS 的帧率,看来英伟达的 Jetson AGX Xavier 性能强大不是说说而已。在下面的视频中,你可以看到校准和测试的过程。这个视频帧率较低,是因为我在 Ubuntu 桌面上以 15FPS 录屏,尽量减少对 Griffin 的影响。 通信系统 现在,我们完成了三个主要组件,只需要将它们粘合在一起就行了。我们需要将姿态估计模块检测到的人体关节点发送至手势识别模块,这个任务比较简单。但是,将动作和姿势映射结果发送至 3D 游戏引擎就不那么简单了,因为游戏引擎是用 C++ 写的。你可能会疑惑为什么不用 Python 构建 3D 游戏引擎,原因在于没有靠谱的方式来使用 Python 访问 OpenGL。此外,即使可能,我也不想花费好几周时间将 C++ 转换为 Python 代码。 此时我需要以最小花销高效地在这二者之间传递信息。对于游戏引擎而言,最小花销是非常重要的因素,输入控制器和动作发生之间出现 100ms 的延迟都会导致玩家失去沉浸式体验。因此,两个单独应用之间的最好通信媒介是 socket。由于这两个应用在同一台计算机内,因此延迟会在 5ms 以内。 在 C++ 中,我们简单地使用 sys/socket 库,而在 Python 中,我们可以使用 socket 框架。从现在开始,我把手势识别和姿态估计模块称作 Python app,该客户端发送五种信息:roll_target、lwing_target、rwing_target、body_height 和 game_state。把 3D 游戏引擎称为 C++ app,充当监听并不断接收上述信息的服务器。
为了将这五种信息 / 变量正确地从 Python 映射到 C++ 上,在发送之前我们需要将其放置在 Python C-like 结构中。 (编辑:鹰潭站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |

