代码之家  ›  专栏  ›  技术社区  ›  Bryan Denny

简单的三维图形项目?[关闭]

  •  16
  • Bryan Denny  · 技术社区  · 16 年前

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

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

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

    16 回复  |  直到 5 年前
        1
  •  24
  •   Glorfindel RameshVel    5 年前

    3D文本/代码编辑器。文本是三维的,错误突出,代码缩进不仅是缩进,而且在Z轴上突出,页面/文件是三维的,可以像翻页一样翻转。

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

    Alt text

        2
  •  8
  •   Kibbee    16 年前

    在大学里,为了我的并行编程课程,我做了一个OpenGL/ MPI 执行 Conway's Game of Life . 很有趣。希望我还有代码在某个地方。使用开放式GL的优点是,您可以在不同的方向上布置网格,而不是平面网格。记住,代码在签入源代码管理之前不存在。

        3
  •  7
  •   Glorfindel RameshVel    5 年前

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

    Labyrinth

    编辑:埃里克告诉我这叫迷宫。

        4
  •  5
  •   Erik Forbes    8 年前

    三维 minesweeper 类似游戏 this one .

        5
  •  3
  •   Mike F    16 年前

    魔方。

        6
  •  2
  •   ejgottl    16 年前

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

        7
  •  2
  •   TK.    16 年前

    如果你曾经玩过 Missile Command 我相信这可能是一个很好的“三维化”项目。

        8
  •  2
  •   Liam    16 年前

    试试看过路的小鸡游戏。

    您可能需要演示 光秃秃的 最小值:

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

    如果没有分数,就不要包括简单的物理。根据标记方案对任务进行优先级排序。先做些简单的工作,然后备份:)

        9
  •  2
  •   Jasper Bekkers    16 年前

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

    • 加载并显示高度图或BSP树作为级别。
    • 加载和渲染一些简单的MD2模型(关键帧动画、少量多边形和简单格式)。
    • 画一个简单的平视显示器。
    • ray/aabb交集,每次用户单击时,都需要从屏幕中心投射一条光线,看看它是否与敌人的边界框相交。
    • 简单的FPS摄像系统。

    就我所知,上述方法在一个月内是可行的。(如果你已经知道一些事情的话,可能一周内就能做到)。

        10
  •  1
  •   Scottie T    16 年前

    我曾经试过为一个班级做一个3D小行星。我从来没有完成游戏部分,因为它是一个图形类。飞船可以四处移动,小行星也可以,但是没有碰撞检测。飞船和小行星都应用了3D纹理,而小行星是由椭球体构成的,所以它们实际上是3D的,不过游戏都是二维的。

        11
  •  1
  •   Draemon    16 年前

    有一个木制的迷宫,上面有一个滚动的球,怎么样?你倾斜板子,试着让球绕过迷宫而不掉到洞里?它的优点是启动起来相对简单,但是如果有时间的话,您可能会想到一些扩展。

        12
  •  1
  •   Ross Anderson    16 年前

    如果你想找一个真正的大学规模的任务,我的任务是制作一个小型直升机“游戏”,你可以从海上的航空母舰上起飞,带着一些环境影响,移动水等,也就是说没有什么太复杂的。作为另一个例子,我前一年的任务是一个小的无对手赛车游戏。
    我担心俄罗斯方块可能会使你的标记松动,因为它听起来在z轴上做的很少,而且可能会遇到一点太二维,尽管这显然取决于你的简短。

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

    更进一步说,尽管通常超出了这样一个大学规模的任务的范围,但是你可以进一步增加一些细节,例如动画几何(例如人)、环境映射、反射、阴影、粒子系统、阴影,也许还有一个高度映射的岛。

        13
  •  1
  •   oz10    16 年前

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

        14
  •  1
  •   Peter Mortensen TravisEz13    8 年前

    我会检查 Panda3D Pygame .

    panda3d很可能接近你要找的,一个始终有效的方法是将用户的脸放在主要角色或对象中。3D乒乓球与球员的脸?使用意想不到的东西…就像是用汉堡而不是砖头做的俄罗斯方块。

        15
  •  1
  •   Peter Mortensen TravisEz13    8 年前

    我喜欢自我组织 alife 应用程序如 boids . 它们可以很有趣地进行编码,并且总是受益于一个好的用户界面,尤其是3D用户界面。用户输入可以修改环境的各个方面以及在环境中移动。

        16
  •  1
  •   Peter Mortensen TravisEz13    8 年前

    我喜欢系外行星。去读一下。维基百科和 http://exoplanet.eu 有很多信息。天文学家和公众宣传人员总是可以使用新的3D动画来展示 Doppler effect 工作,或者行星是如何在恒星前面运行的,例如0.5%的亮度。

    或者,我的工作是,当行星从它的恒星后面经过的时候。在地球上,我们从那颗恒星接收到的红外线只少了一点点。用户可以调整轨道,行星的大小等,看看这是如何影响天文学家所看到的。它可能是有趣的,足够简单的做,无限的潜力扩展工作,更好的纹理,光滑的灯光效果,等等,你可以最终有助于科学教育。

    如果我不忙着为科学计算数字的话,我自己也会制作这样的3D动画。我会嫉妒的!

    推荐文章