panda3d虚幻引擎--(3)(这一篇作为补充说明,可跳过)

目录

前言(阿巴阿巴)

奇奇怪怪的东西

1.导入配置文件

2.全局对象



前言(阿巴阿巴)

前几天无意间看到了一个叫做panda3d的东西,觉得挺好玩,就翻教程,发现现在中文教程似乎没有那么全面成体系,大部分都是复制粘贴过来官网的实例然后就发布出去了,看得云里雾里的,所以我决定自己去摸索一下这个panda3d,学panda3d的小伙伴中间肯定遇到过很多坑,也有过很多不理解的地方,不过没关系,来瞅瞅我的这个panda3d教程,给你个比较全面的讲解。

我整了个QQ群,180962166,有不会的进来问就行(如果我会的话)

好了,正式开始。

奇奇怪怪的东西

1.导入配置文件

之前咱们调节了一下窗口大小,用的WindowProperties这个东西,这节讲解一下其他的属性配置,

新建一个目录config,然后新建一个叫做conf.prc的文件

 然后往conf.prc里写点东西

嗯~这两句里第一个是窗口大小,第二个是窗口名字,没啥好说的,然后这个conf.prc文件就完成了,放一边不管它了,然后在你的代码文件里写上一句这个

from panda3d.core import loadPrcFile

代码如下

from direct.showbase.ShowBase import ShowBase
####################################################
from panda3d.core import loadPrcFile
loadPrcFile('config/conf.prc')
####################################################


class MyGame(ShowBase):
    def __init__(self):
        super().__init__()


game = MyGame()
game.run()

然后运行一下,已经生效了

别的属性也可以写进来,当然后面会慢慢说。

上面是第一种导入方式,需要写个外部文件来导入,还有一种方式是直接在代码里写配置文件,不需要额外创建一个prc文件。

第二种是直接在代码里添加刚才的语句,就像下面这样

from direct.showbase.ShowBase import ShowBase


#################################################
from panda3d.core import loadPrcFileData
confVars = """
win-size 1280 960
window-title My Game
"""
loadPrcFileData("", confVars)
#################################################


class MyGame(ShowBase):
    def __init__(self):
        super().__init__()


game = MyGame()
game.run()

 运行之后效果和上面一样,就不贴图了,这两种方式选哪个都行,看你个人习惯(这不废话嘛),个人建议如果代码比较少的话就用第二种,配置啥的都写在代码文件里,如果是个大项目,工程代码的话就用配置文件的方式。差不多就这些,下一个。

2.全局对象

panda3d有一堆全局对象,有的时候你的代码飘红了不要着急,运行一下,也许飘红的代码不是bug呢。

全局对象老祖宗:base类,这玩意好像是panda3d所有对象的父类,老祖宗级别的存在,它有几个子类,常用的有render,camera,cam,然后render下面有xx子类等等,无线套娃。

当我看到我的代码飘红的时候我是绝望的,查了半天没查出来为啥飘红,那就运行一下呗,看看报错信息啥样,运行之后,好家伙!没报错,我更绝望了,错都不报去哪里找问题改(╥﹏╥...)。但是看了看源码,好像不是我的问题,这玩意它就是该飘红的,因为base类是panda3d的一个全局对象,在任何地方都可以用它,哪怕没有导入,好,问题解决--飘红不用管它。运行之后结果如下

 base类是一个节点,render是base类的子节点,camera是render的子节点......

啊,忘了,上面配置文件加了一句show-frame-rate-meter True,这个是查看帧率的

右上角这个就是帧率,也就是一秒刷新多少次图片,我这里帧率142,也就是1秒刷新142张图片。

今天就这么多吧。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Panda3D虚幻引擎和Unity3D是三种常见的游戏引擎。它们在功能和特点上有所不同。 Panda3D是一个开源的、跨平台的游戏引擎,它提供了强大的3D渲染和物理模拟功能。Panda3D具有灵活的编程接口,可以使用Python或C++进行开发。它适用于独立开发者和小型团队,可以用于创建各种类型的游戏。 虚幻引擎是由Epic Games开发的一款商业游戏引擎。它提供了强大的图形渲染、物理模拟、动画和人工智能等功能。虚幻引擎具有丰富的工具和资源,适用于创建高质量的AAA级游戏。它支持多平台开发,并且有一个活跃的社区和生态系统。 Unity3D是一款广泛使用的商业游戏引擎,它提供了易于使用的可视化编辑器和强大的跨平台支持。Unity3D支持2D和3D游戏开发,并且具有丰富的资源库和插件生态系统。它适用于各种规模的项目,从独立开发者到大型游戏工作室。 总的来说,Panda3D适合独立开发者和小型团队,虚幻引擎适合创建高质量的AAA级游戏,而Unity3D则是一个广泛使用的游戏引擎,适用于各种规模的项目。选择哪个引擎取决于项目的需求、开发团队的技能和预算等因素。 #### 引用[.reference_title] - *1* *3* [剖析虚幻渲染体系(14)- 延展篇:现代渲染引擎演变史Part 1(萌芽期)](https://blog.csdn.net/www_xuhss_com/article/details/123947843)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [开源图形/游戏引擎的点评](https://blog.csdn.net/Witch_Soya/article/details/7948997)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值