65.9K
CodeProject 正在变化。 阅读更多。
Home

用音乐作画:一款桌面多点触控虚拟乐器/游戏

emptyStarIconemptyStarIconemptyStarIconemptyStarIconemptyStarIcon

0/5 (0投票)

2014年10月16日

CPOL

8分钟阅读

viewsIcon

11376

中国软件公司 TheBestSync 专注于集成软硬件解决方案,与 Intel® 开发人员专区合作,参加了 2013 年英特尔应用创新大赛 (Intel AIC 2013),旨在将游戏和音乐技术与一体机设备相结合,创造一种令人兴奋的全新体验。

英特尔® 开发人员专区提供跨平台应用开发的工具和操作指南、平台和技术信息、代码示例以及同行专业知识,帮助开发人员创新和成功。加入我们的物联网安卓英特尔® 实感™ 技术Windows社区,下载工具、访问开发工具包、与志同道合的开发人员分享想法,并参加黑客马拉松、竞赛、路演和当地活动。

相关文章
面向第四代英特尔®酷睿™处理器的英特尔®处理器显卡开发人员指南
触摸和传感器
如何创建可用的触摸UI
如何调整触摸控件

一体机 (AIO)平板设备等计算形式的创新,将台式机般的性能与多点触控高分辨率屏幕相结合,为人们带来了制作音乐的全新有趣方式,并赋予“音乐是通用语言”这一常说之语新的含义。

意识到这一趋势,专注于集成软硬件解决方案的中国软件公司 TheBestSync,与 英特尔® 开发人员专区合作,参加了 2013 年英特尔应用创新大赛 (Intel AIC 2013),旨在将游戏和音乐技术与一体机设备相结合,为人们创造一种激动人心的新方式来玩乐和享受音乐。

TheBestSync 及其首席执行官 Alpha Lam 在过去三年里一直致力于为娱乐市场创造创新、互动体验,对英特尔开发人员专区的竞赛并不陌生。他们最近凭借其参赛作品 JOY* 赢得了 英特尔® 感知计算挑战赛 的大奖,这是首批使用英特尔感知计算 SDK(现为 英特尔® 实感™ SDK)构建的虚拟乐器之一。JOY 不仅赢得了挑战赛,还成为 TheBestSync 最新提交的应用程序 用音乐作画 参加 AIC 2013 竞赛的灵感来源,该应用程序赢得了运行 Microsoft Windows* 8.1 的一体机设备娱乐类别奖。

“用音乐作画”(PYM)专为 2013 年英特尔应用创新大赛而创建,该大赛挑战参赛者“构想一种互动娱乐体验,帮助一体机成为无尽的冒险”。PYM 将多点触控、多玩家互动与音乐矩阵游戏板、虚拟“颜料球”和计分机制相结合,创造出一种独特、有趣且可玩的虚拟乐器/游戏。

用音乐作画

作为 2013 年英特尔应用创新大赛决赛选手,TheBestSync 获得了 联想 IdeaCentre Horizon 27* 平板电脑 一体机,用于编写 PYM。该系统包括一个 27 英寸 10 点触控屏、Windows 8.1、一个 英特尔® 酷睿™ i7 处理器、8 GB 内存和 NVIDIA GPU

Lam 和 TheBestSync 团队对 联想一体机巨大的触摸屏 感到兴奋,它在 PYM 中发挥了关键作用。触摸屏可以平放,为玩家提供街机风格的桌面游戏体验。“能够平放特别有帮助,”他说。“拥有如此大的触摸屏可以让多人同时参与,因此非常有利于创建沉浸式环境。此外,联想的 8 芯锂聚合物电池可以让用户运行设备长达两个小时,为这个原本庞大的设备增添了移动性。”

一体机的高保真音频功能进一步增强了游戏体验,允许用户创建自己的音乐。

在“休闲”单人模式下,PYM 作为虚拟 3D 乐器运行。玩家通过触摸在矩阵上放置“音符球”。音符球作为音符的图形表示,行为类似于虚拟彩弹,触发音符和“颜料舞”。一体机的多点触控屏幕让玩家可以用一只手放置音符,并在 3D 空间中“旋转”矩阵(图 1)。

图 1:在单人模式下,通过触摸屏幕将音符放置在矩阵上。用户可以改变 3D 空间中的视角,音符以彩色柱或动画“颜料舞”的形式出现。

在“竞技”双人模式中,玩家向对手的“音乐墙”发射音符球。当球落在矩阵上时,它们会产生音符。随着游戏过程中发射的音符越来越多,会产生旋律。当“道具”被球击中时,即可得分。所有音乐都是实时即时创建的,可以录制和回放以制作音乐。

编程 Unity

PYM 使用 Unity 3D 引擎* 构建。编程使用 Microsoft Visual Studio* 和 C# 处理,C# 是一种面向对象的语言,团队更喜欢它而不是 C++,因为它与 Unity 无缝兼容。对于 PYM 的音频功能,TheBestSync 团队使用了他们在开发 JOY 时完善的交互式框架。该框架基于 Unity 附带的音频引擎,并包含额外的数字信号处理音频效果,例如混响和回声(延迟),以及录制和播放游戏过程中创建的音乐的能力。

在创立 TheBestSync 之前,Lam 经营一家音乐制作公司十年,这为 PYM 开发团队提供了大量专有的乐器音色库,他们能够将其插入 Unity 的步进音序器。该音色库支持高保真 16 位、24 kHz MP3 和 WMA 音频文件,以及使用 Avid Pro Tools* 和 Apple Logic* Pro 数字音频工作站软件创建的 24 位、48 kHz WAV 文件。

图 2:《用音乐作画》的多人 UI。(A) 音乐矩阵。(B) 音符球。(C) 红色玩家“道具”发射器。(D) 蓝色玩家音乐墙。(E) 经过时间显示和用于访问设置、选择掌声类型以及其他项目的菜单。

PYM 的用户界面结合了 2D 和 3D 资产。3D 内容使用 Autodesk Maya* 制作,为了模拟“颜料舞”,团队使用了 Unity 的粒子系统物理引擎

挑战与解决方案

在出色的视觉效果和实时性能之间取得平衡是团队面临的最大挑战。粒子系统尤其耗费 CPU 处理能力。为了实现更高的帧率,PYM 的代码利用了英特尔酷睿 i7 处理器中的片上 GPU 和联想一体机的 NVIDIA GPU(图 3)。为了进一步提高性能,团队将同时粒子数量从 2,500 个减少到约 1,000 个,并调整了粒子的大小和纹理。

图 3:《用音乐作画》在启用 NVIDIA GPU 时达到 9 fps 播放速度(左),在使用 NVIDIA GPU 和 英特尔® 核芯显卡 时达到 15 fps 播放速度(右)。

除了微调粒子系统,TheBestSync 团队还使用了多线程技术,使 PYM 能够在多个核心和线程上运行多个进程——图形、声音、物理。“如果没有联想一体机平台内置的英特尔® 处理器,PYM 的实时 3D 图形和音乐是不可能实现的,”Lam 说。

多点触控支持是 TheBestSync 必须克服的另一个障碍。Unity 3D 引擎原生不支持多点触控,因此团队使用 C# 编写了一个引用 Windows 8 触控 API 的插件。团队遵循了微软关于设置触控目标大小的建议最佳实践。“联想一体机的触控屏很大,因此,虽然触控目标的大小在小型设备上可能会出现问题,但对我们来说这不是问题,”Lam 说。

测试,测试,再测试

英特尔® 图形性能分析器 (Intel® GPA) 用于诊断和调试 PYM。英特尔 GPA 可视化显示 CPU 和 GPU 使用情况的能力帮助团队快速识别 Microsoft DirectX* 图形管道中的瓶颈。团队使用 Unity 3D 的 Profiler 窗口 来处理与内存使用、音频、物理和渲染相关的代码的通用调试。

尚未进行正式的商业级 Beta 测试。

后续步骤

TheBestSync 计划于 2014 年底推出 PYM。其目标包括:

  • 改善用户体验
  • 实现基于英特尔实感技术的互动,例如免触控手势输入、面部识别以及在游戏过程中检测玩家情绪的能力
  • 添加对在线游戏的支持。

此外,Lam 希望增加对 OpenGL* 和 OpenGL ES* 的支持,以增强图形管道在移动平台上的性能。

公司计划实施的另一项功能是使用不同的设备专用支付 SDK 进行应用内购买。目前,TheBestSync 使用 Microsoft Azure* 平台 提供分布式云服务,但他们正在调查替代方案,例如 Amazon Web Services 云平台

分发将通过 Microsoft 应用商店和其他类似应用商店进行。

Lam 正在考虑将 PYM 迁移到其他移动平台,这将带来新的挑战,其中最重要的是调整应用程序的 UI 和图形以适应小型设备和屏幕、功能各异的设备以及其他碎片化问题。

关于开发者

Alpha Lam 曾学习应用电子学,并在音乐制作行业工作了 10 年,之后创立了 TheBestSync。该公司目前雇佣了 20 名员工。PYM 团队包括三名软件开发人员、三名 3D 图形程序员和一名音频工程师。

有用的资源

Alpha Lam 从 CSDN(中国最大的开发者社区)成立之初就成为了其会员。CSDN 在帮助 Lam 及其团队研究新技术方面发挥了宝贵作用,其中包括他计划在未来用于增强 PYM 的 英特尔实感 SDK

英特尔开发人员专区提供跨平台应用开发的工具和操作指南、平台和技术信息、代码示例以及同行专业知识,帮助开发人员创新和成功。加入我们的物联网安卓*英特尔实感技术Windows*社区,下载工具;访问开发工具包;与志同道合的开发人员分享想法;并参与黑客马拉松、竞赛、路演和本地活动。

Intel、Intel 徽标和 Ultrabook 是 Intel Corporation 在美国和/或其他国家/地区的商标。
版权所有 © 2014 英特尔公司。保留所有权利。
*其他名称和品牌可能被声明为他人的财产。

© . All rights reserved.