moguri / blenderpanda Goto Github PK
View Code? Open in Web Editor NEWBlender addon for integrating Panda3D
License: MIT License
Blender addon for integrating Panda3D
License: MIT License
blendergltf has moved from using extra fields in the material to supporting the glTF KHR_materials_common extension.
BlenderPanda needs to be updated to expect material data in this format. The fields are almost identical, so this is mostly a matter of looking for the data in the right locations.
Fedora Linux 24 - 64bits
Panda 1.9.2
Python 3.5.1
bash-4.3$ python3 main.py
Known pipe types:
glxGraphicsPipe
(all display modules loaded.)
Starting build
Read assets from: /home/leonardo/Projetos/PandaTeste/assets/
Export them to: /home/leonardo/Projetos/PandaTeste/game/assets/
Ignoring file patterns: ['*.blend1', '*.blend2']
Build took 0.0002s
Traceback (most recent call last):
File "main.py", line 20, in <module>
app = GameApp()
File "main.py", line 16, in __init__
blenderpanda.init(self)
File "/home/leonardo/Projetos/PandaTeste/game/blenderpanda/bpbase.py", line 21, in init
base._bpbase = BPBase(base, config)
File "/home/leonardo/Projetos/PandaTeste/game/blenderpanda/bpbase.py", line 8, in __init__
self.rendermanager = create_render_manager(base, config)
File "/home/leonardo/Projetos/PandaTeste/game/blenderpanda/rendermanager.py", line 38, in create_render_manager
mod = SourceFileLoader("render_plugin", path).load_module()
File "<frozen importlib._bootstrap_external>", line 385, in _check_name_wrapper
File "<frozen importlib._bootstrap_external>", line 806, in load_module
File "<frozen importlib._bootstrap_external>", line 665, in load_module
File "<frozen importlib._bootstrap>", line 268, in _load_module_shim
File "<frozen importlib._bootstrap>", line 693, in _load
File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 658, in exec_module
File "<frozen importlib._bootstrap_external>", line 763, in get_code
File "<frozen importlib._bootstrap_external>", line 815, in get_data
IsADirectoryError: [Errno 21] Is a directory: '/home/leonardo/Projetos/PandaTeste/.'
Traceback (most recent call last):
File "/home/bkeys/.config/blender/2.78/scripts/addons/BlenderPanda/converter.py", line 678, in
converter.update(gltf_data, writing_bam=True)
File "/home/bkeys/.config/blender/2.78/scripts/addons/BlenderPanda/converter.py", line 48, in update
self.load_mesh(meshid, gltf_mesh, gltf_data)
File "/home/bkeys/.config/blender/2.78/scripts/addons/BlenderPanda/converter.py", line 559, in load_mesh
iacc = gltf_data['accessors'][iacc_name]
KeyError: u'accessor_buffer_Mesh.057_4'
This section is currently marked TODO in the docs. It should include:
hello,I make some simple changes to make it useful for blender2.80,but,which can't export pam,why? Here is
https://github.com/BlenderCN/BlenderPanda_28
Hi, I use UPBGE and Range a lot, and I was thinking that a Blender frontend/editor for Panda3D would be a really great idea for licensing and performance. Well, it seems you had the idea before I did :)
Anyways, I was wondering what the state of the project is at the moment and whether you're still intending to continue developing it. I think this would ideally be a modern Blender addon, but it might also make sense to instead make an underlying "panda3d project manager" command utility that this plugin interacts with.
Edit: I see pman and blend2bam are already being used in the backend, is pman still maintained?
My ideal workflow is this:
I'd be happy to help out with development, if there's anything I can work on.
The generated main.py file contains two unused imports: os and p3d.
Since different artists collaborating on a project will likely need several starting points (or the same artist might need them as well when working on different parts of the project), having support for that would be helpful.
To minimize effort for the artist when working with them, I suggest that a dropdown menu be added near the "Run Project" button, which enumerates available entry points, and persists the chosen point during Blender restarts / recoveries.
For the implementation I suggest mimicking pytest. Entry points shall be functions in main.py
with names that start with entry_
, so that they can automatically be recognized and listed in the dropdown menu. Alternatively, methods of the GameApp class, likewise starting with entry_
could be used instead. On running the project, the chosen name can be passed as a command line argument, and the method, if specified, be called at the end of GameApp.__init__()
.
I downloaded the version 0.4.0 release and installed it in blender 2.79b with windows 10. However, when attempting to enable the addon by checking it in the user-preferences addons menu, this traceback was thrown:
Traceback (most recent call last):
File "C:\Program Files\Blender Foundation\Blender\2.79\scripts\modules\addon_utils.py", line 331, in enable
mod = __import__(module_name)
File "C:\Users\avise\AppData\Roaming\Blender Foundation\Blender\2.79\scripts\addons\BlenderPanda\__init__.py", line 34, in <module>
import pman
File "C:\Users\avise\AppData\Roaming\Blender Foundation\Blender\2.79\scripts\addons\BlenderPanda\pman\pman\__init__.py", line 2, in <module>
from .core import *
File "C:\Users\avise\AppData\Roaming\Blender Foundation\Blender\2.79\scripts\addons\BlenderPanda\pman\pman\core.py", line 16, in <module>
import pkg_resources
ImportError: No module named 'pkg_resources'
I created a simple scene with a plane, but when attempting to move the plane in the rendered viewport, I get this error:
Traceback (most recent call last):
File "/usr/local/lib/python3.5/threading.py", line 914, in _bootstrap_inner
self.run()
File "/home/rdb/.config/blender/2.79/scripts/addons/BlenderPanda/brte/brte/converter_thread.py", line 19, in run
output = self.converter.convert(add, update, remove, view)
File "/home/rdb/.config/blender/2.79/scripts/addons/BlenderPanda/brte/brte/converters/btf.py", line 43, in convert
data = blendergltf.export_gltf(add_delta, self.gltf_settings)
File "/home/rdb/.config/blender/2.79/scripts/addons/BlenderPanda/blendergltf/blendergltf.py", line 1664, in export_gltf
ref.source[ref.prop] = refmap[(ref.blender_type, ref.blender_name)]
KeyError: ('meshes', 'Plane')
While in rendered viewport mode, neither "Restrict viewport visibility" (obj.hide
) nor "Restrict rendering" (obj.hide_render
) has any impact on the visibility of the object. It does work when setting this before entering Rendered Viewport mode.
Hiding objects while inspecting scenes (eg. hiding an obstacle to inspect what's behind it) seems like a common enough use case to merit supporting this.
Upon attempting to build a simple project, the following error is encountered:
File "/home/geoffrey/.config/blender/2.77/scripts/addons/BlenderPanda/pman_build.py", line 33, in <module>
bpy.ops.panda_engine.export_bam(filepath=dst, copy_images=False, skip_up_to_date=True)
File "/usr/share/blender/2.77/scripts/modules/bpy/ops.py", line 189, in __call__
ret = op_call(self.idname_py(), None, kw)
AttributeError: Calling operator "bpy.ops.panda_engine.export_bam" error, could not be found
The function "bpy.ops.panda_engine.export_bam" does appear to exist when looking at it through the python console.
This problem appears to be resolved if the plugin is enabled in the startup file. (ie enable the plugin then save the user preferences globally).
Right now the BasicRenderManager
relies on an sRGB framebuffer, which requires special setup before ShowBase
is created. The processor_app can guarantee an sRGB framebuffer, but things get less reliable when the BasicRenderManager
is dropped into end-user applications. Instead it would be preferable to handle any necessary setup in BasicRenderManager.__init__()
.
Switching to a regular color buffer and using render-to-texture with a color correction shader should allow us to switch sRGB on/off at runtime after a window/framebuffer has already been created.
I'm not sure why:
Read prefs: ~/.config/blender/2.79/config/userpref.blend
found bundled python: ~/.steam/steam/steamapps/common/Blender/2.79/python
Read blend: ~/development/games/blenderPandaTest2/assets/level.blend
Starting build
Read assets from: ~/development/games/blenderPandaTest2/assets/
Export them to: ~/development/games/blenderPandaTest2/game/assets/
Ignoring file patterns: ['*.blend1', '*.blend2']
Adding ~/development/games/blenderPandaTest2/assets/level.blend to conversion list to satisfy ~/development/games/blenderPandaTest2/game/assets/level.bam
Skip building file level.blend1 that matched ignore pattern *.blend1
Read prefs: ~/.config/blender/2.79/config/userpref.blend
found bundled python: ~/.steam/steam/steamapps/common/Blender/2.79/python
Converting .blend file (~/development/games/blenderPandaTest2/assets/level.blend) to .bam (~/development/games/blenderPandaTest2/game/assets/level.bam)
Read blend: ~/development/games/blenderPandaTest2/assets/level.blend
Error: Traceback (most recent call last):
File "~/.steam/steam/steamapps/common/Blender/2.79/scripts/addons/BlenderPanda/operators.py", line 78, in execute
data = blendergltf.export_gltf(scene_delta, gltf_settings)
File "~/.steam/steam/steamapps/common/Blender/2.79/scripts/addons/BlenderPanda/blendergltf/blendergltf.py", line 1795, in export_gltf
] for exporter in exporters
File "~/.steam/steam/steamapps/common/Blender/2.79/scripts/addons/BlenderPanda/blendergltf/blendergltf.py", line 1795, in <dictcomp>
] for exporter in exporters
File "~/.steam/steam/steamapps/common/Blender/2.79/scripts/addons/BlenderPanda/blendergltf/blendergltf.py", line 1794, in <listcomp>
for data in state['input'].get(exporter.blender_key, [])
File "~/.steam/steam/steamapps/common/Blender/2.79/scripts/addons/BlenderPanda/blendergltf/blendergltf.py", line 785, in export_mesh
vert_list = {Vertex(mesh, loop): 0 for loop in mesh.loops}.keys()
File "~/.steam/steam/steamapps/common/Blender/2.79/scripts/addons/BlenderPanda/blendergltf/blendergltf.py", line 785, in <dictcomp>
vert_list = {Vertex(mesh, loop): 0 for loop in mesh.loops}.keys()
File "~/.steam/steam/steamapps/common/Blender/2.79/scripts/addons/BlenderPanda/blendergltf/blendergltf.py", line 109, in __init__
self.uvs = tuple(layer.data[loop_idx].uv[:] for layer in mesh.uv_layers)
File "~/.steam/steam/steamapps/common/Blender/2.79/scripts/addons/BlenderPanda/blendergltf/blendergltf.py", line 109, in <genexpr>
self.uvs = tuple(layer.data[loop_idx].uv[:] for layer in mesh.uv_layers)
IndexError: bpy_prop_collection[index]: index 0 out of range, size 0
location: ~/.steam/steam/steamapps/common/Blender/2.79/scripts/modules/bpy/ops.py:189
Traceback (most recent call last):
File "~/.steam/steam/steamapps/common/Blender/2.79/scripts/addons/BlenderPanda/operators.py", line 78, in execute
data = blendergltf.export_gltf(scene_delta, gltf_settings)
File "~/.steam/steam/steamapps/common/Blender/2.79/scripts/addons/BlenderPanda/blendergltf/blendergltf.py", line 1795, in export_gltf
] for exporter in exporters
File "~/.steam/steam/steamapps/common/Blender/2.79/scripts/addons/BlenderPanda/blendergltf/blendergltf.py", line 1795, in <dictcomp>
] for exporter in exporters
File "~/.steam/steam/steamapps/common/Blender/2.79/scripts/addons/BlenderPanda/blendergltf/blendergltf.py", line 1794, in <listcomp>
for data in state['input'].get(exporter.blender_key, [])
File "~/.steam/steam/steamapps/common/Blender/2.79/scripts/addons/BlenderPanda/blendergltf/blendergltf.py", line 785, in export_mesh
vert_list = {Vertex(mesh, loop): 0 for loop in mesh.loops}.keys()
File "~/.steam/steam/steamapps/common/Blender/2.79/scripts/addons/BlenderPanda/blendergltf/blendergltf.py", line 785, in <dictcomp>
vert_list = {Vertex(mesh, loop): 0 for loop in mesh.loops}.keys()
File "~/.steam/steam/steamapps/common/Blender/2.79/scripts/addons/BlenderPanda/blendergltf/blendergltf.py", line 109, in __init__
self.uvs = tuple(layer.data[loop_idx].uv[:] for layer in mesh.uv_layers)
File "~/.steam/steam/steamapps/common/Blender/2.79/scripts/addons/BlenderPanda/blendergltf/blendergltf.py", line 109, in <genexpr>
self.uvs = tuple(layer.data[loop_idx].uv[:] for layer in mesh.uv_layers)
IndexError: bpy_prop_collection[index]: index 0 out of range, size 0
location: ~/.steam/steam/steamapps/common/Blender/2.79/scripts/modules/bpy/ops.py:189
location: ~/.steam/steam/steamapps/common/Blender/2.79/scripts/modules/bpy/ops.py:189
Error: Traceback (most recent call last):
File "~/.steam/steam/steamapps/common/Blender/2.79/scripts/addons/BlenderPanda/operators.py", line 78, in execute
data = blendergltf.export_gltf(scene_delta, gltf_settings)
File "~/.steam/steam/steamapps/common/Blender/2.79/scripts/addons/BlenderPanda/blendergltf/blendergltf.py", line 1795, in export_gltf
] for exporter in exporters
File "~/.steam/steam/steamapps/common/Blender/2.79/scripts/addons/BlenderPanda/blendergltf/blendergltf.py", line 1795, in <dictcomp>
] for exporter in exporters
File "~/.steam/steam/steamapps/common/Blender/2.79/scripts/addons/BlenderPanda/blendergltf/blendergltf.py", line 1794, in <listcomp>
for data in state['input'].get(exporter.blender_key, [])
File "~/.steam/steam/steamapps/common/Blender/2.79/scripts/addons/BlenderPanda/blendergltf/blendergltf.py", line 785, in export_mesh
vert_list = {Vertex(mesh, loop): 0 for loop in mesh.loops}.keys(Traceback (most recent call last):
File "~/.steam/steam/steamapps/common/Blender/2.79/scripts/addons/BlenderPanda/pman/pman/../pman/pman_build.py", line 43, in <module>
main()
File "~/.steam/steam/steamapps/common/Blender/2.79/scripts/addons/BlenderPanda/pman/pman/../pman/pman_build.py", line 39, in main
bpy.ops.panda_engine.export_bam(filepath=dst, copy_images=False, skip_up_to_date=True)
File "~/.steam/steam/steamapps/common/Blender/2.79/scripts/modules/bpy/ops.py", line 189, in __call__
ret = op_call(self.idname_py(), None, kw)
RuntimeError: Error: Traceback (most recent call last):
File "~/.steam/steam/steamapps/common/Blender/2.79/scripts/addons/BlenderPanda/operators.py", line 78, in execute
data = blendergltf.export_gltf(scene_delta, gltf_settings)
File "~/.steam/steam/steamapps/common/Blender/2.79/scripts/addons/BlenderPanda/blendergltf/blendergltf.py", line 1795, in export_gltf
] for exporter in exporters
File "~/.steam/steam/steamapps/common/Blender/2.79/scripts/addons/BlenderPanda/blendergltf/blendergltf.py", line 1795, in <dictcomp>
] for exporter in exporters
File "~/.steam/steam/steamapps/common/Blender/2.79/scripts/addons/BlenderPanda/blendergltf/blendergltf.py", line 1794, in <listcomp>
for data in state['input'].get(exporter.blender_key, [])
File "~/.steam/steam/steamapps/common/Blender/2.79/scripts/addons/BlenderPanda/blendergltf/blendergltf.py", line 785, in export_mesh
vert_list = {Vertex(mesh, loop): 0 for loop in mesh.loops}.keys()
File "~/.steam/steam/steamapps/common/Blender/2.79/scripts/addons/BlenderPanda/blendergltf/blendergltf.py", line 785, in <dictcomp>
vert_list = {Vertex(mesh, loop): 0 for loop in mesh.loops}.keys()
File "~/.steam/steam/steamapps/common/Blender/2.79/scripts/addons/BlenderPanda/blendergltf/blendergltf.py", line 109, in __init__
self.uvs = tuple(layer.data[loop_idx].uv[:] for layer in mesh.uv_layers)
File "~/.steam/steam/steamapps/common/Blender/2.79/scripts/addons/BlenderPanda/blendergltf/blendergltf.py", line 109, in <genexpr>
self.uvs = tuple(layer.data[loop_idx].uv[:] for layer in mesh.uv_layers)
IndexError: bpy_prop_collection[index]: index 0 out of range, size 0
location: ~/.steam/steam/steamapps/common/Blender/2.79/scripts/modules/bpy/ops.py:189
... truncated
Blender quit
Build took 0.6751s
The error leads me to believe it has something to do with the way this plug-in sets up UVs?
Without a pman project to use to store the last known Blender binary location, blend2bam will fallback to looking for blender
on the PATH. BlenderPanda should add the directory for the blender
binary to the beginning of the PATH for blend2bam to find in this case.
Loading a project in Blender once should set this conf variable and allow accessing Blender without use of the PATH env variable. See 4b05236
Whenever I leave Rendered Viewport mode right after entering it (while it is still black), Blender consistently gives a segmentation fault. This is especially noticeable on bigger scenes (I can provide if requested) where the viewport stays black for longer.
Connected to external process
Writing: /tmp/world.crash.txt
Received zero-length msg header, aborting
Server thread has terminated, closing program
Segmentation fault (core dumped)
The gdb traceback varies from time to time, sometimes the crash occurs on the main thread and sometimes on another.
#0 0x000000080cac6c7c in pthread_cleanup_pop () from /lib/libthr.so.3
#1 0x000000080cac4a1c in _pthread_cond_wait () from /lib/libthr.so.3
#2 0x0000000803d1e136 in PyEval_InitThreads () from /usr/local/lib/libpython3.5m.so.1.0
#3 0x0000000803d1e6b9 in PyEval_RestoreThread () from /usr/local/lib/libpython3.5m.so.1.0
#4 0x0000000803d4b9dc in PyGILState_Ensure () from /usr/local/lib/libpython3.5m.so.1.0
#5 0x0000000000e01302 in BPY_DECREF_RNA_INVALIDATE ()
#6 0x0000000000d8c827 in RE_engine_free ()
#7 0x0000000000adf1fd in ED_view3d_shade_update ()
#8 0x000000000124ddc9 in RNA_property_update ()
#9 0x0000000000bfd4ad in ui_but_clipboard_free ()
#10 0x0000000000bfa3e7 in ui_but_clipboard_free ()
#11 0x0000000000a11dd1 in WM_event_is_tablet ()
#12 0x0000000000a0eddc in wm_event_do_handlers ()
#13 0x0000000000a0e4a2 in wm_event_do_handlers ()
#14 0x0000000000a07510 in WM_main ()
#15 0x0000000000a0393b in main ()
#0 0x0000000803cb1ebb in PyObject_RichCompare () from /usr/local/lib/libpython3.5m.so.1.0
#1 0x0000000803d22650 in PyEval_EvalFrameEx () from /usr/local/lib/libpython3.5m.so.1.0
#2 0x0000000803d28099 in PyEval_CallObjectWithKeywords () from /usr/local/lib/libpython3.5m.so.1.0
#3 0x0000000803d1ea44 in PyEval_EvalCodeEx () from /usr/local/lib/libpython3.5m.so.1.0
#4 0x0000000803c91cee in PyFunction_SetAnnotations () from /usr/local/lib/libpython3.5m.so.1.0
#5 0x0000000803c6bcd6 in PyObject_Call () from /usr/local/lib/libpython3.5m.so.1.0
#6 0x0000000803c7e1fb in PyMethod_New () from /usr/local/lib/libpython3.5m.so.1.0
#7 0x0000000803c6bcd6 in PyObject_Call () from /usr/local/lib/libpython3.5m.so.1.0
#8 0x0000000803cc8978 in _PyType_LookupId () from /usr/local/lib/libpython3.5m.so.1.0
#9 0x0000000803cc8056 in _PyType_LookupId () from /usr/local/lib/libpython3.5m.so.1.0
#10 0x0000000803d24509 in PyEval_EvalFrameEx () from /usr/local/lib/libpython3.5m.so.1.0
#11 0x0000000803d28099 in PyEval_CallObjectWithKeywords () from /usr/local/lib/libpython3.5m.so.1.0
#12 0x0000000803d2896a in _PyEval_SliceIndexNotNone () from /usr/local/lib/libpython3.5m.so.1.0
#13 0x0000000803d20bfb in PyEval_EvalFrameEx () from /usr/local/lib/libpython3.5m.so.1.0
#14 0x0000000803d28099 in PyEval_CallObjectWithKeywords () from /usr/local/lib/libpython3.5m.so.1.0
#15 0x0000000803d2896a in _PyEval_SliceIndexNotNone () from /usr/local/lib/libpython3.5m.so.1.0
#16 0x0000000803d20bfb in PyEval_EvalFrameEx () from /usr/local/lib/libpython3.5m.so.1.0
#17 0x0000000803d28099 in PyEval_CallObjectWithKeywords () from /usr/local/lib/libpython3.5m.so.1.0
#18 0x0000000803d2896a in _PyEval_SliceIndexNotNone () from /usr/local/lib/libpython3.5m.so.1.0
#19 0x0000000803d20bfb in PyEval_EvalFrameEx () from /usr/local/lib/libpython3.5m.so.1.0
#20 0x0000000803d28099 in PyEval_CallObjectWithKeywords () from /usr/local/lib/libpython3.5m.so.1.0
#21 0x0000000803d2896a in _PyEval_SliceIndexNotNone () from /usr/local/lib/libpython3.5m.so.1.0
#22 0x0000000803d20bfb in PyEval_EvalFrameEx () from /usr/local/lib/libpython3.5m.so.1.0
#23 0x0000000803d289e3 in _PyEval_SliceIndexNotNone () from /usr/local/lib/libpython3.5m.so.1.0
#24 0x0000000803d20bfb in PyEval_EvalFrameEx () from /usr/local/lib/libpython3.5m.so.1.0
#25 0x0000000803d289e3 in _PyEval_SliceIndexNotNone () from /usr/local/lib/libpython3.5m.so.1.0
#26 0x0000000803d20bfb in PyEval_EvalFrameEx () from /usr/local/lib/libpython3.5m.so.1.0
#27 0x0000000803d289e3 in _PyEval_SliceIndexNotNone () from /usr/local/lib/libpython3.5m.so.1.0
#28 0x0000000803d20bfb in PyEval_EvalFrameEx () from /usr/local/lib/libpython3.5m.so.1.0
#29 0x0000000803d28099 in PyEval_CallObjectWithKeywords () from /usr/local/lib/libpython3.5m.so.1.0
#30 0x0000000803d1ea44 in PyEval_EvalCodeEx () from /usr/local/lib/libpython3.5m.so.1.0
#31 0x0000000803c91cee in PyFunction_SetAnnotations () from /usr/local/lib/libpython3.5m.so.1.0
#32 0x0000000803c6bcd6 in PyObject_Call () from /usr/local/lib/libpython3.5m.so.1.0
#33 0x0000000803c7e1fb in PyMethod_New () from /usr/local/lib/libpython3.5m.so.1.0
#34 0x0000000803c6bcd6 in PyObject_Call () from /usr/local/lib/libpython3.5m.so.1.0
#35 0x0000000803d2784f in PyEval_CallObjectWithKeywords () from /usr/local/lib/libpython3.5m.so.1.0
#36 0x0000000803d68046 in PyInit__thread () from /usr/local/lib/libpython3.5m.so.1.0
#37 0x000000080cab8bc5 in pthread_create () from /lib/libthr.so.3
The rendered viewport works fine, but if I switch out of it, I get the following traceback:
Connected to external process
Warning: mesh meshes_wall has a primitive with no material, using an empty RenderState
Received zero-length msg header, aborting
Exception in thread Thread-2:
Traceback (most recent call last):
File "/usr/local/lib/python3.5/threading.py", line 914, in _bootstrap_inner
self.run()
File "/home/rdb/.config/blender/2.79/scripts/addons/BlenderPanda/brte/brte/processor_thread.py", line 43, in run
self.processor.destroy()
File "/home/rdb/.config/blender/2.79/scripts/addons/BlenderPanda/brte/brte/processors/external_processor.py", line 34, in destroy
self.listen_socket.shutdown(socket.SHUT_RDWR)
OSError: [Errno 57] Socket is not connected
Server thread has terminated, closing program
If I then continue to go back into the Rendered Viewport, it stays black and instead spews this onto the terminal:
Exception ignored in: <bound method RealTimeEngine.__del__ of <bpy_struct, PandaEngine invalid>>
Traceback (most recent call last):
File "/home/rdb/.config/blender/2.79/scripts/addons/BlenderPanda/brte/brte/engine.py", line 148, in __del__
G.cleanup_threads()
File "/home/rdb/.config/blender/2.79/scripts/addons/BlenderPanda/brte/brte/engine.py", line 63, in cleanup_threads
G.thread_converter.join()
File "/usr/local/lib/python3.5/threading.py", line 1051, in join
raise RuntimeError("cannot join current thread")
RuntimeError: cannot join current thread
Connected to external process
Received zero-length msg header, aborting
Server thread has terminated, closing program
Exception in thread Thread-4:
Traceback (most recent call last):
File "/usr/local/lib/python3.5/threading.py", line 914, in _bootstrap_inner
self.run()
File "/home/rdb/.config/blender/2.79/scripts/addons/BlenderPanda/brte/brte/processor_thread.py", line 43, in run
self.processor.destroy()
File "/home/rdb/.config/blender/2.79/scripts/addons/BlenderPanda/brte/brte/processors/external_processor.py", line 34, in destroy
self.listen_socket.shutdown(socket.SHUT_RDWR)
OSError: [Errno 57] Socket is not connected
3D View's texture paint mode does not work when Panda 3D is set as renderer; The texture is considered missing, even when it is present. This occurs when creating a Diffuse texture in Panda 3D renderer mode, or when switching to it (in which case the texture "disappears" from the model). The texture itself exists / is created, and can be seen in the UV Image editor. When switching back to Blender Renderer, the texture appears again on the model automatically.
Currently when restarting Blender and recovering the last session, BlenderPanda will not switch automatically to a project, even if one was open at the end of the last Blender session.
At the moment, the default rendermanger requires the "textures-power-2" PRC variable to be set to "none" to avoid viewport issues. This should either be set in the default main.py, or handled somehow in the default rendermanger.py. At the very least, this should be documented since it is very confusing to new users.
OSX El Capitan
Blender 2.78
Starting build
Read assets from: /Users/leotreasure/Panda3dprojects/assets/
Export them to: /Users/leotreasure/Panda3dprojects/game/assets/
Ignoring file patterns: ['*.blend1', '*.blend2']
Build took 0.0003s
Running main file: /Users/leotreasure/Panda3dprojects/game/main.py
Traceback (most recent call last):
File "/Users/leotreasure/Library/Application Support/Blender/2.78/scripts/addons/BlenderPanda/operators.py", line 199, in execute
pman.run(config)
File "/Users/leotreasure/Library/Application Support/Blender/2.78/scripts/addons/BlenderPanda/pman.py", line 292, in run
args = [get_python_program(config), mainfile]
File "/Users/leotreasure/Library/Application Support/Blender/2.78/scripts/addons/BlenderPanda/pman.py", line 108, in get_python_program
retcode = subprocess.call(args, stderr=fp)
File "/Applications/Blender2.78.app/Contents/Resources/2.78/python/lib/python3.5/subprocess.py", line 560, in call
with Popen(*popenargs, **kwargs) as p:
File "/Applications/Blender2.78.app/Contents/Resources/2.78/python/lib/python3.5/subprocess.py", line 950, in __init__
restore_signals, start_new_session)
File "/Applications/Blender2.78.app/Contents/Resources/2.78/python/lib/python3.5/subprocess.py", line 1540, in _execute_child
raise child_exception_type(errno_num, err_msg)
FileNotFoundError: [Errno 2] No such file or directory: 'python2'
location: <unknown location>:-1
I tried adding to my bash_profile file:
alias python2='python2.7'
but no luck. I can run Panda3d samples using both python and ppython at the terminal.
I also have a panda3d.pth file in /Library/Python/2.7/site-packages with:
/Developer/Panda3D
/Developer/Panda3D/bin
Physics properties are currently missing when using the Panda 3D render engine. As a work-around, the Blender Render render engine's physics properties can be used. However, only rigid body options work.
2016-10-26 13:15:29.717 Python[60743:32261869] Error loading /Library/Audio/Plug-Ins/HAL/JackRouter.plugin/Contents/MacOS/JackRouter: dlopen(/Library/Audio/Plug-Ins/HAL/JackRouter.plugin/Contents/MacOS/JackRouter, 262): Library not loaded: /System/Library/Frameworks/Jackmp.framework/Versions/A/Jackmp
Referenced from: /Library/Audio/Plug-Ins/HAL/JackRouter.plugin/Contents/MacOS/JackRouter
Reason: image not found
2016-10-26 13:15:29.717 Python[60743:32261869] Cannot find function pointer New_JackRouterPlugIn for factory 7CB18864-927D-48B5-904C-CCFBCFBC7ADD in CFBundle/CFPlugIn 0x7f981c98dc70 </Library/Audio/Plug-Ins/HAL/JackRouter.plugin> (bundle, not loaded)
Unable to open window
Unable to connect to external process
Unable to connect to external process
Exception in thread Thread-7:
Traceback (most recent call last):
File "/Applications/Blender2.78.app/Contents/Resources/2.78/python/lib/python3.5/threading.py", line 923, in _bootstrap_inner
self.run()
File "/Users/leotreasure/Library/Application Support/Blender/2.78/scripts/addons/BlenderPanda/brte/brte/processor_thread.py", line 43, in run
self.processor.destroy()
File "/Users/leotreasure/Library/Application Support/Blender/2.78/scripts/addons/BlenderPanda/brte/brte/processors/external_processor.py", line 34, in destroy
self.listen_socket.shutdown(socket.SHUT_RDWR)
OSError: [Errno 57] Socket is not connected
Some of these errors always show whenever I open Blender like the JackRouter, I'm not sure how to fix them or whether they are affecting this issue.
blend files must be put in the asset directory to be converted.
This addon needs to be updated to support Blender 2.80 while still maintaining 2.79 support. This page has a migration guide with tips on support both 2.79 and 2.80.
I have managed to install and enable the addon thanks to the fixes in 0.4.1. However when I create a new project using the "Create New Project" button or open one using "Switch Project" button, I get the following error on the system console (window -> enable system console):
Updating project in C:\Users\avise\Desktop\Games\blender_panda_project\
Creating directories...
Skipping existing directory: C:\Users\avise\Desktop\Games\blender_panda_project\assets/
Skipping existing directory: C:\Users\avise\Desktop\Games\blender_panda_project\game
Skipping existing directory: C:\Users\avise\Desktop\Games\blender_panda_project\tests
Creating C:\Users\avise\Desktop\Games\blender_panda_project\game/main.py
C:\Users\avise\Desktop\Games\blender_panda_project\game/main.py already exists, skipping
Creating C:\Users\avise\Desktop\Games\blender_panda_project\requirements.txt
C:\Users\avise\Desktop\Games\blender_panda_project\requirements.txt already exists, skipping
Creating C:\Users\avise\Desktop\Games\blender_panda_project\setup.py
C:\Users\avise\Desktop\Games\blender_panda_project\setup.py already exists, skipping
Creating C:\Users\avise\Desktop\Games\blender_panda_project\setup.cfg
C:\Users\avise\Desktop\Games\blender_panda_project\setup.cfg already exists, skipping
Creating C:\Users\avise\Desktop\Games\blender_panda_project\.pylintrc
C:\Users\avise\Desktop\Games\blender_panda_project\.pylintrc already exists, skipping
Creating C:\Users\avise\Desktop\Games\blender_panda_project\tests/test_imports.py
C:\Users\avise\Desktop\Games\blender_panda_project\tests/test_imports.py already exists, skipping
Traceback (most recent call last):
File "C:\Users\avise\AppData\Roaming\Blender Foundation\Blender\2.79\scripts\addons\BlenderPanda\properties.py", line 26, in f
value = pman.get_abs_path(project_conf, config[section][field])
KeyError: 'render_plugin'
File "C:\Users\avise\AppData\Roaming\Blender Foundation\Blender\2.79\scripts\addons\BlenderPanda\properties.py", line 13, in f
Traceback (most recent call last):
File "C:\Users\avise\AppData\Roaming\Blender Foundation\Blender\2.79\scripts\addons\BlenderPanda\properties.py", line 26, in f
value = pman.get_abs_path(project_conf, config[section][field])
KeyError: 'render_plugin'
File "C:\Users\avise\AppData\Roaming\Blender Foundation\Blender\2.79\scripts\addons\BlenderPanda\properties.py", line 13, in f
Traceback (most recent call last):
File "C:\Users\avise\AppData\Roaming\Blender Foundation\Blender\2.79\scripts\addons\BlenderPanda\properties.py", line 26, in f
value = pman.get_abs_path(project_conf, config[section][field])
KeyError: 'render_plugin'
File "C:\Users\avise\AppData\Roaming\Blender Foundation\Blender\2.79\scripts\addons\BlenderPanda\properties.py", line 13, in f
Traceback (most recent call last):
File "C:\Users\avise\AppData\Roaming\Blender Foundation\Blender\2.79\scripts\addons\BlenderPanda\properties.py", line 26, in f
value = pman.get_abs_path(project_conf, config[section][field])
KeyError: 'render_plugin'
File "C:\Users\avise\AppData\Roaming\Blender Foundation\Blender\2.79\scripts\addons\BlenderPanda\properties.py", line 13, in f
Blender does not crash, but if I leave the "Panda 3D" option for the render engine and change the viewport display method to "rendered" then the following error is thrown (perhaps due to the traceback regarding the render_plugin
), and I observe only a blank screen with the grey-and-black chequered pattern that blender uses for transparency and a render that is being prepared.
Traceback (most recent call last):
File "C:\Users\avise\AppData\Roaming\Blender Foundation\Blender\2.79\scripts\addons\BlenderPanda\panda_engine.py", line 143, in __init__
ExternalConnection.get_ptr()
File "C:\Users\avise\AppData\Roaming\Blender Foundation\Blender\2.79\scripts\addons\BlenderPanda\panda_engine.py", line 121, in get_ptr
cls.ptr = ExternalConnection()
File "C:\Users\avise\AppData\Roaming\Blender Foundation\Blender\2.79\scripts\addons\BlenderPanda\panda_engine.py", line 34, in __init__
if user_config is not None and use_venv and user_config['python']['in_venv']:
NameError: name 'use_venv' is not defined
location: <unknown location>:-1
Like the other error, this error is also thrown more than once. It seems like the BlenderPanda viewport rendering system has been changed in some way - both from the release notes and from the fact that this works for me using the 0.3.0 release.
Describe loading a model.
First of all, really cool project!
It would be cool if this could integrate or at least ensure compatibility with the Level Buddy Blender addon, see:
https://matt-lucas.itch.io/level-buddy
or for a modified version:
https://github.com/jpcy/bfg_forge
If Bullet is missing, conversion will fail with an ImporError. We should check for Bullet and skip physics objects (with a warning) instead of having the whole exporter bomb.
Loading a BAM file does not automatically add BulletBodyNodes to a BulletWorld. This step needs to be done manually after loading a BAM file. The docs should describe how to do this.
When running an application, it would be nice to view errors without running Blender from a terminal.
Possible fix would be to have working group offset-from-origin.
bpex000.zip
Export map.blend
These can be used instead of git and are found here
Using git is still the preferred method to get quick updates.
Okay a lot of people gave up on BGE...will the stars aligned for me. I've test this plugin and its awesome for what it can do [Render Shapes] and hope-fill'g for what it can't [Render Materials & Respond to logic brick Controls]...
I haven't tested a BGE to PAN in CUB3D yet, but I assume it will render. [UPDATE1: Next Comment]
PLEASE CONTINUE, I wish I could collab with you and a couple other people to better develop BGE's Logic Editor, Bugs & other ideas [Like Boolean.mod in BGE, Hook Sys, Simple Text Document Database for Stats/Properties, Scale, etc].
I myself write many concepts of games [Include'g pro-BGE IPs], ideas and am currently building my workflow, but have been held back by harassment/hackers [crashed my SD card with new ideas, but I can remember them] and haven't gotten to prove who I am. I also watch Game Culture [Microtransactions, Successes & Failures]
My First game is a dress-up based -I lost the heavy planning due to a sdcard crash- Sonic Charrie Maker by chriserony, but it will be a compact and heavy upgrade [Many Options & Items].
https://www.games68.com/games.php?id=232434
If your wondering why a dressup is due to my love of customization & Fornite's success of have cosmetic items.
I sticking more to Logic Bricks and have recently found a technique to object selecting from a list of items.
Other than that my focus isn't on Graphics -Cub3D uses OpenGLES2- but on 3 things people love about games; Content, Substance [Animation/ShortStory/Stylization vs Graphics] and Gameplay [Controls/Replay].
The only problem is finding the Developers of Cub3D (App was strangly missing from Google Play).
[email protected],
I have a problem with legal porn -all sin is sin no matter how legal/harmless it is- and I also know that God is the only one who can protect me so if anything seems off or fails its cause of my backsliding getting in the way of paying attention to my foes.
My hope is to develop Blender Game Engine into Blender GEL [Game Edit Logic] and maybe turn Cub3D into the "Valve's Steam" for Android
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.