unity3d下载到底怎么样

cocos2d-x 和 unity3d 之间到底该怎么选择
10:40:11 +08:00 · 6369 次点击
本人是 iOS 开发者,想业余时间做游戏,但是不知道选择哪个游戏引擎,cocos2d-x 和 unity3d 之间该选哪个,选哪个都是零基础,谷歌了下,好像以后是 unity3d 的未来了,不知道你们有啥意见
58 回复 &| &直到
14:24:07 +08:00
& & 11:11:07 +08:00
什么情况啊
& & 11:42:23 +08:00
& & 11:42:55 +08:00
我觉得程序员的话 Cocos2d-x 上手比较快,可能我不习惯熟悉 Unity3d 的 IDE ,如果你不做 3d 游戏的话没必要用 Unity3d
& & 11:46:00 +08:00
@ 还是 u3d 上手快。
2d ,像 2048 , flappy bird 用 cocos2dx 就好了。
u3d 主要还是钱嘛···· 然后就是做上面说的几个小游戏有点杀鸡用牛刀的感觉。
& & 11:55:05 +08:00
unity3d 比较适合初学者 或者没有什么编程基础的人
有很多功能可以用人家写好的模块搭积木一样搭出来 如 对话引擎、剧本引擎、关卡引擎等
cocos2d-x 对 c++要求比较高 所以适合有一定编程经验和游戏开发经验的人
上述各种引擎需要自己写
& & 11:57:41 +08:00
unity 不仅是未来,还是现在
unity 不仅适合新手,也适合老手
& & 12:04:10 +08:00
一个 2d 一个 3d 你说呢 还是看你准备做什么
& & 12:08:21 +08:00
新手都要选上手快的。不然很痛苦
& & 12:29:58 +08:00
Cocos2d-x 就算上了手你也会非常痛苦
& & 12:30:53 +08:00
既然是业余时间做游戏为何不利用自身优势直接用 spritekit
& & 12:31:30 +08:00
以后是 cocos2d-x 多还是 unity3d 多啊,unity 不是也有 2d 吗
& & 12:31:34 +08:00
当然是 unity3d , unity3d 做 2d 游戏也是非常好用的
& & 12:50:13 +08:00
Cocos2d-x 就算上了手你也会非常痛苦 +1
& & 12:53:33 +08:00
我想要推荐 unreal engine 怎么办...开放源代码简直不能再赞
& & 12:54:24 +08:00
Cocos2d-x 就算上了手你也会非常痛苦 +2
& & 13:38:53 +08:00
既然是要做 2d 游戏,那 2d 引擎很多啊……多如狗
~~我说我自己写 2d 引擎会不会被喷~~
& & 14:03:20 +08:00
u3d 也支持 2d ,另外 Cocos2d-x 真的好痛苦。。。这个平台的 IDE 被玩坏了
& & 14:07:38 +08:00
cocos2d 系列的,不管是 cocos2d-x 还是 cocos2d-js ,都很蛋疼,文档很难读,莫名其妙的坑很多,不过 example 蛮多可以参考的, u3d 还没玩过
& & 14:19:30 +08:00
cocos2dx 你可以去看看他的代码
很多写的屎一样
勿入
老实 Unity 吧
& & 14:19:46 +08:00
& & 14:20:38 +08:00
@ 你是做啥的啊
& & 14:21:32 +08:00
之前做过五年游戏
现在弃坑了
& & 14:23:23 +08:00
@ 转行了吗
& & 14:24:49 +08:00
转了
对国内游戏圈比较失望
& & 14:41:16 +08:00
@ 自己私底下做点小游戏赚点零花钱也行啊,转行干的啥,透露下?
& & 14:49:50 +08:00 via iPhone
@ 大哥说说游戏转行干啥去了呗~
这样很多游戏领域的积累不是都浪费了啊....
& & 14:50:06 +08:00
炉石传说也是 unity 写的,你说用哪个
& & 14:52:54 +08:00
这都什么年代了,小游戏赚钱的年代很久远了。
现在一般的小游戏基本都是沉在海面以下没人看的到。
放在 12 年以前还可以。
回到一般的互联网行业。
& & 14:58:04 +08:00
技术永远是为业务服务的
做什么并不重要
很多知识都是相通的嘛
& & 15:13:51 +08:00
崩坏学园 2 也是 unity 写的。。
& & 15:16:53 +08:00
Unity3D 。不过正版价格吓人。
& & 15:41:43 +08:00 via Android
没用过 u3d,但是暑假学习了一点 cocos2d ,感觉太痛苦了。
& & 15:42:34 +08:00
我是想用 unity3d 开发 2d 游戏
& & 15:46:26 +08:00
@ 不是已经免费了吗,只是挣到一定金额后,需要分成
& & 16:15:18 +08:00
Cocos2d-x 就算上了手你也会非常痛苦 +1
& & 16:26:30 +08:00
年 10 万刀以下免费
& & 17:05:00 +08:00
我是设计,做美工,也想做游戏
哪位开放一起合作哈
:最好坐标北京
& & 17:10:16 +08:00
做过两年 2dx,现在已经出坑了.2dx 本身的坑之多,令人发指.更别说文档,相关支持,工具``
& & 17:16:24 +08:00
行内的行外的?
& & 17:17:32 +08:00
Cocos2d-x 很多坑,真真的..
还是 U3D 吧
& & 17:33:15 +08:00
@
@
都是过来人啊,知道这个巨坑不能跳
& & 17:34:30 +08:00
@ 我想看看你的 2d 引擎
& & 17:43:49 +08:00
纯 2D 纯渲染的不会太复杂
比如云风写的
& & 17:51:11 +08:00
& & 17:58:45 +08:00
纯 2D 渲染确实不是很复杂,我觉得这个也取决于需要什么引擎吧,比如说 html5 这边的, pixi.js 就需要很多后续处理,因为它只负责渲染。不过如果用 easeljs 或者 phaser.js 就简单不少了。
我是票友票友,烂的很,各方面小学生,我就那么一说,不要太认真
我写的垃圾还停留在很初级的阶段,想看看可以看一眼 gitpages
& & 18:01:55 +08:00
既然楼主是为了想赚钱,自然选择坑最少,社区资源最丰富,开发工具最全面的东西了
可能还是 Unity 好一点,别的不用想太多了
& & 00:20:22 +08:00
用了两年 -x ,现在转 u3d 的路过。-x 就是社会主义初级阶段, u3d 就是水生火热,跟党走,不骗你。
& & 00:33:50 +08:00 via Android
腾讯安卓上的游戏大多都是 u3d
& & 10:29:08 +08:00
个人不喜欢 cocos2d-x ,更喜欢 u3d 。
但是我没有用过 cocos2d 3.0 以上的版本。 2.x 时代的 cocos2d 太蛋疼,引擎本身就有很多 bug 不说,坑很多。周边工具也不完善。做不了复杂的 ui ,就算有 cocosStudio 也是各种抓狂。
还是 u3d 比较友好,发展也很迅速……虽说正版收费高,但是也有 free 的版本啊。而且不是大规模的游戏,做点个人作品完全够用,移动平台基本版 license 也是免费的,不开源又何妨。。最重要的是文档完善,社区内容也很丰富。有一种左右逢源的感觉。
& & 10:44:26 +08:00
@ 似乎选完名字以后不能再继续了,
& & 11:34:37 +08:00
@ u3d 对 UI 要求高吗,因为我是一个人,是程序员,对 UI 高的话,那还得招人弄图啊
& & 12:42:41 +08:00
看得到请稍等的界面,可能后续资源没刷出来
& & 12:51:18 +08:00
不要试了,很简单的 demo ,也许最新版 chrome 和 ff 能打开,因为某些地方用了接近 es6 的代码,对客户端要求很高
(用这种代码就是因为我没想过要在线版的,用 node-webkit 或者 cordova 包就不会有浏览器兼容问题了
& & 13:33:38 +08:00
这............
& & 16:42:50 +08:00
不负责任地推荐一下 libGDX+Overlap2D , libGDX 文档坑了点,但是源码风格很棒。 Overlap2D 看介绍还不错,没试过。自己写着玩玩可以考虑一下,不过要想快速出成品的话还是首选 U3D 。
& & 16:47:33 +08:00
@ 我也是北京的,客户端开发,有空聊聊?
& & 11:56:53 +08:00
@ UI 要求主要还是根据你自己项目决定的。想要又简洁又出效果还是要花点心思。做 ui 还是要直观,手写太累……我之前用 NGUI 现在全面转向 uGUI ,上手同样方便。
说句题外话,也许大多数程序都觉得美术是锦上添花的东西。但是自我感觉游戏美术太重要了,毕竟是看脸的世界…… Innovation 和 fun 固然重要, Graphics 和 Audio 更容易让你的作品出彩。
推荐 LD 给你,上面几乎都是个人作品,竞赛单元的作品均在 48 小时内完成。(八成你早就知道了吧)
& & 14:24:07 +08:00
@ 恩,谢谢你的建议, UI 还是得找人做
& · & 1990 人在线 & 最高记录 3541 & · &
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.0 · 62ms · UTC 14:23 · PVG 22:23 · LAX 06:23 · JFK 09:23? Do have faith in what you're doing.以26亿美元估值获4亿美元融资 Unity是如何“说服”投资人的? - A5创业网
扫一扫,联系编辑获得审核机会
符合以下要求,获得报道机会
1. 新公司求报道
2. 好项目求报道
3. 服务商求报道
4. 投资融资爆料
客服热线:400-995-7855
当前位置:&&&
以26亿美元估值获4亿美元融资 Unity是如何“说服”投资人的?
08:37&&来源:&
  我们获得消息,硅谷的很多投资者希望参与Unity Technologies价值4亿美元的融资。据知情人士透露,他们收到的投标书或期限表,大多是其预计获取金额的三倍以上。
  而这使得San Francisco-based Unity的CEO Riccitiello处于强势地位。他在不需要投资的时候为游戏引擎制造商筹集资金,这也大大提升了公司1400名员工资金的流动性,这次筹集的资金大约有2亿美元用于员工。Riccitiello说,至于其他部分,创始人大卫&赫尔加森(David Helgason)和约阿希姆&安特(Joachim Ante)仍然拥有大量的股份,创始人和雇员仍然占有公司的大部分份额。
  与此同时,Silver Lake的董事总经理Egon Durban正在加入Unity董事会,同时加入的还有其他外部董事:红杉资本(Sequoia Capital)的Roelof Botha和德丰杰成长基金(DFJ Growth)的Barry Schuler。昨天就此次投资采访了Riccitiello。他表示,Unity站在一个独特的位置,它为游戏所做的就像Adobe为摄影所做的那样:成为事实上的内容创作引擎。
  Unity成立于2004年,它计划是使游戏开发民主化。它已经通过创建一个可以在任何平台上运行游戏的引擎,从而不需要将项目移植到每个新平台上的巨大成本。这使游戏开发商能够降低成本,并从更多平台获得更多的收入。从这个意义上看,Unity可以让开发人员不再受到平台所有者的支配,他们往往以大型游戏开发的资金为前提,以预防排他性。
  Riccitiello表示,Unity正在游戏引擎方面蓬勃发展,公司的主要竞争对手是游戏开发公司内部制作的游戏引擎。他说,Unity支持超过50%的手机游戏和大约一半的PC游戏。使用Unity的游戏和应用程序的设备超过了24亿台。Riccitiello也认为Unity在未来的平台中处于领先地位,其中包括AR和VR,目前Unity已拥有70%的份额。
  这是我们的采访编辑记录。
  GamesBeat:融资的原因是什么?
  John Riccitiello:说实话,这没有什么特别的。其中一部分是,因为这笔钱,我的员工可以过上自己的生活。第二个原因就是,我信奉这样的原则,你在可以筹集资金的时候筹资,而不是在你需要的时候。我们的业务做得非常好,所以我们选择筹集资金,除此之外,并没有什么特别的需要。
  董事会和我讨论了很多。&你为什么这样做?&我说,&因为我们可以。如果我们有需要,那就是我们可能做不到了。其实并没有很多具体的理由去做。&
  GamesBeat:创始人是否仍然持有股票?
  Riccitiello: David Helgason和Joachim Ante都在董事会上,他们继续持有大量股票。他们是最大的个人股东。红杉的占股份额较大,但还是在创始人之后。
  GamesBeat:这里的赢利点是什么?你认为为什么投资者的回应如此好?
  Riccitiello:我认为这个概念很简单。现在我们已经存在于超过50%的新手机游戏上了,而且这个数字在上升。如果你的平台上拥有超过一半的新移动内容,那么显然,随着时间的推移,这将是一个很棒的业务。这是比Adobe或AutoDesk的建立更让人自豪的事情。AutoDesk以建筑,工程和结构为重点。Adobe拥有世界各地的内容创建器。Photoshop几乎是世界上每张照片背后的基本应用程序。他们已经建立了一个价值600亿美元的帝国。他们有其他的东西,但Photoshop是他们的核心竞争力。
  有一个普遍的看法,在未来的10到15年的时间里,AR、VR、XR、MR的一个版本或者其他版本都可以完成任何你称之为想要的东西&&你会存在于一个越来越强大的世界,它将是一个与互联网一样大的构造。
  我做一下如下类比:internet 1.0用的是28K调制解调器。互联网2.0是宽屏平面屏幕。Internet 3.0将与所有数据进行交互。运行瑞士大型强子对撞机的科学家们使用Unity来查看从他们的粒子流中流出的数据。同样的,每个人都使用Photoshop来处理平面图像,你也会需要一个游戏引擎&&或者基本上是渲染,动画,物理和照明管道&&以便在互联网3.0中看到这个世界。我认识的每个聪明人都是这么认为的。拥有着70%市场份额的我们可以成为那家公司,并遵循与Adobe类似的轨迹。
  我们的根源在游戏,我们非常重视游戏。这是我们做的最大的一部分,我们永远不会忘记它。但事实证明,游戏引擎才是我们所需要的一切。我们从一家服务世界经济25%,或任何与游戏相关的公司,转向服务金融机构、大数据、汽车的公司&&大众都认为我们将进军其他99%的经济市场。
  有一个真正的信念,你不能失去在游戏中的主导地位。但是,你可以以类似于Adobe的方式赢得巨大的收益,因为AR和VR这类产品在未来15年可能会反映1999年至2015年Photoshop的兴起,Adobe因此净赚550亿美元。他们在周围建立了很多服务,但他们提供的核心是Photoshop。总有一个应用程序将统治它们,Unity可以是那个引擎,这就是投资理论。
  GamesBeat:对于投资者来说,现在有进度表吗?他们现在占了股权所有人的大部分吗?
  Riccitiello:不,他们还没有。公司的大多数股份仍由创始人和员工所有。我告诉他们,我们在2019年之前并不会上市,不知道在2019年是否会上市。我们有很多理由继续发展业务。现在每个投资者都说,这是一个尴尬的事情,就是他们很有耐心。红杉已经在这八年了。这就像他们说的&&自己是长期的投资者。
  在某种程度上可以说,Unity就像是&瑞士&一样,我们为所有平台服务。其实我们作为独立公司更好,但长久来看很可能还是上市。不过现在我们有足够的资本,不需要很快就做IPO,所以我们会选择一个更合适的时间。
  GamesBeat:你们与Epic和腾讯(他们的大投资者)相比竞争力如何?
  Riccitiello:腾讯在中国就已经是最强的了,世界第一大游戏就是由腾讯投资的。显然,他们的顶级产品可以每天产生1500甚至2000万美元的收入。但我不认为腾讯真的在使用虚幻引擎。今天的主要市场是移动的,而我们的市场已经扩大到虚幻引擎的40倍。在VR和AR方面,我们是四到五倍。
  坦白说,我尊重蒂姆&斯威尼(Tim Sweeney)。他是一个有远见的人。他擅长于做他擅长做的事情。在这里,Epic不得不尊重我们,相较而言,我们的市场要大得多,而且我们的发展越来越快。去年在手机方面,我们在市场份额方面的增长相当于六个Epic。这不代表我们害怕他们。我们的增长速度比他们快得多。譬如马登(Madden)与索尼(Sony),世嘉(Sega)和嘉宝(Acclaim)的竞争。我认为他们的相互竞争更有利于他们的相互促进。至于对于Epic,我根本没有任何消极的看法。
  GamesBeat:亚马逊也给了你动力吗?
  Riccitiello:竞争是一件好事。如果我们没有人竞争,就会变得很懒惰,或者也许我们就不会成功。我是一个做事主动的人。但是,有他们在那里激励着我更好。
  GamesBeat:你有1400名员工。你希望很快地改变这个规模吗?
  Riccitiello:我们每周雇用10到15个人,所以这个数字是变化的。但是像我们这样的公司都有一些人员上的调动。不过我们的流动量很小。我们可能会在这一年增加100到200人。我们不是像两年前一样招聘,而是完善公司来做我们现在能做的所有事情。不过我们还在增长,而且收入增长更快。
  GamesBeat:再来说说你们的发展方向吧,你认为你们在高端游戏机和个人电脑上的市场份额是多大的,或是你们将直接进VR市场?
  Riccitiello:我们看到市场份额在平台上大幅上涨,现在约占35%。但是,我认为事实上&&如果没猜错,有一些以工程为中心的公司将继续建立自己的技术,EA是其中之一(我参与了EA的11款游戏引擎的创建),我很佩服他们。但是,大概最终80%的控制台都会采用第三方技术,因为游戏公司建立自己的技术并不是最有效的。投资会获得更好的回报,或者他们可以创造世界上最好的内容。
  我的观点是,转变与发展总是会发生,我不会那么吝啬。我不认为第三方游戏引擎技术将占领百分之百的市场。它可能会达到80%,甚至可能达到90%,但我不认为可以完全替代其他公司的位置。
责任编辑:佩佩
延伸阅读:关键词:
微企点:海量精美模板 H5自助建站平台
扫描二维码关注A5创业网了解最新创业资讯服务
&徐州八方网络科技有限公司&版权所有&
举报投诉邮箱:
扫一扫关注最新创业资讯Unity3D开发技巧:如何避开unity编辑器的那些坑
招聘信息:
文/瀚阳以下总结一部分来自经验之谈,一部分来自其他人的分享。总的来讲,Unity开发原型和效果、验证想法,确实是无比便利。可能一个月就把核心玩法做得差不多。强大的编辑器功能让我们也有很大的可扩展空间来协助我们开发工具。可是编辑器是把双刃剑。如果提前看清楚有什么坑在前面,或者其他人踩过什么坑。我想这会对项目风险的把控会有很大帮助。避开unity的坑1.制作抽象的prefab来做关卡编辑尽可能制作抽象的prefab来做关卡编辑,该prefab应该足够抽象简单(只有一个GameObject,然后通过Gizmo来绘制是个不错的手段),否则以后变化的时候(常见的就是改美术资源),所有关卡都lost prefab,那么对策划来说是一场灾难。可以考虑通过数据表+编辑器的方式来提供策划操作同时也不再需要担心lost prefab的问题。prefab越简单抽象越不容易丢失,prefab之间嵌套的正确方式是通过链接而不是挂在节点下面。2.尽可能避免修改Scene,方法有几种:使用xml之类的数据组织场景尽量多让scene由prefab组成,这样变动都在prefab上使用工具做场景Merge3.不要过度依赖Component特性来开发,考虑数据驱动。4.逻辑容易散落在编辑器各处,可以做一个中心管理。利用Unity的特性组织好hierarchy,不管是编辑的时候还是运行的时候,编辑的时候可以通过工具来简化组织层级的工作。让每个场景自己能跑。利用基于组件的架构,尽可能少的使用继承(用C#的话),多通过组合来完成开发。遇到需要数据访问的通用接口,我们可以通过组合的方式来完成,而不是提供一个公共基类接口来继承,只要大家都认识这个公共组件就可以取到数据了。遇到通用的事件派发,我们可以用字符串拼接的方式派发到指定的对象或者更参数组合派发事件到对象身上。框架采用星型架构+事件机制,由于Unity3D没有一个所谓的入口函数,不利于代码跟踪,这样的基础架构能带来很多便利。unity界面扩展能力很强,而且借助CLR(commom language runtime)的反射能力,C#里面开发界面非常容易。做好tag、layer规划,要考虑业务中哪类物体之间需要交互。在代码里面get某个prefab或者GameObject,可以考虑利用界面拖目标过来,这样更加直观,而且也能对抗变化,比如目标名字变了也不怕,而且还能节省代码量。代码这里针对C#,静态强类型面向对象本身就是一个坑,继承带着两个职责,一个是复用代码,一个是接口继承。虽然性能比lua高那么一丢丢,因为性能瓶颈不在业务本身,设计上的问题要严重得多。我认为像lua这种动态语言的元编程才能够贯彻单点真理,通过元编程把真理推导到系统的每一处。让代码始终保持语义,而我认为写业务代码最重要的是保持语义。保持语义的简单有效评判方法就是看这个类中的某个函数,单独看它能否看懂;多个接口能否组成完备的解决方案。静态强类型面向对象语言比较适合需求稳定的严谨的系统开发,而不是游戏开发。容易经过多次的策划需求冲刷,语义很容易扭曲,各种抽象泄露、各种hack。好吧,跑题了。Unity3D容易被破解,因为发布版本的IL是非常容易被反编译的,要做好混淆的考虑。在Unity3D中混淆要考虑对编辑器的影响。复杂类型尽量使用引用类型,值类型反射麻烦,不方便序列化以及做成编辑器。值类型要小心赋值对象是否只是临时对象。引用类型释放之后,引用它的指针会置为null,可以放心使用。foreach、linq、协程慎用,反射只在编辑器中使用。考虑封装Time,方便做暂停。考虑使用调度器来完成功能,而不是在Update自己维护状态,这样做暂停也很容易,代码更清晰,功能更内聚。增量更新要一开始就想清楚。美术Unity3D可以通过扩展编辑器让非技术人员编辑界面来工作,组织好美术资源规格、路径,并且自动生成prefab。游戏场景物件也要规划好逻辑节点,这个也应该通过编辑器扩展好。复杂功能也应该通过编辑器开发给策划微调,特别是可视化比较重要的模块,比如动作调整。制作原型美术,让开发提升开发效率。有统一的约定,比如模型总是中心对齐,角色总是脚部对齐,统一的缩放、统一的动画骨骼命名,资源有统一的路径。支持换装(avatar)要一开始就想清楚。资源加载和优化尽可能早地给出雏形(只是雏形,帮助你对需求的把握,因为这时候你还不知道热点在哪),因为一旦没有规划好异步和资源释放,那么阻塞卡顿和内存飙升那是意料之内的。因为有雏形,那么代码会间接一点,也为改变提供了空间。
微信扫一扫
订阅每日移动开发及APP推广热点资讯公众号:CocoaChina
您还没有登录!请或
点击量6646点击量5944点击量4816点击量4543点击量3285点击量3068点击量2796点击量2552点击量2519
&2016 Chukong Technologies,Inc.
京公网安备8913被浏览1,064分享邀请回答11 条评论分享收藏感谢收起Unity是如何跨平台的?_用户_新浪博客
Unity是如何跨平台的?
如果你是开发者,并且对托管代码和原生代码、执行环境和不同平台这些概念非常熟悉,那本文就是为你准备的。而如果你不熟,既然来都来了,就看完再走吧。
& Unity3D几乎是市场上最流行的游戏开发引擎了,由Unity
Technology(以下简称UT)公司开发,它可用于Windows和Mac OS
X系统(Linux系统实验版已发布)。最重要的是,它几乎可以导出到任意平台。
& 关于图形
& Unity支持的图形API有OpenGL、OpenGL
ES、WebGL、Metal以及DirectX,每个API都对应不同的平台。
& OpenGL应用很广泛,一些iOS设备、Mac OS
X和Linux,甚至Windows都用到了OpenGL。
ES兼容手机设置,支持大多数Android和部分iOS设备。
WebGL是一个新平台,基于浏览器图形运行应用和游戏,无需再安装Flash或Unity
WebPlayer这样的插件。
Metal是苹果新出的图形API,兼容大多数近期的iOS设备及Californian公司的电脑。
DirectX是微软自制的图形API解决方案,兼容Windows、Windows Phone以及Xbox。
虽然UT的开发者在图形处理上也废了不少功夫,但大多时间都花在将这些工具集成到引擎中,而非自己写一套图形API。
& 关于物理
说到物理就比图形单纯多了,Unity至始至终都坚守一个工具:英伟达的PhysX,它支持Unity要导出的所有各个平台。这么说吧,它是市场上最好的物理引擎之一,并且从其第一代叫做Novodex还不属于英伟达的时候开始,就备受信任且性能表现极好。主要是因为一个引擎就搞定所有平台的物理也很方便,而游戏在所支持设备中的碰撞和移动表现行为都是一致的,这样才不会因设备导致游戏失衡。
& 关于光照
嗯,Unity的光照也是依赖外部工具实现的,包括烘焙和实时光照。Unity5之前使用Autodesk的Beast作为烘焙光照的工具。Unity5.x用的是Geomeric的Enlighten实现烘焙和实时光照。
& 关于网络
UT在2014年发布了其自制的网络和多玩家解决方案UNET。之前有一些常用的网络解决方案,最出名的就是Photon。而UNET包含两个部分:网络API(高层及底层API)和付费的多玩家服务。由于这是内部项目,所以UT必须将代码移植到所有支持的平台,就像上面的图形、物理、光照一样,各个平台均有区别。
& 关于脚本
脚本可能是大家最关心的部分,因为使用引擎的目的就是不用自己操心图形或物理底层。Unity支持使用C#和UnityScript编写脚本,且不需任何转换工具就能将游戏导出到上述提过的任意平台。
& 很长一段时间我都在纠结,Unity是怎么做到这点的?
终于有一天,我顿悟了,之所以纠结这么久是因为一开始方向就错了。实际上做到这点的是Mono而并非Unity。那么Mono是什么呢?官网介绍,Mono是一个“跨平台开源的.NET开发框架”。这么说还是很含糊,那就先扒一下Mono的历史(我们是一个严肃的技术社区)。
微软在2000年发布了作为“基于网络标准的新平台”的.NET框架之后,有个叫Miguel的牛人开发了.NET的表妹Xamarin。为什么是妹妹呢,因为它跟.NET很像。为什么是表妹呢,因为Xamarin是基于Linux开发的。他之所以决定搞一个表妹出来,是因为微软的.NET不支持Linux或其它非微软的平台。
2001年的时候Mono开源了,其中包括它自带的C#编译器和CLR(公共语言运行库),这位大神将.NET框架带到了其它平台。一开始呢,Mono的功能当然是远远落后于.NET的,但经过这么多年的成长,它已经完全可以媲美.NET甚至有些地方还反超了.NET。总之就是,Mono是一个C++编写的开源.NET开发框架,可以在全平台运行。
到这里Mono的历史就扒完了,理一理思绪回到Unity。上面说过了,可以使用C#或UnityScript在Unity中编写脚本。那么问题来了:Android需要Java,iOS需要Object-C,那用C#编写的Unity游戏要怎么运行到那么多平台呢?Unity编译器编译到每个平台都是使用原生代码吗?
先说第二个问题,肯定不是啊,都用原生代码编译那Unity会疯掉的。再说第一个问题,Android不仅可以用Java开发,也可用原生代码(C/C++)来开发呀。这就是Mono所做的事情。
好乱好乱,再理一理。现在要在Android设备上运行一个C#写的游戏,但是没有C#的运行环境啊,怎么办?没关系,Mono来运行。可是Android设备上没有安装Mono啊。额,其实Unity帮你把Mono的运行时环境打包进去了(当然你得是用Mono开发的)。
& 看看Xamarin的使用说明:
用C#编写应用,直接从C#调用任意原生平台的API。Xamarin编译器会捆绑.NET运行库并输出原生的ARM可执行文件,打包成iOS或Android应用。
那Mono开发的应用是绑定了整个框架吗?当然不是,框架中不使用的类在链接时就被剔除了。只有用到的部分会被打包进最后的应用。
到此Unity跨平台的原理差不多就讲完了,Mono才是大功臣。顺便提一下,Unity本来推出了IL2CPP替换Mono作为脚本后端的,但因为其Bug太多以及导出的C++文件太大一直被开发者诟病,相信短时间内IL2CPP想完全取代Mono也不是容易的事。
& 致力于一流创新定制,服务客户遍及全球,
公司有多款精心设计的软件产品,如诸君餐饮一体化管理系统、PadOrder电子菜谱、CDM文档管理系统、清洁能源参数优化系统、银行iPad文件管理系统等。
(责任编辑:ISF)
博客等级:
博客积分:0
博客访问:1,675
关注人气:0
荣誉徽章:

我要回帖

更多关于 蛮牛unity 的文章

 

随机推荐