此文章由机器翻译。

跨平台

使用 Visual Studio 工具为统一的跨平台游戏开发

Adam Tuliper

我注意到一些有趣的事情,在我进入游戏的开发。一位朋友创建 Android 的游戏,最近受冲击的号 1 在谷歌上的播放存储。我有一些其他朋友在另一个独立的游戏公司已达到 iOS 排行榜的榜首。我还知道另一位在 Windows 应用商店游戏拥有超过 500,000 的球员。他们都共享共同为他们建立与平台无关的东西:他们都在 Windows 上使用统一开发他们的游戏。(这是团结的游戏引擎,不依赖项注入的包,从微软)。

在 Windows 上的团结占高达 88.6%的统一项目,远远超过了 OS X (stats.unity3d.com)。我发现这一统计数据很有意思,因为团结就是最流行的跨平台游戏开发中间件。一边移动,iOS 占用了大约 26%的移动平台使用类别,与 Android 为 71%,然而,在 Windows 上的团结吸引了最多的开发人员,表明 Windows 仍然号 1 平台的开发人员想要到代码。

Visual Studio 工具统一 (VSTU) 是一个软件包 (以前称为 UnityVS),微软获得通过收购 SyntaxTree 在 2014 年。 本产品用于成本约 100 元和允许的统一开发者使用 Visual Studio 不只编辑代码,但也可在调试代码。为什么这是一个大问题?第一,因为微软作出这伟大工具 100%免费。第二,是由加入微软的 SyntaxTree 团队正在积极开发。第三,它是伟大,因为我可以使用熟悉的代码编辑器/调试器开发我的游戏。尽快获释了 Visual Studio 2015 预览位,对 VSTU 的更新被释放支持它,以及。

在统一中,任何游戏对象,你想要分配给,代码的简单脚本将组件添加到它。若要编辑该代码,请双击它。然后,统一将打开默认情况下 (这与统一安装) MonoDevelop 编辑和调试代码。对我来说,那里是有点摩擦在这里开发这种方式时。我认为 MonoDevelop 项目做了一些伟大的工作,但 Visual Studio 是一个功能更全面的工具。我想要使用 Visual Studio 编写和调试代码,就像我已经在过去的 18 年。以前在统一,您可以使用任何编辑器 (如 Visual Studio、 崇高,等等) 来编辑统一代码,但您不能调试您的代码从 Visual Studio。这意味着你将在 Visual Studio 中编辑代码并切换回 MonoDevelop 若要调试,或投递 Debug.Log 语句无处不在这并不是最有生产力的方式来调试。

MSDN 杂志的很多读者都是企业开发人员。我说很多人想知道的关于编写游戏,特别是在 XNA 走渡渡鸟之后很长一段时间。对于这些人来说,最近我做的游戏开发与统一上的杂志系列分为四个 (msdn.microsoft.com/magazine/dn759441) 来帮助新的观众,被引荐给游戏开发与统一的窗户上的经验。我知道大多数企业开发人员使用 Visual Studio 在工作中,但不能使用它在家里的游戏开发,因为他们组织许可证持有人。MonoDevelop 工作在这种情况下,但它不能提供 Visual Studio 经验。微软最近发布了 Visual Studio 社区版,免费版几乎视觉工作室专业相同。这是令人敬畏的小团队或个人开发者,因为它是免费的可以运行 VSTU。加上统一的免费版本,必须使用统一和 Visual Studio 的完全免费的多平台游戏开发系统。对于那些想知道关于 Visual Studio 速成版,该产品不支持插件,所以你不能在它运行 VSTU。有没有未来版本的 Visual Studio 速成计划因为 Visual Studio 社区版是未来 — — 和它是一个伟大的未来。

为什么要使用 VSTU?

如果您开发过与团结和 MonoDevelop 次伟大的奥运会,为什么要使用一些不同的东西?VSTU 给了什么另外到 MonoDevelop?好吧,智能感知要好得多。代码格式效果更好。可以使用插件如 ReSharper 重构,提高你的代码。如果你习惯于 Visual Studio,你肯定用到解决方案资源管理器,其中单声道的­开发了一个有限的版本,但它并不提供几乎相同的体验。所以你可以看到从命令 (如 Debug.Log 结果而不必来回切换到要查看的输出,像平时一样的团结,还有通过在 Visual Studio 中的输出窗口,以及好的调试体验。VSTU 还通过提供更好的可视化效果,对于集合,例如列表、 字典和常用 (合一) 的哈希表增强的调试体验。统一为其自己的绘制,允许您自定义编辑器扩展阅读检查器中的值包含的功能。这种类型显示与预期的一致 VSTU,但当在 MonoDevelop 进行可视化处理,它喷出的线和误差线统一控制台中。

此外,随着 Visual Studio 2015 预览发布,是一个伟大的新功能添加到 VSTU:语法突出显示为着色器 (见图 1)。虽然它可能不被视为一个巨大的生产力助推器,明显容易对眼睛的时写着色器,和它是上面要求的功能,用来收集功能建议和反馈 UserVoice 网站上。已使用带有语法高亮显示功能的现代工具,然后不得不迅速发展离不开它的人错过了的功能,所以大量的你会欢呼此版本。

新语法高亮显示为着色器在 Visual Studio 2015 预览
图 1 新语法高亮显示为着色器在 Visual Studio 2015 预览

如何做所有的工作吗?

前进一步探索新的功能,我将讨论的"魔法"背后的工具的工作原理。统一包含内由柔软的调试器控制其编辑器的虚拟环境。当您调试一个游戏时,你不调试 Unity.exe,正如你可能期望,因为你可以将调试器附加到进程,从 Visual Studio。相反,您要连接到团结,然后将命令发送到统一软调试器的运行在编辑器内的端口。MonoDevelop 附带的 MonoDevelop.Debugger.Soft 库,了解用于顶嘴统一软调试器的二进制格式。统一添加此库来支持自定义操作的瘦包装和分发,与 MonoDevelop,如中所示图 2。该插件可以推出统一或只是在一个港口,说话软调试器连接 (若要签出的代码,请参阅在 GitHub 项目 bit.ly/1zY6K2a)。好伙计,工作在 VSTU 上使用这个库,以及的 Visual studio 反过来写扩展 (见图 3)。它允许您不仅使用 Visual Studio 在所有其代码编辑、 重构、 语法突出显示和智能感知的荣耀,但也调试统一代码中使用的调试体验您习惯于在 Visual Studio 中 — — 和它的作品比什么内置于默认统一配送。

统一用于从 MonoDeveloper 调试插件
图 2 统一用于从 MonoDeveloper 调试插件

Microsoft Visual Studio 工具 Visual Studio 2015 预览统一延长
图 3 Microsoft Visual Studio 工具 Visual Studio 2015 预览统一延长

统一创建它自己的.csproj 文件来管理其单声道的编译和一些其他的.csproj 文件将添加到 Visual Studio,如果你想要使用 Visual Studio 编辑器只作为。我今年早些时候我统一系列第一篇文章中覆盖有点这种统一架构。VSTU 创建其自己的版本的.csproj 文件中,如中所示图 4。它可能看起来像那里可以,很多的.csproj 文件来管理,但细节都处理在幕后,所以你不必为他们操心。通常在 MonoDevelop F5 调试并不总是有效。统一将永远做自己编译您的代码,但 F5 来调试在 MonoDevelop 时,它将做进一步的编译的二进制文件,可能在一些语法上的错误团结实际上不介意,,因此,不能调试。每次你开始在 MonoDevelop 中调试,您必须附加到 Unity.exe 进程 (其中依次连接到用于调试的端口)。这不同于"按 F5 来调试"你已经习惯于在 Visual Studio 中。我已经也锁定了统一好几次使用 MonoDevelop 若要调试,同时一直在窗户上的 VSTU 问题的东西。

Visual Studio 工具创建它自己的.csproj 文件版本
统一的图 4 Visual Studio 工具创建它自己的.csproj 文件版本

使用 VSTU

VSTU 是简单易用,但它不保证其 Unity 编辑器的简要说明,因为它可能不同于您所期望的东西如 Visual Studio 扩展相比。Visual Studio 扩展只安装一次,然后为每个项目,积极与 VSTU 一样。统一环境是极其可脚本化与 C# 中,这使得强大,但你想要的功能在每个项目,该体系结构要求您导入所需的 VSTU 程序包。这是一个一次性的操作为每个项目。只需选择 VSTU 包从资产/导入包,如中所示图 5。这将解压缩程序包,告诉你大约要导入的文件。整个过程就是这样的。

将 Visual Studio 工具统一包导入统一
图 5 将 Visual Studio 工具统一包导入统一

您也可以安装任何.unitypackage 文件到统一通过双击它,所以为 VSTU,可能也只是在"Visual Studio 2015 Tools.unitypackage"文件中双击您的文件系统。一旦安装完毕,编辑代码您只需双击脚本文件中团结,它将在与 VSTU 活跃的 Visual Studio 中打开。你一定要记住入统一项目,安装 VSTU 软件包或 Visual Studio 将显示一个含糊不清的错误,可能会让你有点困惑。此外值得一提的如果您的代码不能编译,当您尝试第一次打开它时,Visual Studio 项目不会产生,因此,没有项目加载在 Visual Studio 中,所以您会收到同样的含糊不清的错误。这也发生在统一与 MonoDevelop 项目 — — 他们只是不会生成,如果您的代码最初包含出错之前第一次项目代 (这又发生在幕后)。这些都只是几件事情,我经历过的你应该知道。

Mac 用法

你在那里的 Mac 用户呢?因为 Visual Studio 运行在 Windows 和不 OS X 上,如何做,另约 11%的不使用 Windows 开发人员提高他们与统一的开发经验吗?你可以在虚拟机 (VM) 中运行 Windows 和共享文件夹,因此您可以来回切换,用于调试。有一个小摩擦的方法,也是,虽然。还有更好的方式。因为 VSTU 在一个端口连接到统一,从技术上讲你可以做跨计算机发展。与相似之处和在 Mac 上的 VMware 的虚拟化软件,你可以从您的来宾 VM 上运行软件,并让它显示在您的主机操作系统桌面就像它是以本机方式运行那里在一个窗口中。这意味着 Visual Studio 可以运行在 OS X 桌面上只是像任何其他 OS X 应用程序,并连接到团结在你的 Mac 来调试它从 Windows 上运行。是的很酷。

跨平台的方式

当然,我们生活在一个神奇的时代的多平台应用程序开发。有时候,尽管,这个应用程序开发风景感觉就像我们生活在单一的土地,与许多不同的货币,和一些供应商采取一些并不是另一个,每个人都讲不同的语言。有这么多不同的工具、 平台和设备,你能保持忙碌只学习他们所有的生活。在 Microsoft,我们已经密切与许多合作伙伴一道为综合的经验给我们的工具和平台带来跨平台开发。我可以旋转在微软 Azure 上的 Linux VM。我可以使用 Visual Studio 进行调试的 Python 脚本 (甚至远程运行在云中),和我能读懂有关推式通知 iPhone 设备上设置 microsoft.com 上的大量文档。最重要的是,.NET 是开放源码的现在,Linux 和 OS X 上运行的 ASP.NET 和 Visual Studio 有 Android 模拟器。当然没有预见到这一天,而我相信只是看到了我的窗户外面飞的猪。

团结,当然,是我最喜欢的跨平台游戏开发的工具,虽然见过令人印象深刻的具有先进的 3D 能力,做了统一的业务应用程序实现。Unity 支持 16 个不同的平台 — — 是的你没听错。这是相当令人印象深刻,你可能会好奇什么构成了号码,所以在这里你去:iOS,Android (包括设备 (例如欧雅),Windows、 Windows 应用商店、 黑莓、 Windows Phone、 OS X、 Linux、 Web (通过插件以前和现在 HTML5/JavaScript/WebGL),PS3、 PS4、 PS Vita、 PS 手机、 一个 Xbox、 Xbox 360 和 WiiU。

您还可以开发跨平台应用程序仅与 Visual Studio 的几个不错的选择。旗舰微软 IDE 现在已与 Apache 科尔多瓦,允许跨平台基于 HTML 的应用程序集成 (不 Web 站点 — — 这些都是应用程序) 拟从其熟悉的环境中。您可以调试这些应用程序从窗口视觉工作室为安卓系统内的,并甚至 iOS。举这样的例子,查阅 MSDN Library 的文章,"你的 Apache 科尔多瓦应用程序上运行 iOS,"在 bit.ly/1ycNUVD

在跨平台的应用程序空间中,领导者是 Xamarin (发音 zam 一凛,对于那些仍不能确定)。Xamarin 不是游戏为主,虽然您肯定可以使用它创建游戏。该工具可以与 Visual Studio 集成,以及优秀的跨平台应用程序开发,甚至允许您设计为 iOS 和 Android 都从 Visual Studio 中的 UI。Xamarin 年以来原始的 Mono 团队,其成立以来部分以便专门知识一直行之有效的公司。单也是甚么的权力你的游戏的自定义代码和统一的可扩展性 — — 自 2001 年成立以来,它已经很长的路。

对于那些爱 c + + (你知道你是谁),我刚才简要 Android 模拟器,和它将支持 c + + 应用程序。没错:Visual Studio 现在可以让你创建一个本机的 Android 应用程序,通过跨平台 |本机活动应用程序模板。这使开发和调试从 Visual Studio 的 Android 代码入手 Visual Studio 2015 预览。这是我能做的只是要不附和这整个的最后一行 !

结束语

审查,微软已经已将添加到其跨平台的故事一段时间,但是现在它处于超速。VSTU 是,当然,免费,经历了一些伟大的更新 ; 你可以找到的他们在历史 bit.ly/15pC1RN。Visual Studio 社区版是免费的。微软已知的有很大的发展工具,并致力于带来最佳的发展及调试使用 Visual Studio 的游戏开发人员的经验。所以我向大家说:使用统一,在 Windows 上开发和使用 Visual Studio 的令人敬畏的开发和调试经验。

额外的学习


Adam Tuliper 是生活在阳光明媚的加利福尼亚州南部的一位 Microsoft 资深技术传播者。他是独立游戏开发公司管理员的奥兰治县团结 Meetup 和 Pluralsight 作者。他和他的妻子即将拥有自己的第三个孩子,所以在他尚有闲暇的时间里,您可以通过访问 adamt@microsoft.com 或 Twitter twitter.com/AdamTuliper 来联系到他。

衷心感谢以下 Microsoft 技术专家对本文的审阅: Jb Evain