简单的3D图形项目?

时间:2008-10-10 23:31:16

标签: opengl graphics 3d rubiks-cube

我正在寻找一个简单的3D图形程序的好主意作为我的计算机图形类介绍的最终项目。至于一些背景信息,我们将使用opengl并且将有一个多月的时间来处理它,所以没有什么太牵强。看起来更简单,更“漂亮”,越好。但是,它确实需要用户可以与之交互的某种界面(所以一个非常简单的游戏或类似的游戏是一个好主意)并且必须是3D。

到目前为止我唯一的想法可能是俄罗斯方块的3D版本(谷歌的一些例子)。

编辑:我最终选择了3D俄罗斯方块。花费不到一个月的时间you can see what I came up with here

16 个答案:

答案 0 :(得分:24)

3D文本/代码编辑器。文字是3D,错误突出,代码缩进不仅缩进,而是在z轴上突出,页面/文件是3D,可以像敲响垫一样翻转。

可能没有用,但比游戏IMO更有趣,更有趣。

Alt text

答案 1 :(得分:8)

在大学里,对于我的并行编程课程,我做了MPI的openGL / Conway's Game of Life实现。这很有趣。希望我仍然在某处有代码。使用开放式GL的优点是您可以在不同的方向布置网格而不是平面网格。请记住,代码在检入源代码管理之前不存在。

答案 2 :(得分:7)

使用一些物理学使它更有趣。如何实现Labyrinth(迷宫玩具,你应该通过倾斜将球从起点引导到目标)。

Labyrinth

编辑:Erik告诉我它叫做Labyrinth。

答案 3 :(得分:5)

类似minesweeper的3D this one游戏。

答案 4 :(得分:3)

魔方。

答案 5 :(得分:2)

看看http://www.contextfreeart.org/ ...写一些类似的东西,但对于3d。

答案 6 :(得分:2)

如果你曾经玩过Missile Command我相信这可能是'3d-ify'的好项目。

答案 7 :(得分:2)

尝试穿越公路游戏的鸡。

您可能需要演示 bare 最低值:

  • 纹理
  • 照明
  • 动画
  • 相互作用
  • 碰撞检测

如果没有标记,请不要包含简单的物理。根据标记方案确定任务的优先级。先获得简单的工作并备份:)

答案 8 :(得分:2)

老实说,实际上很容易加载一堆动画模型并设置一个简单的第一人称射击游戏。我的意思是,为了让一个通用的东西工作,你不需要那么多:

  • 加载并显示高度图或BSP树作为关卡。
  • 加载并渲染一些简单的MD2模型(关键帧动画,少量多边形和简单格式)。
  • 画一个简单的hud。
  • Ray / AABB交叉点,每次用户点击你都需要从屏幕中心投射一条光线,看它是否与敌人的边界框相交。
  • 简单的FPS相机系统。

就我而言,上述内容在一个月内非常可行。 (如果你已经知道一些东西,这可能在一周内完成。)

答案 9 :(得分:1)

我会检查Panda3DPygame

Panda3D可能接近您正在寻找的东西,并且一个始终有效的想法是将用户的脸部放在主角色或对象中。玩家脸上的3d-pong?使用意想不到的东西......就像用汉堡而不是砖块制成的俄罗斯方块。

答案 10 :(得分:1)

我喜欢像alife那样的自组织boids应用程序。它们可以很有趣地编写代码并始终受益于一个漂亮的UI,尤其是3D。用户输入可以修改环境的各个方面以及在环境中移动。

答案 11 :(得分:1)

我尝试过一次3D类小行星。我从未完成游戏部分,因为它是一个图形类。像小行星一样,船可以四处移动,但没有碰撞探测。船和小行星都有3D纹理应用于它们,小行星是用椭圆体建造的,因此它们实际上是3D。但游戏玩法都是2D游戏。

答案 12 :(得分:1)

其中一个游戏是木制迷宫,球在顶部滚动。你倾斜了板子,试着让球绕过迷宫而不会掉进洞里?它的优点是入门起来相对简单,但如果你有时间,你可能会想到一些扩展。

答案 13 :(得分:1)

我喜欢太阳系外行星。去读一读。在维基百科和http://exoplanet.eu上有很多信息。天文学家和公众推广人员总是可以使用新的3D动画来展示Doppler effect如何工作,或者行星在恒星前方的过境如何使它变暗0.5%。

或者,我的工作是,当行星在它的恒星后面通过时。在地球上,我们只能从那颗恒星那里获得少许红外线。用户可以调整轨道,行星大小等,看看它如何影响天文学家所看到的。它可以很有趣,也很简单,并且可以无限扩展工作以获得更好的纹理,光滑的灯光效果等等,最终可能会为科学教育做出贡献。

如果我不忙于为实际科学提供数据,那么我自己就会制作这样的3D动画。我会嫉妒的!

答案 14 :(得分:1)

如果你正在寻找一个真正的大学规模的任务,我的目的是制作一个小型直升机“游戏”,在那里你可以从海洋中的航空母舰上起飞并飞来飞去,带来一些环境影响,移动水等。没什么太复杂的。另一个例子,我前一年的任务设置是一个小的无对手赛车游戏 我担心你可能会用俄罗斯方块松动标记,因为它听起来像是在z轴上做的很少,并且可能会有点过于2d,虽然它显然取决于你的简介。

无论如何,这些将使您有机会尝试基本的OpenGL功能,如雾,灯光,几何,纹理和一些基本的运动物理和碰撞检测/响应。

此外,虽然经常超出这样一个大学规模的任务范围,你可以进一步增加一些细节,如动画几何(例如人),环境映射,反射,阴影,粒子系统,着色器,也许是高度映射岛。

答案 15 :(得分:1)

重写Blocks 3D。这个项目的图形现在看起来很糟糕。我记得在386的线框图形上玩这个游戏(或类似的游戏)......太棒了。游戏基本上是3D俄罗斯方块。