分页: 1 / 1

用 pyOpenGL 显示 md2 模型动画的小程序

发表于 : 2010-01-05 14:52
Hello World!
最近开始使用 pyOpenGL 编一些小游戏,像其他的3d游戏一样,我的程序会用到一些会动的3d模型,考虑到md2模型比较简单,我决定使用md2模型。

我在网上找了一些读取md2文件的源代码,虽然不能全看懂,好在我从这些代码中了解到了md2文件的格式。

写这个小程序的过程基本上很顺利,只是一开始碰到了对python的文件操作不熟悉的障碍,毕竟我是刚刚开始学python,对python的一些基础知识学的还不扎实。然后又发现我把OpenGL的知识忘掉不少,不过把OpenGL捡起来不是很难。最后的问题是python的效率有些低,于是又看了一些pyOpenGL的demo,我又开始使用顶点数组和numarray来提高性能。现在这个程序差不多可以直接使用了。
图片图片图片
以下是源代码的链接:http://dl.dropbox.com/u/3364164/md2.tar.gz(感谢 dropbox 提供的空间)

程序不是很长,只有 342 行。如果想看效果,只要将程序解压缩后,执行 python demo.py [md2模型名称] 就好了。

如果觉得动画速度太快了,可以在命令后面加上 -f 2 或者 -f 3 。

滚动鼠标滚轮,可以调整摄影机的距离。

差点忘了,在运行脚本之前,请先安装 pyOpenGL 和 NumArray 。

Re: 用 pyOpenGL 显示 md2 模型动画的小程序

发表于 : 2010-01-05 22:15
suncanoe
不行,运行不起来,那两个依赖,我已经安装了,运行是提示如下:
Segmentation fault

Re: 用 pyOpenGL 显示 md2 模型动画的小程序

发表于 : 2010-01-06 9:49
Hello World!
suncanoe 写了:不行,运行不起来,那两个依赖,我已经安装了,运行是提示如下:
Segmentation fault
您试试把文件中的.pyc文件删掉再运行会怎么样?

Re: 用 pyOpenGL 显示 md2 模型动画的小程序

发表于 : 2010-01-06 11:06
hawksparrow
pyOpenGL 和 NumArray 是怎么安装的 :em26

Re: 用 pyOpenGL 显示 md2 模型动画的小程序

发表于 : 2010-01-06 23:19
Hello World!
sudo apt-get install python-opengl python-numarray .

Re: 用 pyOpenGL 显示 md2 模型动画的小程序

发表于 : 2010-01-07 10:15
hawksparrow

代码: 全选

sparrow@sparrow-laptop:~/md2$ python demo.py
段错误

Re: 用 pyOpenGL 显示 md2 模型动画的小程序

发表于 : 2010-01-07 12:28
Hello World!
hawksparrow, 奇怪了。。。我在 ubuntu 9.10 64 下很正常,在虚拟机中的 winxp 下也很正常。您能告诉我您用的是什么系统吗?
还有,试试把文件中的.pyc文件删掉再运行会怎么样?

Re: 用 pyOpenGL 显示 md2 模型动画的小程序

发表于 : 2010-01-07 16:14
hawksparrow
Hello World! 写了:hawksparrow, 奇怪了。。。我在 ubuntu 9.10 64 下很正常,在虚拟机中的 winxp 下也很正常。您能告诉我您用的是什么系统吗?
还有,试试把文件中的.pyc文件删掉再运行会怎么样?
Ubuntu 9.10 32 删除.pyc也跑不起来

Re: 用 pyOpenGL 显示 md2 模型动画的小程序

发表于 : 2010-02-18 15:42
stilling2006
非常不错~看来我在qt下用c++应该也可以实现~