本篇记录的是Unity最令人激动的特性,那就是多平台导出游戏功能。曾几何时,Java、.Net甚至是Flash都向往着“一处编写,到处运行”的海市蜃楼,最终都因为自身或者其他一些原因不了了之。最近炒的很火热的html5也是标榜着跨平台,可惜业界大腕也是各自心怀鬼胎,离真正的统一标准还是有段距离。而这几年Unity凭借着其强大易用的编辑器和开发套件,在网页游戏和移动游戏市场占有了一席之地。随着Unity4.0的发布,以及Flash在移动平台的战略退出,我相信它一定能火。

想像一下,如果你的游戏原先需要发布到IOS和Android两个平台上,那么就需要多一倍的前端程序人员来维护不同平台的代码,更别说现在很多厂商都有IOS、Android、Web三平台制霸的野心了。而现在我们只需要一组Unity开发就能搞定一切前端了,省去了移植的精力和风险。这难道不令人心情激动吗?

回到正题,之前都只是在Unity游戏视图中测试,脱离了编辑器就无法运行游戏了。经常下载Windows游戏玩的童鞋一定熟悉这个步骤:安装完游戏后,直奔寻找exe文件,双击运行游戏就启动了。这个exe又叫可执行文件,顾名思义在Windows下要通过这样的专用格式才能执行计算机的指令,形成炫丽多彩的游戏。

而这种格式仅限于Windows,在其他平台下都有自己的标准。比如Android是apk,IOS是ipa,WP则是xap等等……通过Unity的导出功能,我们可以在几乎不需要修改代码的情况下,将游戏导出到相应的平台:

如君所见,Unity现在支持以下导出平台:

  • Web Player: Unity3d网页播放器格式,类似于FlashPlayer的实现方式,用ActiveX嵌在网页中,所以需要看到这些媒体就必须安装相应的播放器。什么你说Flash不用装插件?那是因为很多D版系统预装了Flash,方便了用户也让Adobe偷着乐。不过随着360和Unity的合作,前者的360安全浏览器预装Unity3d的方案实施会给Unity进军中国市场带来可观的便捷。
  • PC and Mac Standalone: PC/Mac独立平台,如果在Windows平台下就会导出exe,在苹果的Macintosh平台下就会导出app。
  • Android: 谷歌开源的操作系统,在国内凭借其众多的开发人员和应用,占有率应该也是数一数二的了。
  • Flash Player(Preview): Flash网页播放器格式,也就是我们最常见到的swf文件。我这里是Unity3.5版本,所以还只是提供预览,并不提倡商业应用。而在即将发布的Unity4.0版本中可完全支持。
  • IOS: 苹果公司的移动操作系统,目前iphone和ipad之类的产品都是使用这个。
  • Xbox 360: 微软的次世代家用游戏主机,用来挑战索尼的PS3,任天堂的Wii,这仨当年可称为游戏主机界三巨头了吧。招牌游戏有《战争机器》、《光环》、《质量效应》等等。最近新出的体感设备Kinect完全弥补了这个主机在体感游戏领域的空缺,使用纯粹的动作影像识别技术,玩家只需要靠身体动作就可以操作游戏,不需要通过类似Wii的体感感应手柄,再一次颠覆了体感游戏的定义。
  • PS3: 索尼的主打游戏主机,大作也是相当多,并且很多游戏只能在PS3上玩到,不像Xbox360的游戏很多PC上都有,并且因为厂商的原因还是以日系游戏居多。
  • Wii: 注重游戏性和大量的优质开发商是任天堂的一贯作风,因此Wii的机能和前两者比起来落差还是比较大的,不过因为当年Wii独有的“撸棒性”的存在,依然为任天堂打下了一片大好江山。

且不说三大家用主机,光支持Flash、Android、IOS导出就已经相当耀眼了,特别是现在游戏都开始向PC端+移动端共通的模式发展,应该不难想像今后的游戏必然是在家里用电脑玩,出门用手机玩,坐在床上用平板玩^_^ 。

Unity也很体贴地采用按模块授权收费的方式,咱不需要为额外的导出功能买单,需要什么导出功能买什么就好啦。具体价格可以去 官方商城 查看,总的来说对于公司这个价格真的算是很廉价了。但作为个人学习/爱好者来说,完全可以只使用免费版做练习(画外音:当然也有XX版啦,Unity也是睁一只眼闭一只眼,个人感觉这应该是跟D版Windows类似的战略,先占领市场再把转化成付费用户)。

继续回到正题,导出步骤其实很简单,先在主菜单中找到导出设置(Build Settings…),点击Build Setting窗口里的Add Current按钮把需要导出的游戏场景加入到列表里(如果想删掉就选中对应的场景并按Delete删除)。然后选择需要导出的游戏平台,点击切换平台(Switch Platform),最后点击生成(Build):

经过几分钟的等待之后,就可以生成对应的游戏文件了。Xbox360、PS3、Wii都需要特别的授权才能够导出,XX版没有这个功能……

正如前面所说,WebPlayer一定要安装Unity的网页播放器插件才行:

而Windows导出则比较成熟,并且还提供了一个启动设置框,通过它可以设置游戏的分辨率、图像细节、是否全屏和按键设置。Unity还支持Windows64位的导出,大同小异。而MacOSX的导出则必须在对应的系统下才能导出,作为一名买不起苹果机的穷小子表示无奈:

目前预览版Flash导出是不支持地形组件的,所以就会这样……汪洋大海啊亲^_^,其实也容易规避这个障碍,那就是像官方的射击游戏范例一样,使用自己的模型作为地面并添加碰撞器就可以了。

最后Android和iOS咱就无力展示了,咱没有这些系统的手机……另外作为WP7手机的用户表示很受伤,希望微软在Win8的时代不要再这么坑爹。而iOS的游戏导出则必须通过苹果系统的XCode编译才行,理由同MacOSX……再小小地YY一下,如果Unity能支持WP8的导出,那么一定会成为各大游戏厂商和独立游戏开发者的重磅武器。

Unity3D学习笔记(十三)导出游戏相关推荐

  1. Unity3D 学习笔记4 —— UGUI+uLua游戏框架

    Unity3D 学习笔记4 -- UGUI+uLua游戏框架 使用到的资料下载地址以及基础知识 框架讲解 拓展热更过程 在这里我们使用的是uLua/cstolua技术空间所以提供的UGUI+uLua的 ...

  2. unity3d 学习笔记四 skybox(天空盒) light(光源) halo(光晕)

    Unity3D学习笔记(四)天空.光晕和迷雾 六年前第一次接触<魔兽世界>的时候,被其绚丽的画面所折服,一个叫做贫瘠之地的地方,深深印在我的脑海里.当时在艾泽拉斯大陆还不能使用飞行坐骑,试 ...

  3. Unity3D 学习笔记3——了解U3D引擎的操作面板和各种工具

    Unity3D 学习笔记3--了解U3D引擎的操作面板和各种工具 在完成了Unity的安装破解之后,我们接下来要做的当前是启动这个引擎,然后学会如何去使用它为我们提供的各种工具,这也是上手任何一个软件 ...

  4. Unity3D学习笔记:粒子特效参数

    Unity3D学习笔记:粒子特效参数含义 转载 https://blog.csdn.net/asd237241291/article/details/8433534 粒子特效 粒子系统检视面板 初始化 ...

  5. Unity3D学习笔记(二、小球滚动吃金币)

    源码:键盘方向键操作小球滚动吃金币Unity3D源码 下篇:Unity3D学习笔记(三.小球跑酷) 一.颜色材质球创建  二.Plane平板创建 三.围墙 同理二,新建Cube,并调整属性,设立围墙 ...

  6. Unity3D学习笔记6——GPU实例化(1)

    文章目录 1. 概述 2. 详论 3. 参考 1. 概述 在之前的文章中说到,一种材质对应一次绘制调用的指令.即使是这种情况,两个三维物体使用同一种材质,但它们使用的材质参数不一样,那么最终仍然会造成 ...

  7. Unity3D学习笔记8——GPU实例化(3)

    文章目录 1. 概述 2. 详论 2.1. 自动实例化 2.2. MaterialPropertyBlock 3. 参考 1. 概述 在前两篇文章<Unity3D学习笔记6--GPU实例化(1) ...

  8. Unity学习笔记—二次元日系游戏制作(实践篇-游戏初始化场景制作)

    原教程:siki:二次元日系游戏制作工具 - live2dSDK入门教程 http://www.sikiedu.com/my/course/282 (上)Unity学习笔记-二次元日系游戏制作(理论篇 ...

  9. Polyworks脚本开发学习笔记(十三)-深入了解MACRO命令

    Polyworks脚本开发学习笔记(十三)-深入了解MACRO命令 MACRO命令中包含了很多宏脚本管理以及变量操作命令,交互操作命令等,是非常重要的一个模块. 数组和字符串操作 从数组中拿掉一个元素 ...

  10. Unity3D学习笔记12——渲染纹理

    文章目录 1. 概述 2. 详论 3. 问题 1. 概述 在文章<Unity3D学习笔记11--后处理>中论述了后处理是帧缓存(Framebuffer)技术实现之一:而另外一个帧缓存技术实 ...

最新文章

  1. The type List is not generic
  2. 小学计算机说课稿,小学信息技术说课稿《新建文件夹》
  3. 美团股价盘中涨幅超7% 市值重回2万亿港元关口
  4. python logging详解及自动添加上下文信息
  5. java计算机毕业设计实验室耗材管理系统源码+系统+数据库+lw文档+mybatis+运行部署
  6. cc2530设计性实验代码六
  7. 数据包的忽略打印与脱敏打印
  8. Qt调用ffmpeg录制屏幕
  9. centos7 wps安装
  10. 【CUDA】解决NVIDIA安装程序失败问题
  11. python大数据之缺省值处理
  12. CAN总线网络知识(一)
  13. python实现非标准正态分布下概率密度有关计算
  14. 利用MFC库获取指定城市的天气实况
  15. python io
  16. 5个网站让你成为主宰网络世界的神秘黑客
  17. 制造商零件编号(MPN)
  18. 刚刚 ,中国联通5G时空服务行业应用白皮书发布(附下载)
  19. 特征匹配(三):根据词典进行匹配
  20. AUTOCAD学习笔记2:样板文件的区分

热门文章

  1. 写给前端朋友们的一段话
  2. webWork和JSP整合案例
  3. Linux小企鹅哭了
  4. 《51单片机》用Proteus8画仿真电路的步骤
  5. linux python prophet,在python中使用Prophet预测每个类别的值
  6. java file 初始化_java类加载和对象初始化
  7. 男人要像狗女人要像猫
  8. wavecom 短消息相关 + 短消息中心站
  9. 使用junit测试遇到@test cannot resolve symble
  10. mysql分区表truncate分区数据_详解MySQL分区表