使用python脚本的3D引擎Panda3d

先上图,看看引擎效果(还不错吧):

使用python脚本的3D引擎Panda3d

引擎本身由c++编写,使用python或者c++调用(pythoner有想开发3D游戏的,可以看看咯)。

下面简单的贴一下上面图片的代码:

 1 from direct.showbase.ShowBase import ShowBase #基本显示模块
2 from math import pi,sin,cos
3 from direct.task import Task#任务模块
4 from direct.actor.Actor import Actor#动态模块
5 class MyApp(ShowBase):
6 def __init__(self):#场景初始化
7 ShowBase.__init__(self)
8 self.environ = self.loader.loadModel(r'models/environment')
9 self.environ.reparentTo(self.render)#self.render 渲染树根节点,设置之后才能对所有玄素进行渲染
10 self.environ.setScale(0.25,0.25,0.25)
11 self.environ.setPos(-8,42,0)
12 self.taskMgr.add(self.spinCameraTask,'SpinCameraTask')#调用任务spinCameraTask()
13 self.panda()
14 def spinCameraTask(self,task):#摄像机设置
15 angleDegrees = task.time * 6
16 angleRadians = angleDegrees * (pi/180)
17 self.camera.setPos(20 * sin(angleRadians),-20 * cos(angleRadians),3)
18 self.camera.setHpr(angleDegrees,0,0)
19 return Task.cont
20 def panda(self):#实现动态的熊猫
21 self.pandaActor = Actor('models/panda-model',{'walk' : 'models/panda-walk4'})
22 self.pandaActor.setScale(0.005,0.005,0.005)
23 self.pandaActor.reparentTo(self.render)#self.render 渲染树根节点,设置以后才能对所有元素进行渲染
24 self.pandaActor.loop('walk')
25 def box(self):
26 pass
27 app = MyApp()
28 app.run()
29 run()

代码里的3D模型models/environment,'models/panda-model,{'walk' : 'models/panda-walk4'},均来自panda3d官方网站(http://www.panda3d.org),有兴趣和有志做3D游戏的同学可以下载来研究下。免费使用。包括商业用途。

原文链接: https://www.cnblogs.com/evening/archive/2012/03/27/2419276.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    使用python脚本的3D引擎Panda3d

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/45405

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月8日 下午9:55
下一篇 2023年2月8日 下午9:56

相关推荐