千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  零基础学IT  >  零基础学unity  > Unity3D游戏开发引擎跨平台怎么实现

Unity3D游戏开发引擎跨平台怎么实现

来源:千锋教育
发布人:syq
时间: 2022-08-17 09:48:57 1660700937

  Unity3D几乎是市面上最流行的游戏开发引擎,由Unity Technology(以下简称UT)公司开发,可用于Windows和Mac OS X系统(Linux系统实验版已发布)。最重要的是,它几乎可以导出到任何平台。那么Unity3D游戏开发引擎跨平台怎么实现的呢?

Unity3D游戏开发

  1.关于图形

  Unity 支持的图形 API 有 OpenGL、OpenGL ES、WebGL、Metal 和 DirectX,它们分别对应不同的平台。

  OpenGL被广泛使用,一些iOS设备、Mac OS X和Linux,甚至Windows都使用OpenGL。

  OpenGL ES 兼容手机设置,支持大部分 Android 和部分 iOS 设备。

  WebGL 是一个基于浏览器图形运行应用程序和游戏的新平台,无需安装 Flash 或 Unity WebPlayer 等插件。

  Metal 是 Apple 的新图形 API,与最新的 iOS 设备和加州计算机兼容。

  DirectX 是微软自制的图形 API 解决方案,兼容 Windows、Windows Phone 和 Xbox。

  虽然 UT 开发人员在图形处理上也花费了大量时间,但他们大部分时间都花在将这些工具集成到引擎中,而不是自己编写图形 API。

  2.关于物理学

  在物理方面,它比图形简单得多,Unity 始终坚持使用一种工具:Nvidia 的 PhysX,它支持 Unity 导出到的所有平台。可以这么说,它是市场上最好的物理引擎之一,自从它的第一代产品 Novodex 甚至不是 Nvidia 的产品以来,它就一直受到信任并且表现非常出色。主要原因是一个引擎方便处理所有平台的物理,并且游戏在支持的设备中的碰撞和移动行为是一致的,不会因为设备而导致游戏不平衡。

  3.关于照明

  Unity 的光照也依赖于外部工具,包括烘焙和实时光照。 Unity5 之前使用 Autodesk 的 Beast 作为烘焙光照的工具。 Unity5.x 使用 Geomeric 的 Enlighten 进行烘焙和实时光照。

  4.关于网络

  UT于2014年发布了其自制的联网多人解决方案UNET。之前有一些常用的网络解决方案,最著名的是Photon。而UNET由两部分组成:网络API(高级和低级API)和付费多人服务。由于这是一个内部项目,UT 必须将代码移植到所有支持的平台上,就像上面的图形、物理和照明一样,每个平台都是不同的。

  5.关于脚本

  脚本可能是每个人最关心的部分,因为使用引擎的目的是不必担心图形或底层物理。 Unity 支持 C# 和 Unity 脚本,无需任何转换工具即可将游戏导出到上述任何平台。

  查看 Xamarin 说明:

  用 C# 编写应用程序并直接从 C# 调用任何本机平台的 API。 Xamarin 编译器捆绑 .NET 运行时并输出本机 ARM 可执行文件,打包为 iOS 或 Android 应用程序。

  那么Mono开发的应用是绑定到整个框架的吗?当然不是,框架中没有用到的类在链接时就被淘汰掉了。只有使用过的部件才会被打包到最终的应用程序中。至此,Unity的跨平台原理基本讲完了,Mono是主要贡献者。顺便说一句,Unity 最初推出 IL2CPP 是为了取代 Mono 作为脚本后端,但由于它的 bug 太多以及导出的 C++ 文件很大,一直受到开发人员的批评。相信IL2CPP短时间内要完全取代Mono并不容易。

  希望以上内容对您学习Unity3D开发有所帮助!千锋教育拥有完整的移动Unity3D开发课程体系,欢迎大家来免费试听。更多关于unity培训的问题,欢迎咨询千锋教育在线名师,如果想要了解我们的师资、课程、项目实操的话可以点击咨询课程顾问,获取试听资格来试听我们的课程,在线零距离接触千锋教育大咖名师,让你轻松从入门到精通。

tags:
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT
开班信息
北京校区
  • 北京校区
  • 大连校区
  • 广州校区
  • 成都校区
  • 杭州校区
  • 长沙校区
  • 合肥校区
  • 南京校区
  • 上海校区
  • 深圳校区
  • 武汉校区
  • 郑州校区
  • 西安校区
  • 青岛校区
  • 重庆校区
  • 太原校区
  • 沈阳校区
  • 南昌校区
  • 哈尔滨校区