要学习的7种Unity游戏开发语言:哪种才是最佳?

开发游戏从未如此简单。像Unity这样的游戏开发平台可以创建从简单的2D平台游戏到完全详细的3D第一人称射击游戏的所有内容。小型开发人员可以免费使用Unity,并且有很多教程介绍如何最好地使用编辑器为您的想法做原型。

学习如何使用Unity程序只会使您受益匪浅。游戏的真正核心是确定其行为的代码。确定要为游戏开发学习哪种语言可能很困难,但是对于Unity来说,这很简单。

1。最佳选择:C#

对于任何以Unity开头的人或具有面向对象编程知识的人来说,C#是为Unity学习的正确语言。实际上,C#是唯一值得在该平台上学习的语言,这有充分的理由。

Unity使用Mono,这是Microsoft .NET框架的跨平台实现。 C#是.NET的主要语言,并且Unity的所有库都是使用C#代码构建的。可以说C#是Unity的语言一点也不为过。 Unity明确表示,他们认为C#是唯一可用于未来引擎的语言。

这是个好消息,因为C#是一种功能强大且易于学习的语言。 Unity只是学习C#的许多好理由之一,如果您是初学者,您甚至可能会发现它更易于使用。开发游戏为学习提供了结构,基于项目的目标使人们对新主题有了更深入的了解。

随着C#工作系统和ECS的引入,Unity越来越推动C#的发展。 ,新的Burst编译器使它比以往更快。

2。当前替代方案:JavaScript

Unity还支持JavaScript,称为UnityScript。自发布以来,JavaScript与C#并列在一起,作为一种功能齐全的Unity开发语言。 Unity脚本参考使用库中大多数元素的C#和JavaScript编写示例代码。

这对于来自JavaScript背景的开发人员很有用,尽管代码的结构方式不同,他们可以使用熟悉的语法。但是,出现了问题。

UnityScript看起来与JavaScript类似,但事实并非如此。 UnityScript具有类,而JavaScript没有。 JavaScript的功能(如多个变量声明和可选的分号)在UnityScript中不可用。

也许至关重要的是,在Unity项目上搜索JavaScript帮助总是引起混乱,因为大多数人将其称为JavaScript而不是UnityScript 。网页设计和游戏开发的结果模糊不清,两种语言之间的差异是纯JavaScript开发人员的争论点。

也许不足为奇的是,Unity宣布将撤回对UnityScript的支持,现在是停用该设备的时间表。您仍然可以将JavaScript与Unity结合使用,但是知道它即将结束,为什么呢?

3。旧的第三选择:Boo

在Unity的早期,可以选择使用Boo(一种类似Python的语言)。 Boo的设计师Rodrigo B. De Oliveira为Unity工作,这也许不足为奇。该语言与.NET和Mono兼容,并且将与游戏引擎完全实现。出了什么问题?

没有足够的人使用它,可能是假设它只是在尝试模仿Python。随着时间的推移,Unity放弃了对Boo的支持,并且即将对UnityScript进行的更改将使所有旧的Boo脚本在Unity中失效。有人可能会认为这是一个错失的机会,因为Boo在.NET编程中尝试了类似Python的语法。

Python爱好者确实有另一种选择。

4 。奇怪的选择:IronPython

如果您想开发游戏,Python可能不是适合您的语言,但是有可能。查理·卡尔弗特(Charlie Calvert)在他的Microsoft开发者社区博客中,概述了如何从C#运行Python-但这并不适合胆怯的人。差不多十年后,IronPython仍在积极开发中。

简而言之,您将需要从GitHub下载IronPython库,并在您的C#项目中引用它们。这样,您就可以像使用其他任何库一样从C#脚本调用Python脚本。 IronPython还允许从Python调用.NET库。听起来如此有用,因为Unity依赖于C#,所以此功能无济于事。

IronPython和IronRuby,这是将C#与Ruby编程语言链接在一起的姊妹项目,是很棒的项目,但它们并非如此

5。有趣的选择:Lua

MoonSharp是Lua的解释器,它是Unity外部语言更好的实现之一。该项目并非旨在取代C#作为一种语言,而更多地充当了桥梁。 MoonSharp的完美用例是为您的游戏玩家添加一种以Lua语言创建游戏模块的方法。

您还可以使用它来描述对象和设计级别,与核心游戏分开

。如果您已经在使用C#进行编码,并且正在寻找一种有趣的方式与代码进行交互,则值得考虑使用MoonSharp。由于它在Unity的资源商店中免费提供,因此您可以将其直接导入到您的项目中。

6。最佳插件语言:C / C ++

尽管强大的Unity库和C#提供的所有可用工具,但有时您可能想要自己的插件。人们选择插件的主要原因包括速度或访问已经用另一种语言编写的代码库。将这些脚本构建到DLL插件中可以节省重新编写代码的时间,并且在某些情况下可以提高性能。

在大多数情况下,C ++将是用于创建插件的语言,但是C可以很好地工作。只要代码内置到DLL中,就可以将其放置在Unity的插件文件夹中并在代码中引用。但是,如果您已经很熟悉C / C ++编码,那么学习C#就是相对简单的任务!

7。插件的新语言:Rust

Rust是一种流行语言。经验丰富的程序员喜欢它提供的令人难以置信的控制能力,同时又避免了使用不太安全的语言(如C ++)编写的陷阱。 Rust由Mozilla于2009年创建,是开发人员快速开发高性能软件的一种方式。

虽然不可能直接在Unity中编写Rust,但是您可以访问用Rust编写的函数和方法从您的Unity代码中吉姆·弗莱明(Jim Fleming)在其在Medium上的帖子中详细介绍了如何进行此操作。

如果这看起来很熟悉,那是因为这是创建本机插件的另一种方法。通过利用Rust与其他语言进行交互的功能,您可以使用Unity的 DllImport 属性直接从C#代码中调用Rust函数。当然,这之间有几个步骤,建议您阅读Jim的后续文章以及对FFI(外部功能接口)有很好的了解!

一个简单的选择

Unity的态度任何不是C#的语言都是显而易见的,对Unity的不断改进依赖于这种一心一意。再加上微软对C#语言的不断改进,为Unity游戏开发学习C#无疑是一件容易的事。并且一定要签出Unity Learn,这是学习游戏开发的简便方法。

这并不是您唯一的选择,Unity只是一个引擎,并且有很多游戏开发软件可供选择。来自。

标签: C 游戏开发 JavaScript Unity