我正在为一个简单的 3d 图形程序寻找一些好的想法,作为我计算机图形课程介绍的最终项目。至于一些背景信息,我们将使用 opengl 并且将有一个多月的时间来研究它,所以没什么太牵强的。看起来越简单和“漂亮”越好。但是,它确实需要某种用户可以与之交互的界面(因此非常简单的游戏或类似游戏是个好主意)并且必须是 3D 的。
到目前为止,我唯一的想法可能是 3D 版本的俄罗斯方块(谷歌的一些例子)。
编辑:我最终选择了 3D 俄罗斯方块。在不到一个月的时间里,你可以在这里看到我想出的东西。
我正在为一个简单的 3d 图形程序寻找一些好的想法,作为我计算机图形课程介绍的最终项目。至于一些背景信息,我们将使用 opengl 并且将有一个多月的时间来研究它,所以没什么太牵强的。看起来越简单和“漂亮”越好。但是,它确实需要某种用户可以与之交互的界面(因此非常简单的游戏或类似游戏是个好主意)并且必须是 3D 的。
到目前为止,我唯一的想法可能是 3D 版本的俄罗斯方块(谷歌的一些例子)。
编辑:我最终选择了 3D 俄罗斯方块。在不到一个月的时间里,你可以在这里看到我想出的东西。
3D 文本/代码编辑器。文本是 3D 的,错误突出,代码缩进不仅缩进,而且在 z 轴上突出,页面/文件是 3D 的并且可以像 ringpad 一样翻转。
可能没有用,但比游戏 IMO 更有趣、更有趣。
在大学里,为了我的并行编程课程,我完成了Conway 的 Game of Life的 openGL/ MPI实现。这很有趣。希望我在某个地方仍然有代码。使用 open GL 的优点是您可以以不同的方向布置网格,而不是平面网格。请记住,代码在签入源代码管理之前是不存在的。
加入一些物理学会使它更有趣。如何实现迷宫(你应该通过倾斜将球从起点引导到目标的迷宫玩具)。
编辑:埃里克告诉我它叫做迷宫。
魔方。
看看http://www.contextfreeart.org/ ...写一些类似的东西,但对于3d。
如果你曾经玩过Missile Command,我相信这可能是一个很好的“3d-ify”项目。
试试鸡过马路游戏。
您可能需要证明最低限度:
如果没有标记,即使是简单的物理也不要包括在内。根据标记方案确定任务的优先级。首先做一些简单的工作并备份它:)
老实说,加载一堆动画模型并设置一个简单的第一人称射击游戏实际上非常容易。我的意思是,要使通用的东西正常工作,您不需要那么多:
就我而言,上述内容在一个月内是相当可行的。(如果你已经知道一些东西,它可能在一周内是可行的)。
我曾经尝试为一堂课制作 3D 小行星。我从来没有完成游戏部分,因为它是一个图形类。这艘船可以四处移动,小行星也可以,但没有碰撞检测。飞船和小行星都应用了 3D 纹理,而且小行星是由椭圆体构成的,所以它们实际上是 3D 的。不过,游戏玩法都是 2D 的。
其中一个游戏是一个木制迷宫,顶部有一个球在滚动。你倾斜板子并试图让球绕过迷宫而不掉进洞里?它的优点是上手相对简单,但如果你有时间,你可能会想到一些扩展。
我喜欢系外行星。去阅读他们。在 Wikipedia 和http://exoplanet.eu上有很多信息。天文学家和公众宣传人员总是可以使用新鲜的 3D 动画来展示多普勒效应是如何工作的,或者行星如何在恒星前面过境,例如使其变暗 0.5%。
或者,我的工作是,当行星从它的恒星后面经过时如何。在地球,我们从那颗恒星接收到的红外线只少了一点点。用户可以调整轨道、行星大小等,看看这会如何影响天文学家所看到的。它可能很有趣,做起来很简单,并且在扩展工作以获得更好的纹理、光滑的灯光效果等方面具有无限的潜力,你最终可能会为科学教育做出贡献。
如果我不忙于帮助处理实际科学的数字,我会自己制作这样的 3D 动画。我会吃醋的!
如果你正在寻找一个真正的大学规模的任务,我的任务是制作一个小型直升机“游戏”,你可以在其中从海洋中的航空母舰起飞并在一些环境影响、流动的水等情况下四处飞行。即没什么太复杂的. 再举一个例子,我前一年的任务是一个没有对手的小赛车游戏。
我担心你可能会失去俄罗斯方块的标记,因为听起来在 z 轴上几乎不会做任何事情,并且可能会遇到太 2d 的问题,尽管这显然取决于你的简报。
无论如何,这些将让您有机会尝试基本的 OpenGL 功能,例如雾、光照、几何、纹理和一些基本的运动物理和碰撞检测/响应。
此外,虽然通常超出了这样一个大学规模的任务的范围,但您可以进一步添加诸如动画几何体(例如人)、环境映射、反射、阴影、粒子系统、着色器,也许是高度映射的岛屿。
重写块 3D。这个项目的图形现在看起来很糟糕。我记得在带有线框图形的 386 上玩过这个游戏(或类似的游戏)......太棒了。游戏基本上是3D俄罗斯方块。