Panda3D 是一个游戏引擎,是一个用于 Python 和 C++ 程序的 3D 渲染和游戏开发的框架。由于其宽松的许可证,Panda3D 是开源的,并且可以免费用于任何目的,包括商业企业。要了解有关 Panda3D 功能的更多信息,请访问图库和功能列表。要了解如何使用 Panda3D,请查看文档资源。如果您遇到困难,请向我们活跃的社区寻求帮助。
Panda3D 根据修改版 BSD 许可证获得许可。有关更多详细信息,请参阅许可证文件。
可以从此页面下载最新的Panda3D SDK。如果您熟悉安装 Python 包,可以使用以下命令:
pip install panda3d
将 Panda3D 的最新开发版本安装到现有 Python 安装中的最简单方法是使用以下命令:
pip install --pre --extra-index-url https://archive.panda3d.org/ panda3d
如果此命令失败,请确保您的 pip 版本是最新的。
如果您希望安装包含所有工具的完整 SDK,可以从此页面获取最新的开发版本。
这些会自动与最新的 GitHub 版本的 Panda 保持同步。
您可以使用 Microsoft Visual C++ 2017、2019 或 2022 编译器构建 Panda3D,该编译器可以从 Visual Studio 网站免费下载。您还需要安装 Windows SDK,如果您打算面向 Windows Vista,则还需要 Windows 8.1 SDK。
您还需要可供构建脚本使用的第三方依赖库。这些可以从这两个 URL 之一获得,具体取决于您使用的是 32 位还是 64 位系统,或者您可以单击此处获取有关从源代码构建它们的说明。
获取这些依赖项后,您可以使用以下命令从命令提示符构建 Panda3D。根据您的 Visual C++ 版本更改--msvc-version
选项; 2022 年是 14.3、2019 年是 14.2、2017 年是 14.1、2015 年是 14。如果需要支持 Windows Vista(需要 Windows 8.1 SDK),请删除--windows-sdk=10
选项。
makepanda m akepanda.bat --everything --installer --msvc-version=14.3 --windows-sdk=10 --no-eigen --threads=2
构建成功后,它将生成一个 .exe 文件,您可以使用该文件在系统上安装 Panda3D。
注意:您可以选择删除--no-eigen
并使用 Eigen 支持进行构建,以提高运行时性能。然而,这将导致构建需要几个小时才能完成,因为 Eigen 是一个严重基于模板的库,并且 MSVC 编译器在这些情况下表现不佳。
在 Linux 上构建 Panda3D 很容易。您所需要做的就是使用您希望构建 Panda3D 的 Python 版本来调用 makepanda 脚本。
使用 --help 选项运行 makepanda.py 以查看哪些选项可用。通常,您需要指定 --everything 选项(构建时支持检测先决条件依赖项的所有功能)和 --installer 选项(生成可安装的 .deb 或 .rpm 文件供您安装,取决于您的发行版)。
以下命令说明了如何使用一些常见选项构建 Panda3D:
python3 makepanda/makepanda.py --everything --installer --no-egl --no-gles --no-gles2 --no-opencv
您可能会看到一些警告,指出无法找到多个依赖包。您应该确定要在构建中包含哪些包并安装相应的开发包。您可以访问此手册页以获取各种依赖项的概述。
如果您使用的是 Ubuntu,此命令应该涵盖最常用的第三方软件包:
sudo apt-get install build-essential pkg-config fakeroot python3-dev libpng-dev libjpeg-dev libtiff-dev zlib1g-dev libssl-dev libx11-dev libgl1-mesa-dev libxrandr-dev libxxf86dga-dev libxcursor-dev bison flex libfreetype6-dev libvorbis-dev libeigen3-dev libopenal-dev libode-dev libbullet-dev nvidia-cg-toolkit libgtk-3-dev libassimp-dev libopenexr-dev
构建 Panda3D 后,您可以安装生成的 .deb 或 .rpm 软件包,具体取决于您使用的 Linux 发行版。例如,要在 Debian 或 Ubuntu 上安装该软件包,请使用以下命令:
sudo dpkg -i panda3d * .deb
如果您使用的 Linux 发行版不支持 .deb 或 .rpm 软件包,则可能必须使用 installpanda.py 脚本,该脚本会将文件直接复制到计算机上的适当位置。安装 Panda3D 后,您可能必须运行ldconfig
工具才能更新库缓存。
或者,您可以添加--wheel
选项,这将生成一个 .whl 文件,可以使用pip
将其安装到 Python 安装中。
在 macOS 上,您需要下载一组预编译的第三方包才能编译 Panda3D,可以从此处获取。
将第三方目录放入 panda3d 源目录后,您可以使用如下命令构建 Panda3D:
python makepanda/makepanda.py --everything --installer
您可以使用 --osxtarget 标志后跟版本号来定位特定的最低 macOS 版本,例如。 10.9 或 10.14。
如果构建成功,makepanda 将在包含安装程序的源目录中生成一个 .dmg 文件。只需打开它并运行包文件即可将 SDK 安装到您的系统上。
在 FreeBSD 上构建与在 Linux 上构建非常相似。您将需要使用系统包管理器安装必需的包。要安装推荐的依赖项集,可以使用以下命令:
pkg install pkgconf bison png jpeg-turbo tiff freetype2 harfbuzz eigen squish openal opusfile libvorbis libX11 mesa-libs ode bullet assimp openexr
您还需要选择要使用的 Python 版本。为其安装适当的包(例如python37
或python38
)并使用您选择的 Python 版本运行 makepanda 脚本:
python3.11 makepanda/makepanda.py --everything --installer --no-egl --no-gles --no-gles2
如果成功,这将在源目录的根目录中生成一个 .pkg 文件,您可以使用pkg install
进行安装。
虽然可以使用 termux shell 在 Android 设备上构建 Panda3D,但建议的途径是使用 SDK 和 NDK 交叉编译 .whl 文件,然后build_apps
命令可以使用该文件将 Python 应用程序构建为 .apk或 .aab 捆绑包。您将需要获取最新的第三方软件包,可以从此处上次成功运行的工件页面获取:
https://github.com/rdb/panda3d-thirdparty/actions?query=branch%3Amain+is%3Asuccess+event%3Apush
目前不包括 Python,可以从该存档中提取 Python。
这些命令展示了如何为支持的 Android ABI 编译wheel:
export ANDROID_SDK_ROOT=/home/rdb/local/android
python3.8 makepanda/makepanda.py --everything --outputdir built-droid-arm64 --arch arm64 --target android-21 --threads 6 --wheel
python3.8 makepanda/makepanda.py --everything --outputdir built-droid-armv7a --arch armv7a --target android-19 --threads 6 --wheel
python3.8 makepanda/makepanda.py --everything --outputdir built-droid-x86_64 --arch x86_64 --target android-21 --threads 6 --wheel
python3.8 makepanda/makepanda.py --everything --outputdir built-droid-x86 --arch x86 --target android-19 --threads 6 --wheel
现在可以将生成的轮子与build_apps
一起使用,如本页所述:
https://discourse.panda3d.org/t/deployment-for-android/28226
安装 PyTest 并运行pytest
命令。如果您尚未安装 Panda3D,则需要通过将PYTHONPATH
变量指向构建目录来built
环境。在 Linux 上,您还需要将LD_LIBRARY_PATH
变量指向built/lib
目录。
为了方便起见,您也可以将--tests
选项传递给 makepanda。
如果您在使用 Panda3D 时遇到任何错误,请在错误跟踪器中报告。这是托管在:
https://github.com/panda3d/panda3d/issues
确保首先使用搜索功能查看该错误是否已被报告。填写错误报告时,请确保包含尽可能多的信息以帮助开发人员追踪问题,例如您的 Panda3D 版本、操作系统、架构以及开发人员所需的任何代码和模型。重现该问题。
如果您不确定是否遇到了错误,请先在论坛或 IRC 频道中询问。
如果您想在经济上支持该项目,请访问我们在 OpenCollective 上的活动。您的贡献有助于我们加速 Panda3D 的开发。
有关支持者列表,请参阅 BACKERS.md 文件或访问我们网站上的赞助商页面。感谢所有捐赠者!