展开全部
影响就是,只能做漫游,做不了游戏。。62616964757a686964616fe4b893e5b19e31333431366235。。。
蓝图就是个节点编辑器,或者叫做可视化编程,这不是UE4首创的,更谈不上任何的创新,因为这玩意在30多年之前,就已经被电影行业玩烂了。最早可以追溯到一款诞生于80年代初期SGI工作站上面,名叫Avid Media Composer的影视合成剪辑软件。
自Avid之后,绝大部分影视动画制作软件里,都标配了这玩意。比如C4D,NUKE,Houndini等软件,都有自己的节点编辑器。而UE4里的节点编辑器,唯一的不同之处在于,它起了一个"不一样的名字",实则换汤不换药。
下图为C4D的节点编辑器(诞生于1996年发布的C4D V4版):
Houdini中的节点编辑器(诞生于2002年发布的5.5版):
节点编辑器,是制作影视动画的神器。因为它可以让影视制作人员,跳过编程语言的学习。但要靠它做游戏,则更像是个笑话了。
动画与游戏的根本区别,首先需求产生的顺序不同。。。影视动画是先有剧本,之后按照剧本来制作动画,需求不会在中间环节产生变化,逻辑也不会在生产环节产生改变。而游戏中,玩家的行为是无法提前预知的,需求可能在任何时间产生变化。因此最直接的方法就是,不去设置可能改变需求的功能,让玩家无法做出"计划外的行为",但这也就根本无法称之为"游戏"了,最多只能算"场景漫游"。
第二,对冗余的忍受程度不同。。。动画的逻辑,冗余只在生产过程中产生,而成品本身,只是一个视频文件。而游戏中产生的冗余,将直接决定游戏的性能。如果按照一般的程序语言标准来说,蓝图生成的所有逻辑,其实含有大量的垃圾代码。UE4的项目需要更高的硬件配置,其实主要并不是因为"画面高大上",而是冗余。假如把一个Unity项目的画质,提升到超越UE4的水平,它需要的硬件配置,依然会比UE4项目要低很多。这就是UE4的项目很难移植到手机,掌机,而Unity却可以的根本原因。
用伪代码,举个不太准确的例子,如果用代码表示一个简单的AI逻辑,“如果敌人A的位置,接近B的3米之内,B就开始攻击。”
执行起来,大概是长这个样子:
如果(A的X轴位置,减去B的X轴位置,小于3){
发动攻击。。。
}
其实判断条件就一个。。如果A的X轴-B的X轴,小于3,那么就攻击。
而如果用蓝图来生成出的代码,有可能长这个样子:
如果(A的X轴位置,减去B的X轴位置,小于3){
发现并不成立,于是去检查是否等于3
}
如果(A的X轴位置,减去B的X轴位置,等于3){
发现并不等于3,排除法得出结论,距离大于3
发动攻击。。。
}
同样的结果,CPU就需要多做出两次判断,于是硬件要求就提升了一倍。。。。
蓝图这东西,作为爱好玩一玩可以,真的到了生产环节,我是真想不出它有什么用。。。可以顺利上线的游戏,比如《绝地求生》吧,你认为那里面有多少逻辑,是用蓝图连出来的?我敢肯定的告诉你,一个都没有。。。全是用C++写的。。。