panda3d虚幻引擎--(1)

article/2025/7/27 15:26:26

目录

前言(阿巴阿巴)

安装

调整窗口

导入环境


前言(阿巴阿巴)

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

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

好了,正式开始。

安装

想要用这个panda3d呢可以通过官网sdk下载或者通过pip命令安装,官网地址Panda3D | Open Source Framework for 3D Rendering & Games

 

安装sdk就点击中间那个按钮就行,很简单对吧,不过我用的是另一种方式,pip安装

命令pip install Panda3D , pip install panda3d 这俩都行,都能安装下来。

然后新建一个文件夹起名叫ch1(名字无所谓),然后新建一个game.py(名字随便起)的文件

大概是这个样子 

调整窗口

下面直接贴代码块,讲解的内容也在代码块里(贴代码块省事,省的编辑格式了)


#第一步导入,导入这个叫做ShowBase的类,它是一个panda3d的基础类,用来创建窗口的
from direct.showbase.ShowBase import ShowBase
#然后定义一个Game类,继承上面导入的ShowBase类,然后就是Game类init,showBase类init,没啥好说的
class Game(ShowBase):def __init__(self):ShowBase.__init__(self)#实例化一下这个Game类
game = Game()
#ShowBase类里有一个run方法,启动窗口用的,这里Game也继承了ShowBase,所以直接game.run()
game.run()

 运行之后发现出现了一个灰色窗口,窗口里没有任何东西(实际上,你根本没写东西,显示出其他东西的话才见鬼了)

好了,如果你运行出来上面窗口了,恭喜你,你的环境没有任何问题,可以继续往下进行了。

我觉得这个窗口有点小,我想调成我想要的


#第一步导入,导入这个叫做ShowBase的类,它是一个panda3d的基础类,用来创建窗口的
from direct.showbase.ShowBase import ShowBase#############################################################
导入一个叫做WindowProperties的东西,它可以帮你解决窗口大小问题
from panda3d.core import WindowProperties
##############################################################然后定义一个Game类,继承上面导入的ShowBase类,然后就是Game类init,showBase类init,没啥好说的
class Game(ShowBase):def __init__(self):ShowBase.__init__(self)##############################################################properties = WindowProperties()第一个是长,第二个是宽properties.setSize(1000,750)给刚才的配置应用到窗口里self.win.requestProperties(properties)###############################################################实例化一下这个Game类
game = Game()
#ShowBase类里有一个run方法,启动窗口用的,这里Game也继承了ShowBase,所以直接game.run()
game.run()

运行,然后你就会发现窗口变大了

 后面代码多了之后可能会变混乱,我把每一次出现的新代码用#框起来,#里出现的代码就是新加入的代码,这样看起来会比较容易点,当然如果各位观众老爷觉得这样看起来让你很不爽的话,评论区里告诉我,我改成其他方式。

导入环境

代码能跑了吗?能,但是只跑了一点点,空洞的一个灰窗口没啥意思,我给它加点背景,导入环境,让它没那么无趣。环境文件在QQ群里,群号博客开头有。

from direct.showbase.ShowBase import ShowBase
from panda3d.core import WindowProperties#############################################
导入一个叫做Actor的类,它是用来加载模型的
from direct.actor.Actor import Actor
#############################################class Game(ShowBase):def __init__(self):ShowBase.__init__(self)properties = WindowProperties()properties.setSize(1000,750)self.win.requestProperties(properties)###########################################################################panda3d提供了很多全局对象,这里的loader就是其中之一,用loader的loadModel方法可以把#环境文件导入到Game类里,environment不用写后缀,panda3d会自动帮你检测self.environment = self.loader.loadModel('Environment/environment')把self.environment定向到父节点下,self.render就是一个父节点,下面讲节点self.environment.reparentTo(self.render)##########################################################################game = Game()
game.run()

运行之后,环境模型被成功加载

 

上面提到了一个节点,这个节点是啥呢(了解即可)

这就是一个节点图,每个节点是一个对象,最上面的节点是所有类的父类 ,我们用到的全局对象render是一个Node,我们的Game也是一个Node,Game继承的父类ShowBase类也是一个Node,也就是说其实Panda3d里的东西都是Node形式的。

大概第一节课就讲这么多叭,跟着上面的代码跑一下,没问题的话咱们就继续下一讲了。观众老爷们下节见^-^


http://chatgpt.dhexx.cn/article/QVpSHeT4.shtml

相关文章

图解 Panda3D引擎开发入门

Panda3D 是一个 3D 渲染和游戏开发框架,可以在这个框架下使用 Python 和 C 。Panda3D 是开源软件, 它的许可证让它可以用于任何用途, 包括商业用途。本文使用Panda3D 1.7.0版本,其最新稳定版本是1.7.2。可在官网下载最新稳定版本。…

3D游戏物理开发引擎Panda3D基础

文章目录 Panda3D场景安排模型加载渲染属性任务任务链事件处理主循环 视角相机阴影环境灯方向灯 控制key-events DirectGui碰撞检测后续 Panda3D场景安排 ​ Panda3D将其对象存储在场景图中,从本质上讲,这是一个对象的层次结构,称为节点。 ​…

Mac 终端快捷键设置:如何给 Mac 中的 Terminal 设置 Ctrl+Alt+T 快捷键快速启动

Mac 电脑中正常是没有直接打开终端命令行的快捷键指令的,但可以通过 commandspace 打开聚焦搜索,然后输入 ter 或者 terminal 全拼打开。但习惯了 linux 的同学会觉得这个操作很别扭。于是我们希望能通过键盘按键直接打开。 操作流程如下: 1…

OpenCV论道:为什么我的伽马校正函数只有一行?

最近在用 OpenCV 识别棋盘棋子,基本的思路是这样的:先转灰度,再做高斯模糊和二值化,此时棋盘格上有的有棋子,有的无棋子;通过迭代腐蚀,消去棋子,再迭代膨胀回来,就得到了…

【TA100】图形 2.6伽马(Gamma)校正

很好的视频 https://www.bilibili.com/video/BV15t411Y7cf/?spm_id_from333.788.b_636f6d6d656e74.96&vd_source6f3a5e0ac931d869aee3d7c9bb6847e0 一、Gamma校正 1.前言:颜色空间 ● 一些颜色空间的举例,(具体参考2.1节内容&#xff0…

Gamma Correction(伽马校正)

定义 Gamma correction, gamma nonlinearity, gamma encoding, or often simply gamma, is the name of a nonlinear operation used to code and decode luminance or tristimulus values in video or still image systems.[1] Gamma correction is, in the simplest cases, …

从0开始的技术美术之路(十)伽马校正

本篇参考B站视频 “技术美术百人计划”霜狼_may ; 《Shader入门精要》冯乐乐女神著; https://www.zhihu.com/question/27467127/answer/111973548 https://www.jianshu.com/p/9a91e6ad0d38 本篇主要用于自我复习,如有疑问或发现有什么错误&am…

2.6 伽马校正 一、Gamma校正

一、Gamma校正 颜色空间 通用:sRGB 电影:DCI-P3 电视:Rec-709、PAL等 印刷:CMYK、Adobe RGB 传递函数 我们知道了颜色的颜色值,要在电子设备上显示,就要把它转换为视频信号,传递函数就是用…

【剑桥摄影协会】伽马校正(Gamma)

伽马是数字成像系统的一个重要特征,它定义了像素值与其实际亮度之间的关系。在标准显示器上面,如果没有伽马,数码相机拍摄到的阴影内容便会跟我们实际看到的有所差异。平时我们所说的伽马校正、伽马编码、伽马压缩,都是伽马曲线的…

自动伽马校正(Auto Gamma Correction)算法

自动伽马校正(Auto Gamma Correction)算法 微信公众号:幼儿园的学霸 目录 文章目录 自动伽马校正(Auto Gamma Correction)算法目录理论代码实现参考资料 理论 在对图像进行处理过程中,查找到一篇对图像进行自动gamma校正的论文,论文名称及链…

图像基础--图像预处理技术(色彩插值、色彩校正、伽马校正、图像增强和白平衡)

1、简介 图像采集的功能由图像传感器实现, 目前图像传感器主要有电荷耦合器件CCD和CMOS传感器,CCD传感器具有高解析度、低噪声、动态范围大等优点;CMOS具备低成本、高的集成度、低功耗等有点。但不论是CCD还是CMOS传感器在将实际景物转换为图…

【Unity3D】伽马校正

1 伽马相关概念 1.1 人眼对亮度变化的感知 人眼对亮度变化的感知不是线性的,如下图,人眼对亮区的亮度变化不太敏感,对暗区的亮度变化较敏感。另外,我们可以想象一下,在一个黑暗的房间里,由 1 根蜡烛到 2 根…

伽马校正(gamma correction)学习笔记

学习HDR和Bloom特效的过程中,接触到了伽马矫正的问题。查阅了不少资料,这一篇讲的最清楚,下面的图片也是来自该文章。 这应该说是一个历史遗留问题,以前的CRT显示器是使用电子显像管,通过控制电流大小来控制显示屏幕上…

sRGB标准与伽马校正 理解

srgb : 颜色值会以非线性的方式存储 如一个颜色值在线性空间中,rgb(1,1,1), 在gamma空间中,rgb会变为(1的2.2幂次,1的2.2幂次,1的2.2幂次),颜色值会发生改变,这样方便在显示器中显示的时候&am…

伽马校正和颜色空间

一、伽马校正 所谓gamma校正,实际上是一个颜色的非线性变换。下面来解释这个变换曲线存在的原因。 1.1 人眼的非线性视觉效应 为什么要有gamma校正了。一言以蔽之,人眼的生理效应。如下图所示, 第一行是人眼感受到的线性亮度变化&#xf…

伽马校正探究

关于伽马校正的前因后果,在网上有不同版本的说法,由于年代久远的因素,导致原本很简单的事情越说越复杂。今天我们的目标就是抓住伽马的头,而不是摸一下伽马的尾巴。 一,鱼龙混杂的论调 1,CRT 显示器的物理…

图像的伽马校正

图像的伽马校正 图像的伽马校正属于图像增强中幂次增强&#xff0c; γ>1时&#xff0c;使图像变暗&#xff0c;即图像变黑&#xff1b; γ<1时&#xff0c;使图像变亮&#xff0c;即图像变白。 下面是伽马校正的过程&#xff1a; 1&#xff09;将像素值为【0,255】如2…

伽马校正笔记(Gamma Correction)

在数字图像系统中&#xff0c;伽马&#xff08;Gamma&#xff09;是一个重要的但很少被正确理解的特性。它定义了一个像素的数值和对应的实际亮度之间的关系。 人眼感知的亮度和相机“看到”的亮度区别 对于数码相机来说&#xff0c;当检测的光子数增加一倍时&#xff0c;sens…

伽马校正-

伽马校正 问题描述&#xff1a;读取图像&#xff0c;然后对图像进行伽玛校正。 伽马校正 这里是一篇写伽马校正比较好的文章&#xff0c;我觉得可以作为背景知识补充。 伽马校正用来对照相机等电子设备传感器的非线性光电转换特性进行校正。如果图像原样显示在显示器等上&…

图形 2.6 伽马校正

一、Gamma校正 1、颜色空间 图中可以看到&#xff0c;sRGB和Rec.709的色域虚线一样&#xff0c;三原色的位置是相同的&#xff0c;那么它们之间的区别就是&#xff1a;传递函数不同 2.传递函数 定义 知道了颜色的颜色值之后&#xff0c;想要在电子设备上显示&#xff0c;就…