likunhan 发表于 2020-11-24 09:04

如何看待unity引擎的成功?

如何看待unity引擎的成功?

shysky 发表于 2020-11-24 09:04

1、平台优势,赶上了手游浪潮
Unity的最开始的发展战略或者说最开始吸引用户的点就在于全平台,自从智能手机开始流行,移动平台就成了Unity的最大战略要地。
2、简单易上手的开发体验,对Unreal Engine实现了弯道超车
随着手游的爆发,由于Unity的简单易用,新手能在非常短的时间内做出自己想要的功能效果,自然大多数开发商为了成本考虑也会选择Unity作为引擎。
加上当时其他几个主流商业引擎的封闭性和高授权费以及不易上手这些特点,Unity一路过关斩将的把市场给拿下了,这是一个典型的良币驱逐劣币的案例。
至于大家诟病的画质问题,在Unity更新了可编程渲染管线后也得到一定的解决,详情请移步:
为什么虚幻4的渲染要比unity强,强在哪里了,想知道底层原理解释?

大明 发表于 2020-11-24 09:04

扩展能力强大是主要原因吧。
如果你是一个从UE,CE转过来的开发者,体验曲线大概是这样的:
一开始递减区间:开始熟悉功能,感觉越看越觉着这玩意的编辑器有种上世纪UDK的感觉,几乎没有任何可视化,API虽然挺简单,但是总感觉缺点东西……
低谷:MMP这辣鸡引擎咋啥都没有,我在UE/CE里用的某某某功能这里都没有。轮子少到贫瘠,字里行间都透露着“手游引擎”的感觉,越用越觉得LowBee。
开始上升:开始熟悉高级特性,逐渐对引擎进行扩展,代码运行效率也开始提升,开发效率也有了很大的提升。
飙升:玩转高级特性,定制渲染管线,定制编辑器和场景,资源管理和序列化,定制次时代渲染特效,甚至于开放世界都不在话下,引擎已经被同化,一点也没有之前LowBee的形象,颇有咸鱼翻身变鲸鱼的感觉。。。
可扩展性的主要好处在于容易交流和传播,毕竟三个臭皮匠赛过诸葛亮,很多时候下个开源,买个插件安上就能解决,远比自己闷头造轮子要强的多,毕竟一个人的能力和精力都是有限的。

201256851 发表于 2020-11-24 09:05

有很多原因,我说一点吧。Unity几乎是第一个把开发者的用户体验放在很重要位置的引擎。在它之前,游戏引擎几乎都把用户体验放在第二位,逻辑是,难用是因为专业。Unity做到了专业并且易用。这一点是划时代的。

zhuwankai 发表于 2020-11-24 09:06

因为unity足够简单,本人在北京一家公司参与unity开发,unity和c#的组合简单到任何人都可以做游戏,
我是15上半年才开始自学c#和unity的,自学半年多就可以出来找工作了。
unity进入5时代,自带的光照特效shader直接匹敌虚幻,然后unity一开始傻瓜到自带全能重力刚体,碰撞盒,光照,弹簧,粒子,动画音响等组件,基本你只需要把你想要用的东西鼠标点击添加到你想要的场景里,然后简单设置就能用了,什么事都不用管,只需要全心全意去写代码实现逻辑和ai就行,然后unity提供的mono的标准api简单全面,国内很多论坛直接有中文翻译,unity添加脚本你只需要把写好的脚本文件拖拽放到物体和人物模型上就行了!就跟QQ微信聊天的时候给对面发送图片或者文件直接鼠标拖拽进去就能发送一样简单。 C#的简单谁用谁知道,最近接普通人思维的语言,最简单的一个例子你要物体x轴前进,最简单的只需要在mono方法库默认的void updata()里面写:
this.transform.position.x+=1;
就行了,你想可控制前进?再加一行:
if(Input.GetButton(KeyCode.W)){
this.transform.position.x+=1;
}
就完成了,然后脚本拖拽到物体上就完成了,这尼玛不懂代码光看英文都能知道什么意思了,,,,,你想把这个this设置成任何可能的物体,你只需要在开头声明一个Transform的变量,
public出来,格式就是:public Transform this(this这里随便起什么都行,哪怕是“sb”都行,我只是举个例子,一般不能写this)
然后你把脚本挂到物体上或者随便什么上,然后被挂的对象的编辑模板就会出现一个空格,这个空格就是你要添加的目标物体,你也只需要把你想的目标拖拽进去就行了!就这么简单。
UI的添加你可以理解跟word,ppt,excel表格上添加图片一样简单,然后ui图片编辑模板上选择你编辑的脚本文件中的方法就行。
以上是编写代码的简单,
跨平台方面比微软的vs还要无脑,默认菜单栏里面的导出直接是.exe就跟word保持文件一样简单,打包安卓,你需要安装好jsk,jdk和sdk,安装官方的Android组件,设置好jsk,jdk和sdk路径,然后在导出界面把环境选择成安卓,然后改个文件名就能打包,全程点击可以不超过5次点击就能打包安卓直接用!
ios稍微麻烦,前面步骤跟安卓一样,不过只是打包出的是xcode工程,需要你去苹果电脑上用xcode在导出ios的app就行了,ps4和xbox one还有html5的打包我没做过公司也没需要,暂时没了解,不过我看了教程都是超级简单。
再说下安卓那个打包,微软提供的c#方法库和unity官方c# mono库,完全可以胜任大部分的安卓开发,比google官方的AS还要简单,我上次拿看教程拿百度地图的SDK都可以实现简单的地图定位然后打包出安卓。基本可以理解拿unity都可以做安卓任何app开发,,,,任何。。。。

除了以上简单到脑残的开发步骤,还有海量的教程文档可以看和学习,最重要的就是unity很像一个模型,你可以无限扩张,少了什么功能你完全可以用c#代码去补全,去写插件。你完全可以不用懂他的源代码,不用懂他的是什么语言写的,你只用c#,用脚本的形式来写他的插件,unity的插件商城有一个插件,右键导入安装自动就让unity在编辑模式下实现3Dmax和maya的3D模型创建修改编辑功能,虽然没他们那么全面,但基本够你自己做任何模型用于游戏开发,Unity插件 Archimatix v1.04 功能超强的建模插件-资源&插件-【泰斗社区】也有完整的骨骼动画插件Asset Store 完全免费,都不需要用昂贵的的spine,就能制作各种2D骨骼动画,而且调用也比spine简单。你基本可以理解只用unity,加点插件,就可以自己完成不太复杂的游戏制作。成本极其低。
你觉得 对于CPU的调度很糟糕, 对于多核优化到位 这个一看就知道你没接触过unity,unity基本是单线程,跑单核的引擎~
下面是unity的生命周期示意图:



简单理解就是一条线不停循环刷新事件,完全没有线程,完全无法用多线程。最多有个协程,这个协程完全不是线程!触发协程了,程序会等待协程中的方法完成了才会继续下一步。如果协程太多处理不好游戏或者程序容易出现卡顿。线程你也可以通过c#去申请,不过unity不会认的,所有mono底下的方法都不会认你申请的多线程,除非是c#本身的方。我听我主程(以前在搜狐畅游引擎部的组长)的说法就是引擎要是弄稳定多线程是个大坑,很少有大公司能搞定。这就为什么国内很多国产自研的端游多核支持很差甚至基本没有。unity公司技术相比虚幻的公司差太多。根本处理不好多核的支持问题所以才会选择这个会极其稳定的生命周期。也因为这个单一生命周期unity做游戏测试的时候只会出现卡顿,完全不会蹦!!基本没有出现过unity编辑器模式下跑游戏突然蹦了,最多是因为协程套协程,,,太卡了。所以处理起来也就简单的多,方便的多。一下就知道是哪里出问题了。
unity现在在画质特效方面完全能做到虚幻的效果,只要你会写一手好的shader,模型贴图各种屌的飞起就行!!然后你就会发现做的游戏完全跑不动!!太特么吃配置了,同样的超高画质,超高精度贴图法线,模型效果unity比其他引擎是N倍的卡!至少是三四倍,手机平台更是卡出翔,这也是unity本身不支持多核多线程产程了。唯一的解决之道就是优化模型优化贴图优化光照,(法线真心不好优化。。)用不上动态光照就不上!能用烘焙贴图就用烘焙(烘焙贴图就是你看个物体好像有光照上去,而且有影子,其实只是一张不受光影响的贴图贴上去的。。。没错,只是贴图,不受光,cpu完全不用去计算光照信息。),能不用影子的就不用影子。主角影子能一个圆黑色就用一个圆形黑色。美术那边模型能减边就减边,能上纸片的就上纸片,贴图巴不得能上一色块来解决。
所以unity开发,唯一蛋疼的只有优化,,,各种优化,,,能省就省!而优化的压力主要是在美术那边,美术实在不行程序员也就用一些插件减边,烘焙合并也能完成美术优化的工作,其他基本就是傻瓜基本的开发难度。
还有就是产品上线后分成unity是收走最少的,这也是最重要的。所以unity用的人越来越多,

Falcon 发表于 2020-11-24 09:07

这两款游戏是正在开发中的游戏,都是用unity制作的,《escape from tarkov》预计今年就推出了,没准今年之后就没人黑unity的画面了?
escape from tarkov (2017)

PROJECT WIGHT

luant 发表于 2020-11-24 09:07

虚幻用起来成本高得多,Coscos自己作死不说了。再加上Unity确实对开发者更人性化一些。
就像为什么次世代游戏画面那么好,还有那么多厂商游戏上全是马赛克3ds平台?成本低啊~
之前注册了个任天堂开发者账号,里面就提供了一个定制版的unity和一些文档,unity跟游戏平台方索尼微软任天堂谷歌苹果还有VR的一些平台都有不错的合作,毕竟是双赢的东西。
现阶段用unity做3A还是不行,硬伤很多,不过随着硬件水平提高,游戏开发经费达到一个瓶颈,unity继续优化之后,3A还是可以吃下来的。
Unity自身的版本迭代迎合时代,前两年还都用着4.x,现在新版本2017都快要出来了。4.x到2017之间自身也添加了不少功能,比如UGUI,2D,VR,优化也好上了不少。

zw198324 发表于 2020-11-24 09:08

Unity画质一流……
oshit……
你知道,unity为了它自己的用户体验,牺牲了多少用它生产的产品的用户体验吗……

Unity之所以成功,就是因为他通俗。(门槛低,学习成本低,开发成本低,就是牺牲产品质量换取低廉的产品开发成本,本用低端,经由评论区某位同学建议,通俗这个词似乎很到位)
就好像lol成功,就因为他比dota通俗,
炉石成功,就因为他比万智牌通俗一样。

高端其实没什么好处,我们应该把门槛高的问题留给专门的人来解决,而普通人只专注于解决低端问题,这个世界的效率才会变得更高。就好像UE4这么叼的东西,国内能玩好的能有几个?我特么光看看就失去了信心,这种东西画面再好,品质再高超,有鸟用,不好用啊……

lxd0928 发表于 2020-11-24 09:08

unreal几十G的数据下载真夸张

u3yixi 发表于 2020-11-24 09:08

简单易用,容易上手。
拿来当我的世界玩也是可以的。
页: [1] 2
查看完整版本: 如何看待unity引擎的成功?