Panda3D — игровой движок, платформа для 3D-рендеринга и разработки игр для программ на Python и C++. 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 со всеми инструментами, последние сборки для разработки можно получить на этой странице.
Они автоматически обновляются до последней версии Panda на GitHub.
Вы можете собрать Panda3D с помощью компилятора Microsoft Visual C++ 2017, 2019 или 2022, который можно бесплатно загрузить с сайта Visual Studio. Вам также потребуется установить Windows SDK, а если вы планируете использовать Windows Vista, вам также понадобится Windows 8.1 SDK.
Вам также потребуются сторонние библиотеки зависимостей, доступные для использования в сценариях сборки. Они доступны по одному из этих двух URL-адресов, в зависимости от того, используете ли вы 32-битную или 64-битную систему, или вы можете нажать здесь, чтобы получить инструкции по их сборке из исходного кода.
После получения этих зависимостей вы можете собрать Panda3D из командной строки, используя следующую команду. Измените параметр --msvc-version
в зависимости от вашей версии Visual C++; 2022 — 14,3, 2019 — 14,2, 2017 — 14,1 и 2015 — 14. Удалите параметр --windows-sdk=10
, если вам нужна поддержка Windows Vista, для которой требуется Windows 8.1 SDK.
makepanda m akepanda.bat --everything --installer --msvc-version=14.3 --windows-sdk=10 --no-eigen --threads=2
Когда сборка завершится успешно, будет создан файл .exe, который вы сможете использовать для установки Panda3D в вашей системе.
Примечание: вы можете удалить --no-eigen
и выполнить сборку с поддержкой Eigen, чтобы улучшить производительность во время выполнения. Однако это приведет к тому, что сборка займет несколько часов, поскольку Eigen — это библиотека, основанная на шаблонах, и компилятор MSVC не работает должным образом в таких обстоятельствах.
Создать Panda3D в Linux легко. Все, что вам нужно, это запустить скрипт makepanda, используя ту версию Python, на которой вы хотите построить Panda3D.
Запустите makepanda.py с параметром --help, чтобы увидеть доступные параметры. Обычно вам нужно указать параметр --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, который напрямую скопирует файлы в соответствующие места на вашем компьютере. Возможно, вам придется запустить инструмент ldconfig
, чтобы обновить кеш библиотеки после установки Panda3D.
Альтернативно вы можете добавить параметр --wheel
, который создаст файл .whl, который можно будет установить в установку Python с помощью pip
.
В macOS вам потребуется загрузить набор предварительно скомпилированных сторонних пакетов для компиляции Panda3D, которые можно приобрести здесь.
После размещения стороннего каталога внутри исходного каталога panda3d вы можете собрать Panda3D с помощью следующей команды:
python makepanda/makepanda.py --everything --installer
Вы можете указать конкретную минимальную версию macOS, используя флаг --osxtarget, за которым следует номер выпуска, например. 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
) и запустите скрипт makepanda с выбранной вами версией Python:
python3.11 makepanda/makepanda.py --everything --installer --no-egl --no-gles --no-gles2
В случае успеха в корне исходного каталога будет создан файл .pkg, который вы сможете установить с помощью pkg install
.
Хотя можно собрать Panda3D на устройстве Android с помощью оболочки termux, рекомендуемым путем является кросс-компиляция файлов .whl с использованием SDK и NDK, которые затем можно использовать командой build_apps
для сборки приложения Python в файл .apk. или пакет .aab. Вам потребуется получить последние версии сторонних пакетов, которые можно получить на странице артефактов последнего успешного запуска здесь:
https://github.com/rdb/panda3d- Thirdparty/actions?query=branch%3Amain+is%3Asuccess+event%3Apush
На данный момент сюда не входит Python, который можно извлечь из этого архива.
Эти команды показывают, как скомпилировать колеса для поддерживаемых Android ABI:
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
.
Для удобства вы также можете передать команде makepanda опцию --tests
.
Если вы столкнулись с какими-либо ошибками при использовании Panda3D, сообщите о них в системе отслеживания ошибок. Это размещено по адресу:
https://github.com/panda3d/panda3d/issues
Обязательно сначала воспользуйтесь функцией поиска, чтобы узнать, сообщалось ли уже об ошибке. Заполняя отчет об ошибке, убедитесь, что вы включили как можно больше информации, которая поможет разработчикам отследить проблему, например, вашу версию Panda3D, операционную систему, архитектуру, а также любой код и модели, которые необходимы разработчикам. воспроизвести проблему.
Если вы не уверены, столкнулись ли вы с ошибкой, сначала спросите об этом на форумах или IRC-канале.
Если вы хотите поддержать проект финансово, посетите нашу кампанию на OpenCollective. Ваш вклад поможет нам ускорить разработку Panda3D.
Список спонсоров можно найти в файле BACKERS.md или на странице «Спонсоры» на нашем веб-сайте. Спасибо всем, кто сделал пожертвование!