Panda3D 是一个用于 Python 和 C++ 程序的 3D 渲染和游戏开发框架。
Panda3D 是一个用 C++ 编写的强大的 3D 引擎,具有一套完整的 Python 绑定。与其他引擎不同,这些绑定是自动生成的,这意味着它们始终是最新的和完整的:引擎的所有功能都可以通过 Python 进行控制。所有主要的 Panda3D 应用程序都是用 Python 编写的,这是使用该引擎的预期方式。
Panda3D 现在支持自动着色器生成,这意味着您现在可以使用法线贴图、光泽贴图、发光贴图、HDR、卡通着色等,而无需编写任何着色器。
Panda3D 是一个现代引擎,支持着色器、模板和渲染到纹理等高级功能。Panda3D 的不同寻常之处在于它强调学习曲线短、开发速度快、稳定性和鲁棒性极强。Panda3D 是在 Windows、Linux 或 macOS 下运行的免费软件。
Panda3D 团队非常关心让新用户可以访问引擎。我们提供了详细的手册、完整的 API 参考和大量示例程序来帮助您入门。我们有活跃的论坛,有许多乐于助人的用户,开发人员定期在线回答问题。
Panda3D 手册
欢迎来到 Panda3D 文档!Panda3D 是一个开源、免费使用的 3D 引擎,专为开发实时 3D 游戏、可视化、模拟、实验而设计 - 应有尽有!它包含一个可与 Python 或 C++ 编程语言一起使用的子例程库,以及一些有助于开发和调试的工具。
该手册有两种版本:一种适用于 Python 用户,另一种适用于 C++ 用户。使用侧边栏中的链接在版本之间切换。您当前正在查看Python用户手册。
本手册分为几个部分,如下所列。您可以随时使用左侧的侧边栏在不同部分及其包含的页面之间导航。
介绍
我们建议初学者从阅读 介绍部分开始,介绍安装 Panda3D 的过程,最后以“Hello World”教程解释如何创建一个非常小的 Panda3D 程序,以了解使用引擎的外观喜欢。
-
Panda3D 简介
- 在 Windows 中安装 Panda3D
- 在 Linux 中安装 Panda3D
- 一般准备
- 运行你的程序
- Panda3D Hello World 教程
Panda3D 简介
Panda3D 基础知识
Panda3D 是一个 3D 引擎:一个用于 3D 渲染和游戏开发的子程序库。该库是带有一组 Python 绑定的 C++。使用 Panda3D 进行游戏开发通常包括编写控制 Panda3D 库的 Python 或 C++ 程序。
Panda3D 是为商业游戏开发而创建的,并且仍然用于开发商业游戏。正因为如此,引擎需要强调四个方面:功率、速度、完整性和容错性。每个人都知道什么是力量和速度。但是完整性和容错性值得一些额外的评论。
完整性意味着 Panda3D 包含许多平淡无奇但必不可少的工具:场景图浏览、性能监控、动画优化器等。
容错是关于所有游戏开发人员都会创建错误的事实。当你这样做时,你希望你的引擎给你一个清晰的错误信息并帮助你找到错误。如果您将错误的值传递给函数,太多的引擎只会崩溃。Panda3D 几乎从不崩溃,很多代码专门用于跟踪和隔离错误的问题。
最后,回到功能和速度:要衡量 Panda3D 的能力,您可以查看示例程序。这些是演示 Panda3D 功能样本的简短程序。屏幕截图的右上角有帧速率,是在 Radeon X700 上拍摄的。请注意,有些示例是旧的并使用占位符艺术,因此不是 Panda3D 视觉功能的好例子。
Panda3D 是由迪士尼为他们的大型多人在线游戏 Toontown Online 开发的。它于 2002 年作为免费软件发布。卡内基梅隆大学的娱乐技术中心目前负责托管网站和其他 Panda3D 服务,它积极参与了 Panda3D 开源项目的开发。它现在由迪士尼和来自世界各地的贡献者共同开发。
您可以阅读更多关于 Panda3D 的功能。
Panda3D 不是初学者的工具或玩具
要成功使用 Panda3D,您必须是一名熟练的程序员。如果您不知道“API”是什么,或者如果您不知道“树”是什么,您可能会发现 Panda3D 势不可挡。这不是点击式游戏制造商:这是专业人士的工具。虽然指出这一点很重要,这样您才能有准确的期望,但同样重要的是要意识到 Panda3D 是您将使用的最简单、最强大的引擎之一,我们欢迎您的参与。
如果您刚刚开始编程,我们建议您最好的选择是从编程课程开始。或者,您可以尝试使用来自 CMU的Alice等培训工具自学。
Panda3D 支持现代引擎应具备的全部功能:它为法线贴图、光泽贴图、HDR、卡通着色和墨迹、光晕以及许多其他事物提供了方便的支持。它还允许您编写自己的着色器。
人们有时会误以为 Panda3D 是用 Python 编写的,这会使其非常慢。但是 Panda3D 不是用 Python 编写的;它是用 C++ 编写的。Python 仅用于编写脚本。开发人员通常使用 C++ 或类似的 Cython编写性能密集型位(如果有) 。要了解小型 Panda3D 程序通常会获得什么样的帧速率,请查看示例程序的屏幕截图。这些是使用旧的 Radeon x700 拍摄的。当然,只有示例程序可以像这样以 400 fps 运行,但对于真正的游戏来说,60 fps 是完全可以达到的。不过需要注意的是:要获得这种性能,您需要了解 3D 卡和 3D 性能优化。它不会自动发生。Panda3D 包括您需要达到 60 fps 的分析工具。
Panda3D 的软件许可证
从 1.5.3 版开始,Panda3D 已在所谓的“修改后的 BSD 许可证”下发布,这是一种免费软件许可证,使用限制很少。在 1.5.2 及之前的版本中,它使用了与 BSD 和 MIT 许可证非常相似的专有许可证,尽管对于其中两个条款的自由性存在一些分歧。旧许可证仍可在此处访问。
虽然引擎本身是完全免费的,但它附带了各种非免费软件的第三方库。其中一些(如 FMOD)甚至限制您在商业游戏中使用它们,除非您拥有许可副本。由于这个原因,Panda3D 可以很容易地禁用或删除这些受限制的第三方库,并且大多数时候它提供了替代方案。例如,它还带有 OpenAL,您可以使用它来代替 FMOD。
你可以阅读Panda3D 的许可证。
谁在研究 Panda3D
商业和开源社区中有许多开发人员。目前,除了开源社区的积极贡献外,开发社区最活跃的成员是迪士尼。迪士尼对 Panda3D 的主要兴趣是商业用途。Panda3D 正被用于开发许多迪士尼游戏和游乐园展品。为了满足迪士尼的需求,Panda3D 必须是一个功能齐全的引擎,能够提供任何“A 级”商业游戏所期望的所有性能和质量。
最受支持的语言是 Python。尽管您也可以使用 C++,但该文档主要针对 Python 的使用。
使用 Panda3D 编程
手册的这一部分解释了 Panda3D 的各种功能以及支持该库的各种概念。它充满了示例代码和API 参考链接,应与手册一起研究,以全面了解如何操作各种类。
-
使用 Panda3D 编程
- 场景图
- 动画模型
- 配置文件
- 渲染属性
- 纹理
- 着色器
- 相机控制
- 声音
- 间隔
- 任务和事件处理
- 图形用户界面
- 渲染效果
- 有限状态机
- 地形
- 具有内部结构的高级操作
- 渲染到纹理和图像后处理
- Panda3D 渲染过程
- 粒子效果
- 碰撞检测
- 对象管理
- 硬件支持
- 物理
- 联网
- 高级加载技术
- 使用 PandAI 进行寻路
调试
本节记录了可用于在 Panda3D 程序中查找问题的各种方法。
-
调试
- 记录消息
- 检查工具
- Python 调试器
- 在 C++ 调试器下运行 Panda3D
性能优化
性能优化通常是制作 3D 游戏的必要步骤,以使游戏在尽可能广泛的计算机硬件上运行。本节介绍如何使用 Panda3D 提供的强大性能分析工具查找和修复性能问题。
-
性能优化
- 基本性能诊断
- 使用 PStats 测量性能
- 常见的性能问题
- 刚体组合器
分配
本节介绍如何将完成的 Panda3D 应用程序编译成可执行文件并将其打包以进行分发。
-
分发 Panda3D 应用程序
- 构建二进制文件
- 构建选项列表
- 打包二进制文件
- 故障排除
- 第三方依赖项和许可证信息
工具
本节列出了许多支持使用 Panda3D 进行编程的工具,包括用于将模型导入 Panda3D 的 3D 建模程序的各种导出器。
-
Panda3D 工具
- 场景图形浏览器
- 模型导出
- 在 Pview 中预览 3D 模型
- 管道提示
- 审问
- Panda3D 可执行文件列表
API 参考
本节包含作为 Panda3D API 一部分的所有类和函数的完整列表。
- API 参考
更多资源
除了本手册之外,还有许多其他资源可能对学习 Panda3D 有用,包括书籍、示例程序和用户提供的教程。本节包含指向这些其他资源的链接。文章来源:https://www.toymoban.com/news/detail-480853.html
-
更多 Panda3D 资源
- 经常问的问题
- 分发中的示例程序
- 备忘单
- 用户贡献的教程和示例
- 视频讲座
获得帮助
如果您在理解或使用 Panda3D 方面遇到困难,请随时向社区提问!Panda3D 周围有一个充满热情的社区,可以为您提供帮助。您可以在 论坛上发布问题,访问我们的 Discord 服务器或访问Libera.Chat IRC 服务器#panda3d
上的频道。文章来源地址https://www.toymoban.com/news/detail-480853.html
到了这里,关于Panda3D 是一个用于 Python 和 C++ 程序的 3D 渲染和游戏开发框架。的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!