| 三维游戏是相对二维游戏而言的,二维游戏为平面设计,使用二维坐标系,而三维游戏采用空间坐标,因此操作更自由,游戏的视角可变化,游戏场景、光影效果、动力模拟更真实,现在三维游戏也渐渐取代二维游戏成为游戏主流。
2014年全国中小学电脑作品赛,指导学生开发一款三维游戏《重力球》,接触并研究了一番三维游戏的开发。开发游戏,大家都知道需要懂编程语言,但大家可能不清楚游戏引擎的作用。下面谈谈我理解的游戏引擎和游戏开发的关系。
游戏引擎是什么?
解释之前,先介绍一个游戏引擎——Unity3D,那款《重力球》就是在用这个引擎开发的。通俗的说,游戏引擎可以让开发者只编写游戏的逻辑规则代码,如《重力球》游戏的小球主角的控制、游戏机关的触发、输赢判断、游戏视角控制等。至于如何显示环境贴图、如何显示光影效果、如何模拟重力效果等,这些只需要在引擎中通过设置几个参数就能搞定,也就是说开发人员不用去编写游戏的底层代码。下面引用来自权威的关于3D游戏引擎的介绍。
——3D游戏引擎是将3D图形的各种算法整合起来,提供便捷的SDK接口以方便游戏开发人员在这个基础上开发游戏的模块。优秀的3D游戏引擎可以完全满足各种复杂的3D游戏功能需求,可以让开发人员专注于游戏的设计而忽略底层的技术实现,达到快速开发的目的。由于3D游戏开发的复杂性及经济效益的考虑,目前国内只有屈指可数的互联网公司拥有自主研发的3D游戏引擎,中小型公司还是使用国外较为成熟的游戏引擎和工具,如Unity3D。
——Unity3D是由Unity Technologies开发的一款3D跨平台游戏开发引擎,以强大的跨平台特性与绚丽的3D渲染效果使其闻名出众。其内部封装了DirectX和OpenGL图形渲染库,并附带一些常用的渲染组件及着色器脚本。Unity3D不但整合了Nvidia PhysX物理引擎,并在其基础上封装了游戏中常会用到的物理组件,如碰撞体、连接体等。此外,Unity3D可横跨9种主流游戏平台,包括Web平台、PC平台、Mac平台、ios平台、Flash平台、Android平台、Xbox 360平台、PS3平台和Wii平台,无论是电脑游戏、网络游戏、手机游戏、单机游戏,都可以使用Unity3D轻松开发。目前Unity3D是免费的,官方为Unity Pro和Unity iOS Pro提供30天全功能试用期。还有,国内学习Unity3D的资料也比较丰富,互联网Unity3D的论坛也较为活跃。
怎么样?这就是游戏开发与游戏引擎的关系。顺便说一说在Unity3D中编程,Unity3D中使用脚本编程,主要有三种脚本语言,一个是C#,一个是javascript,还有一个不太熟,记不得名字,也懒得百度了。
本博文到此,由于学校要求写博文,写一篇凑个数,不过内容绝对是认真写的,不是瞎编,前段化了不少时间在研究这个,所以顺便在博客上留个影。 |