找回密码
 立即注册
查看: 386|回复: 5

为什么「虚幻 5」的功能这么强大,Unity 没有被挤死?

[复制链接]
发表于 2023-5-25 17:41 | 显示全部楼层 |阅读模式
为什么「虚幻 5」的功能这么强大,Unity 没有被挤死?
发表于 2023-5-25 17:42 | 显示全部楼层
玩了一段时间虚幻,主要以下几点:
1.虚幻的教程跟 unity 差距很大,unity 的教程可以从最简单的向量讲起,怎么从数学公式推导到帧伪代码,最后到 unity 具体的工具链。
虚幻的教程可以不理解原理,依靠工具链就可以做出 demo,各种不理解都依靠虚幻比 unity 强大的多的工具链。 在工具链提供的功能范围内,你很爽,一旦你的想法超出了工具链的固有功能,那必须深挖虚幻引擎本身改源代码,这涉及到代码,数学的综合性应用,而这些不管付费免费的教程都是没教的
有人会说 unity 就没深挖源代码的时候?有,但是因为没有过于强大的工具链,小功能也得写代码自己实现,真到了改引擎的时候,前面的洗礼,能让你达到垫垫脚能够得着的程度了
2.对于独立游戏开发者来说,unity 的坑比较容易踩,每踩一个坑,只要这个坑涉及数学,动画设计技巧,多线程,有限状态机,等脱离游戏引擎的抽象概念时,等走完抽象到 unity 具体的过程,那么游戏设计能力也上了一个台阶,这些能力在游戏设计的大范围内都是可以迁移的
有些人会说,学虚幻也可以从踩坑学习啊?其实不是,虚幻的动画蓝图,metahuman ,内置 shader 等过于强大,在框架内还行,学习可迁移能力的机会都在各种拖放中失去了
举个例子,虚幻的内置 shader 很强大,场景出来啥都不用干,光影效果直接拉满,unity 一年不一定有这效果
如果满足于写实那没关系,怕就怕有一天要一个二之国的卡通画风,内置调不出来,然后去商店找,商店又找不到咋办?从兰博特反射重新学?
或者说我想做一个格斗游戏,用虚幻 5 最新的 lyra 模型,那么涉及到角色动画和动画蓝图的传值问题,传的还是自定义的变量
为啥要传自定义变量,比如说,我想重现一下合金弹头吃的多了超胖,子弹也变胖的效果,既然角色蓝图绑定了碰撞器,那么碰撞器碰到食物,角色蓝图里的某个变量会递增,递增到一个程度让一个布尔变量为真,传到动画蓝图,动画蓝图播放变胖动画,绝对正常思路!ue4 的解决思路是在动画蓝图直接获取角色蓝图实例,既然实例都获取了,实例的变量还用说,但是在 ue5 最新推出的 lyra 行不通,你要这么搞立刻弹出警告说线程不安全!
不好意思,这是我本人踩过的坑,翻遍 b 站找不到答案,得到的答案是用 c++,拜托!你蓝图发展这么多年,新出的角色蓝图要我去用 c++?这件事后,彻底明白了 ue 的水有多深,从此又回到 unity 路线中,ue 还是等各路大神多出点教程再说,实在没有时间蹉跎
3.书籍方面 unity 明显占优,有的人对看书嗤之以鼻,有视频看,为啥要看书,书对比视频有一个明显优势,看书,阅读者可以有自己的节奏,尤其适合阅读代码,一行代码看不懂,可以停下来,慢慢思考,可以方便的回溯,比如 unity 人工智能游戏开发这本书,会从讲例子开始娓娓道来,认真看基本能懂, 视频可没这么容易,拖进度条真的很烦人,大多野生教程根本不懂 啥叫剪辑,各种鼠标滚轮大段的翻动代码,甚至把代码调试的冗长过程也做进视频里。真的让人难受
而虚幻的书跟 unity 根本不是一个量级,就今年来说,市面上的书大多都是虚幻 4 的,官方教程 各种蜻蜓点水,根本不深入,去 b 站看免费教程全是蓝图的,蓝图不管是视频教程还是书籍看着真累!
4 蓝图和代码,所谓蓝图就是图形化编程,这个并不是一个新的概念,起码二十年的历史,但是蓝图有个特点,简单的逻辑一连一大片,比如一个向量的 xy 分量变两倍,再整个模长缩短为 0.5,在绕着欧拉角 绕着 z 轴旋转 30 度。如果在 unity 解决,前置知识是欧拉角,四元数,点乘,具体推导可以用 api,你能写出这最多 5 行代码,线性代数专家自然谈不上,起码可以用 api 做出来了。
有一个例子,最近吸血鬼幸存者很火,那么我想给游戏增加难度,运用一下进化算法,别听名字唬人,其实换一个说法就是动态难度,比如玩家拿的都是防身类武器,大蒜,圣经之类的,那么就创建远程怪多一点,可以再远处发射慢速子弹,你的防身类武器只能靠近才能击杀怪物,如果玩家拿的是飞刀,魔法杖等远程武器,那么就创建近身肉搏快速移动怪,投射类武器有发射角度的,如果怪物在死角快速接近很难缠的!我不知道蓝图怎么连的,反正任何一本人工智能的书都是伪代码,c++.python 三选一,再有就是干脆就是图示。就是没有蓝图那样的图形化编程, 把伪代码转化成 csharp 代码总归比蓝图容易吧!
人工智能在游戏里的应用多了,由于游戏引擎众多,不可能专门有很多针对 unity,虚幻的书,即使有也不可能只看那么几本,得学会迁移!而代码阅读是迁移最方便的方式
要是用虚幻,嘿嘿!一连一大片,b 站的教程一会放大一会缩小,放大了看具体函数看不清了,缩小了又不能看到全局,再用动画蓝图给你包一层窗户纸,那就更糊涂了,我想做一个马里奥雪地里奔跑,然后吃了翅膀飞天的效果,动画蓝图可以轻松的获得角速度,加速度,速度,但是怎么直接操控这些变量呢?接下来是一系列的巨坑,或者灵魂拷问,灵魂拷问有这些
4.1 官方甚至没有一句,不建议在动画看图写游戏逻辑的话,那咋办
4.2 这个方向要不要深挖?如果我深挖了发现此路不通不是很亏?
4.3 即使能写逻辑,用蓝图还是 cpp
4.4 蓝图到底能支撑多大的复杂度?复杂度到达多少就不得不用 c++了?
4.5 怎么在动画蓝图获取键盘输入呢?
4.6 如果真到了用 c++的程度,c++学到什么程度,哪些 c++的特性是虚幻不需要的?
不得不说虚幻很有特点,刚开始入门真的简单,但是没走几步,就是巨大的复杂度
而这些,官方如果不出一本代码大全类似的大部头,不知道要蹉跎多少人的时间和青春,而这些不好意思,没人教,自己悟,跟学中医一样
如果做过后端的同学超过十年,应该知道以前有一款后端框架叫做 http://asp.net,出道时号称拖放控件就能做网站,靠着控件拖拖拖,不用管后端前端一概不管,只用拖放一个控件,然后双击控件点进去,再指定的代码块中写逻辑就行,但是!真的商业化项目谁拖控件?招人也一样,招 java 一大把,招 .net 几个星期没几个人
这也是虚幻面对的问题,metahuman 点点,蓝图连连连,真简单啊,但是一点小问题就被逼得重头学起,还不如 unity 磕磕碰碰,一路走来也算技术积累。招人 unity 一大把,虚幻几个星期没几个,小公司招虚幻高手还都是 腾讯剩下的,小公司真的玩得过腾讯这些巨头吗,独立游戏开发者真的从近乎垂直的学习曲线中存活吗?不好意思,万中无一!
5.游戏引擎的学习,是不是学到了真东西,归根结底三个字,可迁移,举个例子。学会了啥是位移的线性插值,那么不管是 unity,godot.bevy rpgmake 等成熟引擎,或者是 html5.python,等成熟语言的娱乐分支都可以手到擒来,单论线性插值可学的东西多了,位移的线性插值简单,那么带加速度的位移呢,旋转的线性插值呢,旋转有加速度呢,如果旋转的目标需要获取怎么半?这些林林总总的问题全都是要直面 api 才能实践和了解的,真懂了,再去虚幻蓝图连连看,就会发现真简单啊!
游戏从业者真的要从基本的游戏抽象概念,数学开始学起,而这些明显 unity 更适配,等学成了再去挑战下 虚幻!
6.虚幻公司对于图形化编程执念过深,还是得走代码,我个人感觉蓝图加快的效率和减少的效率是一样的,我想如果蓝图能实现所有逻辑,何苦还要开放 c++,像 rpgmake 一样,直接上界面彻底隔绝代码不是更加高级,可惜没有,可见必然有一部分逻辑是需要 cpp 的,至少功能实现和运行效率有一个不能满足。游戏作为一个创意行业,至少不能让工具束缚自己思维吧!也不能说我故意让游戏变得卡卡的吧
这篇答案看起来是 unity 的软文,其实我还是对 ue 很向往的,但是就像武当长拳还没精通,实在无力驾驭逍遥游这种高阶功法,那么面对的道路无非两条,加入武当七劫阵,就像学 ue 就加入大公司团队作战,边做边学,要么继续武当长拳,待内功高了,再去挑战逍遥游。
如果都不懂,初学者,还是独立游戏开发,还是别去碰 ue,这跟少林长拳没练好,直接上龙象般诺功真行不通,当然你要做黑棉花悟能,不靠质量靠流量,当然也是可以,做游戏能赚钱谁能说学的不成功?
发表于 2023-5-25 17:42 | 显示全部楼层
当用 Unity 的公司一个接着一个开发完游戏,发布出去卖了不少钱的时候,捣鼓 UE 5 的人发布了一个又一个精美的 demo。
UE 5 上限虽然高,但开发效率极低不是开玩笑的。
发表于 2023-5-25 17:42 | 显示全部楼层
更新,提的PR已经通过了,最新5.2的代码已经修复了。
<hr/>ue5为了做大世界坐标系,把原本FVector从float变成了double,新增的FVector3f等价于ue4的FVector,但是顶点数据依旧使用float单精度。
而这就留了个坑,ue5最新的5.2分支依旧存在:
InstancedStaticMeshComponent的光追加速结构显存翻倍。因为沿用ue4的sizeof(FVector),没有改成sizeof(FVector3f)。
(StaticMeshComponent改了,但是ISMC给忘了

。。。。。。
这就是强大的ue5,(开光追的话)不知不觉中,ISMC多吃了你一倍的显存

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
发表于 2023-5-25 17:43 | 显示全部楼层
发现大家喜欢藏着掖着,有话也不说明白。
说说手游的情况。

  • 国内Unity开发人员多。涉及技术,策划,美术,有相关经验的人比UE多十倍不止。工资成本更不用说了。UE成熟的人才都被腾讯为头的几个大厂包了,下一级规模的公司往往得自己摸索培养,项目本身成的几率就不大,且养出来也很可能还是流入大厂。公司想新开UE业务线,但凡老板去业内打听打听,都得掂量三分。个人觉得这是最重要的一点。
  • 本质上用什么引擎和游戏规模和游戏品质需求没太大关系,但UE已经和高品质美术,和高成本大作绑定了,这和资本投资倾向有关。如果一个小公司做个中小规模手游,老板拉投资说自己这几个人是用UE摸索着做,投资人头皮发麻。同理,在公司内立项也是一样的。其实说到底还是第一点,成本。
  • 从设计理念来说UE和策划深度绑定,需要策划大量使用编辑器,也因此对策划要求和以前不一样。这和国内团队惯常开发习惯相背。用cocos或Unity开发,一般策划搞好自己的文档和数值表就行了,最多再用用团队自己开发的工具。用UE的话当然也能这么做,但,那为什么还要选UE呢。
  • 二次元渲染方面,Unity目前更好弄,或者说方案更多,还是因为做的人多。同样立项的时候也是技术方面的考量之一。这是道听途说的。
  • 服务器方面,其他答案有提到会有影响。有人就有疑问服务器和前端用什么有啥关系。这里说的应该是Dedicated Server,DS。相当于战斗验证用服务器,实现多人状态同步。回合卡牌无所谓,但多人射击或者动作游戏是需要的。这一点上UE自带了,比Unity完善的多。这也是为什么射击游戏总是用UE,毕竟人家堡垒之夜成熟方案就摆那了。缺点是和引擎深度耦合,有时候新做一个东西比改别人的东西更简单。
大家喜欢说UE效果好,可为什么同样的机器配置用UE做的游戏效果就优于Unity?你可以猜是语言性能好,但其实是引擎预先实现好的东西多,编辑器工具更完整。你想要一个效果,UE自带了,或者改改就行了,而Unity却要自己开发,试问有几个人做的效果能比UE自带的更好?况且今天搞出来一个效果,明天还要做十个,人力不够,表现自然打折扣。
同样的人员,UE自带的效果下限就很高,在人员数量没有极度饱和,水平非顶尖的情况下,当然是UE三五下捣出来的东西效果更好了。但这并不代表他们俩的上限就有多大的区别。当然,一个中小团队去提我来摸他们上限这东西本身就是虚话。
从flash到cocos,因为开发人员积累,因为公司技术栈定型,他们的盛衰往往并不是一天而成,unity当然也不会是。
最后说下我的暴言,UE还会一直是那个高冷的UE,他的肉没人争,也没人想争。而Unity公司不赚钱这件事却是极大隐患,大几年内还好,就算他作死了停更了也会有人用。但长期来看,也许Godot之流就会逐渐崭露头角。在此仿佛又幻视到开源的Cocos2dx吞食了Flash市场的情景。
发表于 2023-5-25 17:44 | 显示全部楼层
团队正有一个虚幻在研项目
我们的新人技美用得很开心
我们的新人程序觉得很难上手
我的感觉就是偏科很严重,有些地方特别方便,有些地方臃肿得不行,还有些地方有很明显的历史遗留和FPS游戏的设计
虚幻在国内对于大多数团队来说都还在摸索阶段,只有当成熟的作品和项目逐步增多之后才能给个结论
在这个阶段想要把在国内明显成熟得多的Unity挤死是不可能的,我觉得未来也是不可能的
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-4-26 00:38 , Processed in 0.104834 second(s), 27 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表