{"id":16862946,"url":"https://github.com/moguri/blenderpanda","last_synced_at":"2025-03-22T06:32:04.928Z","repository":{"id":30103059,"uuid":"33652830","full_name":"Moguri/BlenderPanda","owner":"Moguri","description":"Blender addon for integrating Panda3D","archived":false,"fork":false,"pushed_at":"2019-05-07T16:10:11.000Z","size":1802,"stargazers_count":76,"open_issues_count":13,"forks_count":11,"subscribers_count":15,"default_branch":"master","last_synced_at":"2025-03-18T09:05:17.789Z","etag":null,"topics":["blender-addon","gamedev","panda3d","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Moguri.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-04-09T06:38:54.000Z","updated_at":"2025-01-28T06:44:45.000Z","dependencies_parsed_at":"2022-08-26T09:31:42.545Z","dependency_job_id":null,"html_url":"https://github.com/Moguri/BlenderPanda","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Moguri%2FBlenderPanda","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Moguri%2FBlenderPanda/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Moguri%2FBlenderPanda/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Moguri%2FBlenderPanda/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Moguri","download_url":"https://codeload.github.com/Moguri/BlenderPanda/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244918499,"owners_count":20531683,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blender-addon","gamedev","panda3d","python"],"created_at":"2024-10-13T14:37:15.457Z","updated_at":"2025-03-22T06:31:59.920Z","avatar_url":"https://github.com/Moguri.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BlenderPanda\n[![Build Status](https://travis-ci.org/Moguri/BlenderPanda.svg?branch=master)](https://travis-ci.org/Moguri/BlenderPanda)\n\nBlender addon for integrating [Panda3D](http://www.panda3d.org/)\n\n## Overview\nThis addon mostly acts as a front-end to [blend2bam](https://github.com/Moguri/panda3d-blend2bam) and [pman](https://github.com/Moguri/pman).\n\n## Features\n* BAM export\n* Rendered Viewport (preview how Blender scenes will look in Panda)\n* Project quick-start (setup common directories and files for your new project)\n* Launch your game from inside Blender (launches as a separate application)\n\n## Dependencies\nIn order to use BlenderPanda, you need to satisfy two dependencies:\n\n* Blender (tested with 2.79)\n* Python 3.5+ with `panda3d` installed\n\nThe Python install that has `panda3d` installed needs to be on the PATH for BlenderPanda to work.\n\n## Getting Started\nDocumentation for getting started with BlenderPanda can be found [here](https://blenderpanda.readthedocs.org/en/latest/getting_started.html).\n## Installing the Addon\nThere are two ways to get the addon:\n\n* Download a [release build](https://github.com/Moguri/BlenderPanda/releases)\n* Grab the latest version with Git\n\nUsing Git is recommended for those that want to quickly get the latest updates.\nHowever, using a release build is easier to install (especially for those not familiar with Git).\n\n### Using a release build\nRelease builds can be found on the project's [Releases Page](https://github.com/Moguri/BlenderPanda/releases).\nThe Source Code builds will not contain submodules, so make sure you grab the file that starts with `BlenderPanda-v`.\nOnce you have the zip file, the addon can be installed like any Blender addon by following the instructions in the [Blender Manual](https://www.blender.org/manual/preferences/addons.html).\n\n### Using Git\nGitHub's Download ZIP option does not support git submodules, which are used by BlenderPanda to bring in various dependencies.\nTherefore using git is the recommended way to grab the latest version of the addon.\nFrom the user addons directory (e.g., ~/.config/blender/2.xx/scripts/addons on Linux) use the following git command:\n\n```bash\ngit clone --recursive https://github.com/Moguri/BlenderPanda.git\n```\n\nTo update to the latest version of the addon run the following from the addon's directory:\n\n```bash\ngit pull\ngit submodule update --init --recursive\n```\n\nWith the addon repository cloned, the addon should now show up in the addons section of Blender's User Preferences and can be enabled from there.\nIf all has gone well, a Panda3D RenderEngine should now be available.\nIf the addon has been enabled, but does not show up in the RenderEngine drop down, check the console for errors.\n\nThe mostly likely source of errors is not having Panda3D setup correctly.\nIf, instead, there is an error about not being able to find `pman` or `blend2bam` or one of their submodules, the git repository is likely missing its submodules.\nThis can happen if the `--recursive` option was not used during `git clone`.\nThe following git command should bring in the missing submodule(s)::\n\n```bash\ngit submodule update --init --recursive\n```\n\nThe `Makefile` in the repository also has an `update_targets` command that can be invoked (via `make update_targets`) that will execute the `git submodule update`.\n\n\n## Viewport Preview\nBlenderPanda is implemented as a Render Engine, so make sure it is selected from the Render Engine dropdown in Blender's info bar.\nTo preview a scene in Panda3D, simply switch to a rendered viewport.\nDepending on the size of the Blender scene, it may take some time to convert to Panda3D.\n\nRendered Viewport on macOS requires Panda3D 1.10+\n\n## Setting up a pman Project\nWhile some features such as viewport previewing and BAM export are possible without a `pman` project, to make full use of BlenderPanda you'll need to set one up.\n\nTo create a new project from scratch (including necessary `pman` files), click on the Create New Project button in the render properties:\n\n![Create New Project button](images/create_project.png)\n\nThis brings up Blender's file dialog allowing you to select a folder to create the new project in.\nThis will generate a handful of files and directories to get you setup quickly.\nThis operator will create a new project using [pman](https://github.com/Moguri/pman), specifically `pman create`.\nWhen BlenderPanda detects a project, the render properties are updated:\n\n![Project settings](images/project_settings.png)\n\n## Building and Running the Project\nThe project can be run via the `main.py` as any normal Panda3D application or the Run Project button in the render properties in Blender.\n\nIf you have any assets that need to be converted, the Build Project button will convert all items in the asset directory and place them in the export directory (creating it if need be).\nWhen building a project, a source file in the asset directory will only be converted if it has a newer timestamp than the converted file in the export directory.\nIn other words, only out-of-date assets are converted.\n\nIf auto-building is enabled -- which it is by default -- then the project will be built every time the game is run.\nThis includes running the game from within Blender via BlenderPanda or running `main.py` normally.\nThe build process is very quick if no assets need to be converted, so auto-building should not hurt iteration times when programming.\nHowever, auto-build is very useful when pulling in new/modified source assets from a version control system.\nTherefore, it is recommended to leave auto-building enabled.\n\nWhen running a project with no changes made to the initial `main.py` created by BlenderPanda/pman, you will be greeted by a window with a boring gray background.\nThis is because there are no models being loaded in the `main.py`.\nAfter creating and saving a model to the project's assets directory, it can be loaded by adding the following to `GameApp.__init__` in `main.py` somewhere after the `pman.shim.init(self)`::\n\n```python\nself.model = self.loader.loadModel('name_of_model_file.bam')\nself.model.reparentTo(self.render)\n```\n\nProjects using Panda3D 1.10+ may want to use the new API style::\n\n```python\nself.model = self.loader.load_model('name_of_model_file.bam')\nself.model.reparent_to(self.render)\n```\n\nBy default, the camera for the Panda3D scene will be at the origin, so it is likely that the loaded model will not be visible.\nFor information on controlling the camera in Panda3D, please refer to the [Controlling the Camera](https://www.panda3d.org/manual/index.php/Controlling_the_Camera) section of the [Panda3D Manual](https://www.panda3d.org/manual/index.php/Main_Page)\n\n## Project settings\nFor more information on the various project settings, please refer to the `pman` [documentation](https://github.com/Moguri/pman).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmoguri%2Fblenderpanda","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmoguri%2Fblenderpanda","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmoguri%2Fblenderpanda/lists"}