初来乍到——浅谈Unity引擎

各位好啊,初次见面,我是大瓜子。作为louyu个人主页的新晋作者(莫得工资),我决定在这个网站上写一些文章,履行自己作为这个网站为数不多的作者的义务。即便大概不会有多少人看到,但我也想以历史文档的形式保存下来,也是对日常的学习过程进行一个反馈和总结。

我的文章主要涉及Unity引擎、C#语言以及电子游戏制作的相关方面,但由于我认为自己并未脱离菜鸡之行列,所以文章若有浅薄之处还请各位大佬多加谅解。

在细说Unity之前先让我们来谈谈游戏引擎。所谓游戏引擎,其实就是开发电子游戏所用的工具,在这个工具中你能够实现将音效、美术、脚本等资源结合在一起,完成一款电子游戏作品。我想,大家都有过用脚本语言去编写一些简单的游戏的经历,如C++、Python、Java,那么,在用这些编写小游戏的过程中,大家有没有发现一些繁琐简单但又不得不重复去做的事情,如插入图片的坐标计算、音频组件的时间控制、基本物理效果的逻辑实现……可以说,这些重复而繁琐的劳动对于任何一款游戏都很必要,但对于任何一款游戏又并不“重要”。因此,游戏引擎便应运而生,游戏引擎相当于一个综合型的编辑器,其中包含了动画编辑器、图片编辑器、物体编辑器、物理系统编辑器,这些编辑器大大减少了程序员们写代码的数量,使得程序员们写的代码主要用于实现游戏的核心逻辑或者辅助编辑器的使用使其更加灵活多变。

因此可以说游戏引擎的出现大大避免了游戏开发者们将过多的精力浪费在书写一些基础的代码上,相反可以更专注于游戏的玩法和内容本身。这样一来使得游戏开发的过程变得更加高效,也促成了更多优秀电子游戏作品的出现。

综上而言,在我看来,一款真正好用的游戏引擎是在便利游戏制作的同时又能尽可能大地保留其灵活性。现如今市面上的游戏引擎也不少,灵活性较低的如RPG制作大师、魔兽地图编辑器等,这些游戏引擎当然容易上手,但顾名思义,RPG制作大师可能只适于制作RPG剧情类游戏,而魔兽地图编辑器当然也只能制作魔兽地图,用它们来制作其他游戏大概就有些困难;而另一些游戏引擎,如Unity、UE4等则是灵活性较大的游戏引擎,也是当前最主流的一类引擎。

关于游戏引擎的选择自然是仁者见仁,智者见智,如果你想只想要完成一些特地类型的游戏,如做一个魔兽地图,那么像魔兽地图编辑器当然是最好的选择(还有别的选择么);而对于更专业的引擎,也是各有优缺点,如Unity现在是小型团队制作独立游戏的首选,但在制作3A级别的游戏和UE4、霜寒等引擎相比就有些乏力。不过,对于想要进行独立开发,做一些中等规模的游戏,对于各类新型的游戏创意感兴趣的朋友,我的推荐引擎依旧是Unity(当然不是因为它的主要功能是免费的(^_^)),而我今后关于电子游戏相关的阐述,也是以Unity引擎为基础的。

另一点需要注意的是,Unity引擎的核心是强大的编辑器功能而非C#语言,说到底C#脚本也不过是Unity中的一个组件(当然是很灵活而且强大的组件)。我们在学习Unity的过程中,并不应该将重心放在C#的学习,而是Unity引擎的各种功能以及自带的方法的学习,或者说是学会如何将脚本与引擎配合使用,以期发挥其强大的功能。在这里我们通过几张图片来举个例子。

首先我们创建一个新的物体并命名为“Player”
然后我们写一个PlayerController的C#脚本并定义几个变量,其中moveSpeed变量我们姑且认为它代表该物体的移动速度(变量前没有特殊说明的均为私有变量即private)
然后我们将该脚本挂接到Player物体上并看到物体的组件中出现PlayerController的脚本组件
现在,我们在moveSpeed变量前加上public修饰,代表其为共有变量,即可以被外部访问
然后,我们可以看到Player物体的脚本组件中出现的MoveSpeed的变量,这表示我们可以很方便地在编辑器中修改这个变量的值,通过调试来达到我们想要的效果!!

Unity作为现在最受欢迎的游戏引擎之一,其强大的功能完全足够我们做出自己的满意的电子游戏作品。而Unity中还有许许多多其他方便的功能等待着我们去发掘和学习,今天我们先简单介绍到这里,其他的我们今后再说。

发布者

大瓜子

大瓜子

bug与代码齐飞,头顶同皮肤一色。

发表评论

电子邮件地址不会被公开。 必填项已用*标注