Panda3D es un motor de juegos, un marco para renderizado 3D y desarrollo de juegos para programas Python y C++. Panda3D es de código abierto y gratuito para cualquier propósito, incluidos los comerciales, gracias a su licencia liberal. Para obtener más información sobre las capacidades de Panda3D, visite la galería y la lista de funciones. Para aprender a utilizar Panda3D, consulte los recursos de documentación. Si te quedas atascado, pide ayuda a nuestra comunidad activa.
Panda3D tiene la licencia BSD modificada. Consulte el archivo de LICENCIA para obtener más detalles.
El último SDK de Panda3D se puede descargar desde esta página. Si está familiarizado con la instalación de paquetes de Python, puede utilizar el siguiente comando:
pip install panda3d
La forma más sencilla de instalar la última versión de desarrollo de Panda3D en una instalación de Python existente es mediante el siguiente comando:
pip install --pre --extra-index-url https://archive.panda3d.org/ panda3d
Si este comando falla, asegúrese de que su versión de pip esté actualizada.
Si prefiere instalar el SDK completo con todas las herramientas, puede obtener las últimas versiones de desarrollo en esta página.
Estos se mantienen actualizados automáticamente con la última versión de GitHub de Panda.
Puede compilar Panda3D con el compilador Microsoft Visual C++ 2017, 2019 o 2022, que se puede descargar de forma gratuita desde el sitio de Visual Studio. También necesitará instalar el SDK de Windows y, si desea utilizar Windows Vista, también necesitará el SDK de Windows 8.1.
También necesitará las bibliotecas de dependencias de terceros disponibles para que las utilicen los scripts de compilación. Estos están disponibles en una de estas dos URL, dependiendo de si está en un sistema de 32 o 64 bits, o puede hacer clic aquí para obtener instrucciones sobre cómo crearlos desde el código fuente.
Después de adquirir estas dependencias, puede compilar Panda3D desde el símbolo del sistema usando el siguiente comando. Cambie la opción --msvc-version
según su versión de Visual C++; 2022 es 14.3, 2019 es 14.2, 2017 es 14.1 y 2015 es 14. Elimine la opción --windows-sdk=10
si necesita compatibilidad con Windows Vista, que requiere el SDK de Windows 8.1.
makepanda m akepanda.bat --everything --installer --msvc-version=14.3 --windows-sdk=10 --no-eigen --threads=2
Cuando la compilación se realice correctamente, se producirá un archivo .exe que podrá utilizar para instalar Panda3D en su sistema.
Nota: puede optar por eliminar --no-eigen
y compilar con soporte Eigen para mejorar el rendimiento en tiempo de ejecución. Sin embargo, esto hará que la compilación tarde horas en completarse, ya que Eigen es una biblioteca basada en gran medida en plantillas y el compilador MSVC no funciona bien en esas circunstancias.
Construir Panda3D en Linux es fácil. Todo lo que necesita es invocar el script makepanda usando la versión de Python con la que desea que se construya Panda3D.
Ejecute makepanda.py con la opción --help para ver qué opciones están disponibles. Por lo general, querrá especificar la opción --everything (que se compila con soporte para todas las funciones para las cuales detecta las dependencias de requisitos previos) y la opción --installer (que produce un archivo .deb o .rpm instalable para que usted lo instale, dependiendo de su distribución).
El siguiente comando ilustra cómo construir Panda3D con algunas opciones comunes:
python3 makepanda/makepanda.py --everything --installer --no-egl --no-gles --no-gles2 --no-opencv
Probablemente verá algunas advertencias que indican que no puede encontrar varios paquetes de dependencia. Debe determinar cuáles desea incluir en su compilación e instalar los paquetes de desarrollo respectivos. Puede visitar esta página de manual para obtener una descripción general de las distintas dependencias.
Si está en Ubuntu, este comando debería cubrir los paquetes de terceros utilizados con más frecuencia:
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
Una vez que Panda3D se haya compilado, puede instalar el paquete .deb o .rpm que se produce, según la distribución de Linux que esté utilizando. Por ejemplo, para instalar el paquete en Debian o Ubuntu, use esto:
sudo dpkg -i panda3d * .deb
Si no está utilizando una distribución de Linux que admita paquetes .deb o .rpm, es posible que deba utilizar el script installpanda.py, que copiará directamente los archivos en las ubicaciones adecuadas de su computadora. Es posible que tengas que ejecutar la herramienta ldconfig
para actualizar el caché de tu biblioteca después de instalar Panda3D.
Alternativamente, puede agregar la opción --wheel
, que producirá un archivo .whl que se puede instalar en una instalación de Python usando pip
.
En macOS, necesitarás descargar un conjunto de paquetes de terceros precompilados para poder compilar Panda3D, que puedes adquirir desde aquí.
Después de colocar el directorio de terceros dentro del directorio fuente de panda3d, puede compilar Panda3D usando un comando como el siguiente:
python makepanda/makepanda.py --everything --installer
Puede apuntar a una versión mínima específica de macOS usando el indicador --osxtarget seguido del número de versión, por ejemplo. 10.9 o 10.14.
Si la compilación fue exitosa, makepanda habrá generado un archivo .dmg en el directorio fuente que contiene el instalador. Simplemente ábralo y ejecute el archivo del paquete para instalar el SDK en su sistema.
Construir en FreeBSD es muy similar a construir en Linux. Deberá instalar los paquetes necesarios utilizando el administrador de paquetes del sistema. Para instalar el conjunto recomendado de dependencias, puede utilizar este comando:
pkg install pkgconf bison png jpeg-turbo tiff freetype2 harfbuzz eigen squish openal opusfile libvorbis libX11 mesa-libs ode bullet assimp openexr
También deberá elegir qué versión de Python desea utilizar. Instale el paquete apropiado (como python37
o python38
) y ejecute el script makepanda con la versión de Python elegida:
python3.11 makepanda/makepanda.py --everything --installer --no-egl --no-gles --no-gles2
Si tiene éxito, esto producirá un archivo .pkg en la raíz del directorio de origen que puede instalar usando pkg install
.
Aunque es posible compilar Panda3D en un dispositivo Android usando el shell termux, la ruta recomendada es realizar una compilación cruzada de archivos .whl usando el SDK y el NDK, que luego pueden usarse con el comando build_apps
para compilar una aplicación Python en un .apk. o paquete .aab. Necesitará obtener los paquetes de terceros más recientes, que se pueden obtener en la página de artefactos de la última ejecución exitosa aquí:
https://github.com/rdb/panda3d-thirdparty/actions?query=branch%3Amain+is%3Asuccess+event%3Apush
Esto no incluye Python por el momento, que se puede extraer de este archivo.
Estos comandos muestran cómo compilar ruedas para las ABI de Android compatibles:
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
Ahora es posible utilizar las ruedas generadas con build_apps
, como se explica en esta página:
https://discourse.panda3d.org/t/deployment-for-android/28226
Instale PyTest y ejecute el comando pytest
. Si no ha instalado Panda3D, deberá configurar su entorno apuntando la variable PYTHONPATH
al directorio built
. En Linux, también necesitarás apuntar la variable LD_LIBRARY_PATH
al directorio built/lib
.
Para su comodidad, también puede pasar la opción --tests
a makepanda.
Si encuentra algún error al utilizar Panda3D, infórmelo en el rastreador de errores. Este está alojado en:
https://github.com/panda3d/panda3d/issues
Asegúrese de utilizar primero la función de búsqueda para ver si el error ya ha sido informado. Al completar un informe de error, asegúrese de incluir tanta información como sea posible para ayudar a los desarrolladores a localizar el problema, como su versión de Panda3D, sistema operativo, arquitectura y cualquier código y modelo que sean necesarios para que los desarrolladores reproducir el problema.
Si no está seguro de haber encontrado un error, no dude en preguntarlo primero en los foros o en el canal IRC.
Si desea apoyar económicamente el proyecto, visite nuestra campaña en OpenCollective. Tus contribuciones nos ayudan a acelerar el desarrollo de Panda3D.
Para obtener la lista de patrocinadores, consulte el archivo BACKERS.md o visite la página de Patrocinadores en nuestro sitio web. ¡Gracias a todos los que han donado!