我只是个3D游戏的初学者,我最喜欢的平台是Android。我在其他论坛上发布了一个关于“使用什么: OpenGL或Unity3d?”的问题。他们都强调Unity3D,并使用它的内置特性和工具,如果我要使用OpenGL,就必须自己编写代码。但是有人说大多数复杂的游戏都需要定制引擎。为什么我要使用像Unity3D和OpenGL这样的引擎呢?
发布于 2014-04-29 15:15:25
我想你自己已经回答过这个问题了。你说“我只是个3D游戏的初学者”。此外,您还说过“. Unity3D并使用它是内置于特性和工具中的,如果我要使用OpenGL,就必须自己编写代码”。
本质上,这意味着如果您单独使用OpenGL,您将编写一个游戏引擎,然后,可能几年后,编写您的游戏。如果你想专注于一个游戏,利用可用的资源,让你尽可能接近这个目标。使用游戏引擎是将你的精力集中在创建一个游戏上的最好方法,而不是编写创建游戏所需的所有东西。
参见以下相关问题:图书馆和引擎有什么区别?和这个什么是游戏框架与游戏引擎?
发布于 2014-04-29 20:51:00
因为初学者,顾名思义,不知道他们在做什么。
OpenGL有一个巨大的学习曲线。当然,您可以发出一些glBegin命令,为在屏幕上放置一些三角形而感到兴奋,然后用一些更复杂的东西离开深层,这一点还远远没有做好准备。这不是一个很好的学习方法。一个类比(稍微夸张)可能是学习一些基本的高中物理,然后负责大型强子对撞机。这不是下沉或游泳,而是swim-or-leave-a-large-radioactive-hole-in-the-ground.
假设大多数人会问:“我想做一个游戏,我应该用什么?”问题实际上是想做一个游戏(否则他们会问一个不同的问题,是吗?)因此,答案是针对这个问题而量身定做的,使用预先存在的工具包、框架或引擎是帮助他们实现这一目标的一种方式,而不会因为一个UBO或glUniform调用是否更适合更新单个矩阵而分心。
这一切都是一步一步地走,让学习过程更容易,并在结束时给你一些有益的东西。尝试学习如何制作一个游戏和如何正确地使用成熟和强大的3D API在同一时间对初学者来说可能太多了。这就像邓宁-克鲁格效应减去了负面的含义。你不知道你不知道什么,所以你对你将要面对的事情没有任何真实的了解。
另一方面,如果你的目标是学习OpenGL,那么你实际上并不想做一个游戏!您想要学习OpenGL,在制作一个游戏的背景下这样做可能是一种有趣的学习方式,但制作一个游戏是达到目的的手段,而不是目的本身(当然也不是学习OpenGL的唯一方法)。你可能永远不会发布它,而且你几乎肯定会在几年后回顾它,并且对你所做的一些愚蠢的事情感到可怕的尴尬。
发布于 2014-04-29 16:50:28
这取决于你想从这个项目中得到什么。如果你的主要目标是专注于游戏设计,那么你可能会更好地使用一个预先构建的引擎,因为这会让你更快地完成游戏。如果您的目标是了解制作游戏的编程部分(特别是当您试图为该行业的工作做准备时),那么您可能会发现使用OpenGL将是一种更有价值的体验。请记住,上述两种说法都不是100%的真实情况。
在决定这类事情时,真的没有任何规则。你在这类问题中听到的大多数回答都是意见,其中很少有与你自己的项目和技能完全相关的。
https://gamedev.stackexchange.com/questions/74196
复制相似问题