所以我们想为学校编写一个3D游戏,我们可以将混合器用于3d模型,但是我们完全不知道如何在游戏/应用程序中使用它们。
是否有任何推荐的指南/文档,我们应该阅读一般的3D游戏编程和python特定的东西。
我们也可能考虑用C ++编程,但是现在我认为使用Python更容易,因为我们可以完全专注于那种3d机制。
答案 0 :(得分:17)
答案 1 :(得分:14)
有Pygame :Python语言的游戏框架。如果您需要了解游戏开发的基础知识(引擎,流程,用户界面,数学),这个框架及其所有示例都会对您有所帮助。这不会带你一步一步地引导你逐步完成游戏开发,但如果你需要一个参考和一个体面的框架,那么这是一个好的开始。
还有PyOpenGL :OpenGL编程的官方Python包装器。再次提供了大量的现场编程示例和大量关于如何使用3D模型等的代码片段。可以和PyGame一起使用。
但您应该通过熟悉一些3D基础知识来开始。环顾GameDev.net网站。学习一两件about matrices (and perhaps quaternions)。有许多beginners tutorials和参考资料可供您入门。
编辑:我差点忘了:还有Panda3D,它有丰富的Python脚本编写功能。也许这会提供更高水平的游戏开发。
答案 2 :(得分:5)
您实际上可以通过Python在Blender中开发游戏。有很多教程,我会让你四处寻找你喜欢的风格。
更多信息here
答案 3 :(得分:2)
如果您想编写3D游戏,您可能需要先了解编程和计算机科学的基础知识。从顶部开始学习一门语言,然后找到一个好的图形库,例如Panda,Pygame都是不错的选择,然后还有其他部分要考虑像扭曲的网络或物理引擎。考虑使用像虚幻引擎这样的工作引擎也可能是一个不错的选择,因为游戏设计师通常会将其包含在游戏机制而不是游戏本身中
答案 4 :(得分:2)
我个人更喜欢的PyGame的替代品是pyglet。 http://pyglet.org
答案 5 :(得分:1)
你应该知道3D游戏包含
游戏逻辑和机制通常是最大和最复杂的部分,你应该首先尝试对抗它。
之后建模3D对象和环境应该会更容易。
答案 6 :(得分:0)
我将实现时间关键的东西作为3D及其对象处理+在原始C / C ++中渲染,并让嵌入式Python与外部模块处理游戏逻辑(对象移动,对象属性,脚本等)。 / p>
答案 7 :(得分:-2)
很容易编写简单的3D游戏。屏幕上任何对象的位置始终可以简单计算:
position = (x/z*fov,x/z*fov)
其中x
和z
都是水平轴,fov
是玩家的视野,以[弧度/度/像素/...].
旋转时,单词不是旋转的。这意味着你总是反对积极的z。 四元数是旋转周围世界的最佳方式。
聚苯乙烯。使用顶点阵列或数组来获得最快的3D图形