使用游戏引擎,能够简化我们的游戏编程工作。此外,还有一个原因是C /C#可以无缝兼容大多数游戏引擎,有了游戏引擎,工作量就大大减轻了,因为游戏引擎本质上就是一组可供我们调用的函数集合,它已经为我们封装了那些底层的代码,来,上面说完引擎,我们说下引擎使用的语言。
1、游戏的引擎到底是什么,它在游戏中起到什么作用?
所谓游戏引擎,简单地来说,就是一组专门用于游戏编程的API(ApplicationProgrammingInterface,应用程序编程接口,不懂编程的可以简单粗暴地理解为一组函数)的集合。使用游戏引擎,能够简化我们的游戏编程工作,为了便于大家理解,我举个比较容易明白的编程方面的类似例子。比如说,在我们实际的编程中,会经常根据需要编写大量的函数,每一个函数能够完成一定的功能,
简而言之,每个函数就是一个功能载体。例如,要实现查找功能,就编写一个boolfind(stringObjName)函数,该函数带一个参数,即要搜索的对象名,并返回一个bool(逻辑真假)值,如果该对象没有找到,就返回假(false),否则返回真(true)。这样,如果我们在编写程序的过程中,想确定一下某个对象到底存不存在时,只要调用这个函数即可,从而大大简化了工作量,
同样的道理,游戏引擎也是做的类似的工作。在游戏编程中,由于考虑到性能等等多方面的问题,很多时候需要直接访问硬件底层,如果不使用游戏引擎,带来的工作量是相当之大的,难度也是非常之高,有些时候甚至是不可能完成,不过,有了游戏引擎,工作量就大大减轻了,因为游戏引擎本质上就是一组可供我们调用的函数集合,它已经为我们封装了那些底层的代码。
我们无需关心这些功能具体是如何实现的,只需要根据我们的要求调用相关函数即可,还是用上面那个搜索函数的例子来类比,你要想实现查找,就调用find函数。至于find函数是怎么实现查找ObjName对象的,用的是什么算法,在搜索过程中需分配多少内存,查找如何根据一个字符串去匹配一个对象或者遇到错误又如何处理,等等,我们无需去关心,
2、白痴问题:打算学vr,搜了一下要学U3D,而U3D是游戏引擎?
先说答案,现阶段unity和c#绝对是你的一个很好的选择。vr开发处理的是用户的输入,并给用户一个满意的输出,现在unity在这方面做的很好,输入方面,在处理vive,oculus,psvr这种pc或者主机平台的输入还是gearvr这样不带手柄的输入,都能提供很完善的解决方案。输出方面,3d图形学的输出算是老本行可能效果不如ue4精美,可是还能够接受,主要还是看开发者水准,优化方面unity最近的版本也算有所作为;除了3d图形输出,视频这种细分领域也是有各种插件的,
3、游戏一般用什么编程语言开发?
开发游戏的编程语言有很多,不同的平台会使用不同的语言。这里我把平台类型主要分为四大类,即PC端,游戏主机,WEB端,移动终端,下面就分别来介绍一下这四类平台上的一些游戏开发语言。PC.PC端的游戏绝大多数都运行在微软的Windows系统下,游戏可以被视为一类交互性比较强的软件,既然是软件,那么理论上能够开发软件的编程语言也都能用来开发游戏,事实也确实如此。
但在实际开发中,为了兼顾游戏的执行效率,PC上的大型游戏往往使用C 或者C#这类高性能语言进行开发,此外,还有一个原因是C /C#可以无缝兼容大多数游戏引擎。游戏主机.目前主流的游戏主机有微软的XBOX和索尼的PlayStation,XBOX可以视为一个另类的PC机,它的游戏开发与现在Windows端的开发大同小异(同样可以使用Visualstudio),所以XBOX的主要编程语言也就同样是C 和C#。