在我玩的游戏的积分部分中,有图形程序员的名字。如果他们使用游戏引擎,为什么需要图形程序员?游戏引擎不是在做他们的工作吗?
在我玩的游戏的积分部分中,有图形程序员的名字。如果他们使用游戏引擎,为什么需要图形程序员?游戏引擎不是在做他们的工作吗?
Answers:
即使使用引擎,以您想要的方式在屏幕上显示某些内容也不总是一件容易的事。在许多情况下,需要具有编程知识的人才能正确显示图形。这些人可能被称为学分制的图形程序员(图形程序员不是经过认证或受保护的头衔,不同头衔之间的差异因公司而异)。
让我们举一个具体的例子。我们需要一个动画旋转圆,如下所示:
我们的一些选择是:
1将圆圈放在广告牌上,编写脚本以旋转广告牌。
2使用动画gif作为源。
3在着色器中完成整个操作,它允许2种不同的选择:
在1.中,需要编写该脚本,这是与图形有关的某种编程任务。对于2.,我们不需要程序员,除非引擎(像大多数引擎一样)不支持导入动画gif,在这种情况下,需要有人对该部分进行编程。在3.中,必须对着色器进行编程,该着色器可以是美术师或程序员。
编辑以解决掉票问题:
降低投票率似乎是因为效果太简单,因此无法由“真正的”图形程序员来实现。我真的不知道如果团队中有专门的图形程序员,还会由谁实现,我偶尔会在着色器中实现这种旋转效果-尽管通常旋转只是更大整体的一部分,例如这个例子。
游戏引擎就像厨房,而开发人员(即程序员)就像厨师。
游戏引擎提供了可能性,而程序员则利用这些可能性来满足游戏的需求。
因此,游戏公司需要图形程序员来调整引擎的图形可能性,以适应游戏的需求。
如果游戏引擎无需调整就可以管理所有内容,那么该引擎制作的所有游戏看起来就好像是从同一个模具中出来的:艺术家可以制作出适合设计师眼光的不同3D模型和2D艺术,但是这些图形在游戏中的自定义功能将仅限于引擎提供的开箱即用功能。
请注意,尽管它们允许您更改所使用的图形,但是某些游戏引擎并没有提供根据游戏需求定制其他图形方面的可能性。我认为RPG Maker就是这样:它可以让您改变艺术,但在如何调整游戏以赋予其独特的风格方面受到限制。在过去的几年中,这可能有所改变,因为我已经有一段时间没有接触过该软件了。
游戏行业中大多数游戏的具体含义因工作室而异,因此请记住这一点。在一个工作室中构成“图形编程”的内容实际上可能意味着仅进行着色器或材质调整,而在另一个工作室中,这可能意味着在底层图形API等附近进行相对较低级别的优化工作,等等。
也就是说,在较大的工作室中,很少使用引擎中间件而不进行任何修改就可以使用它。大多数时候,需要对引擎的某些方面进行调整,因为它不能完全满足要求,或者因为该版本中存在错误,并且该公司仍无法升级到可以解决该错误的较新版本,等等。等等
图形是人们经常进行一些调整的领域之一。它可能不涉及重写引擎内Direct3D或类似工具的使用,但仍可能涉及工作定制或优化着色器,改善图形资源管理以更好地考虑特定游戏的使用情况,添加新的渲染功能或选项,简化图形资产管道,以更好地适应工作室的工作流程等。
此外,在许多情况下,工作室会希望集成其他与图形相关的中间件。有一些中间件软件包,例如Granite,Enlighten和TrueSky,它们提供与图形相关的各种功能(纹理流,全局照明,天空模拟和渲染等)。所有这些中间件软件包都与Unreal集成在一起,但是需要工作来集成它们。由于它们都是由不同公司开发的,因此它们中的一些可能彼此冲突或需要进行一些调整才能很好地协同工作。图形程序员也可能会参与这种工作。
由于所有引擎,您现在可以很容易地在没有图形程序员的情况下发布游戏。通常,您需要图形程序员来处理的事情是
优化
图形程序员将了解和/或了解特定引擎的工作方式,并能够指导美术师或修改材料或合并模型或使用其他技术等以从引擎获得更好的性能。
理解与指导
艺术家想要达到一定的效果。了解引擎工作原理的图形程序员可以解释如何实现该效果。
定制和效果
某些效果可能需要编程。绑定的大部分渲染都是自定义的。
这和电影没什么不同。拥有数百名程序员,庞大的预算和糟糕的写作,您可能会遇到《星球大战:幻影威胁》。没有程序员,没有好的写作,您可能会得到Primer。程序员(或其他技术人员)可以允许新事物。程序员带来了史莱克CG泥,怪兽公司带来了CG头发,《黑客帝国》带来了子弹时间,等等。但是,电影中的电影与效果无关,完全可以制作出没有效果或新的定制技术的惊人电影。
现在的游戏也是如此。图形程序员可能允许使用Pixel Junk Shooter或Bound的所有动态几何图形中的流体,但是可以使用标准引擎技术制作大量游戏,而无需使用图形程序员。
大多数标准技术将在任何体面的商用引擎中实现,例如FXAA,照明,cel阴影,法线贴图等,但不是全部。
在游戏设计师指定必须发生某种特定效果的情况下,您可以从已经存在的效果中构建效果,或者编写新的着色器,或者修改图形引擎以允许它。在这两种情况下,都需要图形程序员。
定义引擎,然后定义图形引擎。如果您使用现有的引擎来制作游戏,那么这与从头开始编写代码并不相同。如果通过代码可以定义什么是图形或引擎,那么如果您的代码很强大,那么您称其为什么也没关系。在所述引擎中创建游戏,其限制和/或优点仅基于程序员的能力。使用Unity甚至Unreal或任何其他专业引擎之类的东西都无法定义您的能力,游戏引擎只是用纯C ++编写的抽象编码而已。例如,您可以雇用程序员甚至是艺术家,但您将受到引擎的视野或限制。因此,最好从头开始编写代码,然后再使用已有的代码。问题是你不会 找不到像Stackexchange这样的在线答案我怀疑很多人甚至不愿意编写游戏代码,更不用说完成2D项目了。我只是有点拖拖拉拉,这意味着没有很多自我服务的答案可以说明。最好的方法就是学习和练习!