gpt4 book ai didi

python - 如何组织3D游戏的结构?

转载 作者:太空宇宙 更新时间:2023-11-04 06:29:49 24 4
gpt4 key购买 nike

这是一个有点模糊的问题,但请耐心等待。我正在使用 Python/Pyglet 和 openGL 编写游戏。我目前对其进行了结构化,以便有一个名为“世界”的对象,其中包含其他对象以及其中的其他对象等。我这样做是因为例如游戏的一部分是一个平台,上面有其他对象,当我倾斜平台时,我希望平台上的物体也随之倾斜。所以我执行调用 glRotate、glTranslate 的 platform.draw(),然后绘制每个保存模型 View 矩阵的对象,这样平台上的所有对象都会一起移动。第一个问题是,这是一种合理的组织方式吗?还是我应该使用其他方法?

我没有相机类,目前我只是翻译整个世界或其中的一部分以产生运动的错觉。但是,将来我希望能够在对象之间切换视点,例如,从从上方俯视世界切换到从世界中的一个对象的第一人称视角。所以第二个问题是什么是构建我的程序的最佳方式,以便将来可以实现?

最佳答案

可能不是一个完整的答案,但我认为一个完整的答案需要一整本书...

您在层次结构中对世界的表示与通常称为“场景图”的内容非常相似,在许多情况下这是个好主意。一个很好的图书馆例子就是 Open Scene Graph .

关于“平移世界”,除非你真的每次都在变换所有的顶点,否则也完全没问题。这只是相对角度的问题,您真正拥有的与相机矩阵相同。您可以将转换视为将相机放置在世界中,或将世界移动到相机前。

关于python - 如何组织3D游戏的结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4291566/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com