Yep. Another scene editor...

Thanks for this scene editor! Although I wasn’t able to start it yet, I took a look in the code - and I like the style, the way it is structered and the whole idea of having a small, stable base and everything else in plugins. Keep to this concept, it’s great! :smiley:

I opend an issue on github, thought that would be cleaner than post the traceback here…
https://github.com/Derfies/panda3d-editor/issues/1

It seems that it isn’t that simple to make it run on linux as it should be. I would be glad to help with this topic, but alas I have no experience with GUI programming at all. But I can test it and report any bugs I will run into. Or tell me, if there is anything I could inspect and analyse.

If I may ask for a favor: although the code it easy to read, it would be great to have more docstrings on classlevel, that tells me whats the purpose of this class is, and some in init.py. This way it would be very easy to understand the big picture.

And finally after uninstalling all traces of panda, python and wx, and installing the panda 1.8 and wx 2.8…

It runs… :laughing: Thanks for the patience and the replies.

That’s great news! Sounds like there were some conflicting versions / installations going on there, but I’m glad you’re able to test it out finally. :slight_smile:

Thanks Nomad, glad to hear you like what I’m working on. Thanks also for starting an issue DB - let’s keep adding to it in the future. I can’t test on Linux myself at the moment but I know there are some issues there. I will try to get a virtual box up and running so I can test it myself, but don’t be shy sending back issues or PMing me about stuff that seems dodgy.

Yes, I know I’ve been a bit slack with doc strings lately. I’ll try to make things a bit more verbose in places. :slight_smile:

I have yet to give this a try, but if there are features from this that you want integrated then let me know (providing their project is open source BSD license too).

Just commited a few more changes including a hello world example based off the one in the manual. Test is out and let me know what you think. :slight_smile:

sourceforge.net/projects/etc-sto … =directory
wiki.etc.cmu.edu/pandale/index.php/Main_Page

I’ll ask how useable the code is. It was supposed to be included in Panda.
The conversation mode and journal features appeal, but I’m wondering if I can develop something to write out in a different python wrapper, whilst using the features available in Panda for the gui and editor.
Are there any good resources for developing an engine, or is it all based on technical knowledge?

The hello world example is charming. It might be helpful to add the ‘alt plus mouse’ scroll commands in the instructions for manuovering. Are there any plans for adding textures to primitives? or be able to add a background image.

And a delete button… :smiley: It excellent work.

Works rather well imo.

Uploaded with ImageShack.us

Hey all,

Sorry for the lack of updates recently. Been back at work to try and iron out some of the problems, adding some new features and generally improving the architecture. Some stuff which has changed recently:

  • Translation gizmo now has snapping (hold X)
  • Optimised scene file format
  • Hotswapping of textures and models
  • Improved grid appearance
  • Helper meshes should now appear correctly (still getting a weird shader bug though…?)

If anyone can test out the latest that would be greatly appreciated. As always, if you have a suggestion then leave a post or PM me!

Hi kurohyou!

Glad to see you back :slight_smile: I didnt participate for about 2 monthes due to high restrictions on work :frowning:

So, just checked latest revision and posted an issue on github.
Also, small bug with pressing up/down arrow (I know it doesnt work this way, just pressed them accidentally ) in input fields gives:

Traceback (most recent call last):
  File "D:\0\panda3d-editor\src\wxExtra\propertyGrid.py", line 56, in OnChar
    char = chr( key )
ValueError: chr() arg not in range(256)

By the way - how about adding up/down support for changing values? Like UP do +1, DOWN do -1? And maybe 0.1 step for small range values like colors? Just an idea :slight_smile:

I dont know if sample projects must work, I got exception every time I try to open helloworld/panda obejct samples:

Traceback (most recent call last):
  File "D:\0\panda3d-editor\src\pandaEditor\ui\mainFrame.py", line 245, in OnFileOpen
    self.app.doc.Load()
  File "D:\0\panda3d-editor\src\pandaEditor\ui\document.py", line 22, in Load
    self.contents.Load( self.filePath )
  File "D:\0\panda3d-editor\src\pandaEditor\editor\scene.py", line 36, in Load
    base.game.scnParser.Load( self.rootNp, filePath )
  File "D:\0\panda3d-editor\src\pandaEditor\game\sceneParser.py", line 15, in Load
    self.LoadComponent( sRootElem, None )
  File "D:\0\panda3d-editor\src\pandaEditor\game\sceneParser.py", line 31, in LoadComponent
    wrprCls = base.game.nodeMgr.GetWrapperByName( elem.get( 'type' ) )
AttributeError: 'NoneType' object has no attribute 'get'

P.S. sorry, samples works, I forgot to do “Set project” first

Hi Crolli, great to see you’re back!

I’ve figured out what the problem is with primitives but it’s going to take me a while to get a fix in. Once I’ve cleared my schedule I can come back to this.

Also, I think I almost have a solution for embedded collision for your models without using polyset-keep-descend (and thus won’t break the scene format because of duplicate NodePath names). If this is more useful to you then please let me know and I’ll polish it up first.

That’s a relief, but I’ll put some checks in so the editor can tell the user what’s going on instead of raising an exception.

hey, just wanted to say keep up the good work.

Thanks redpanda :slight_smile:

I wish I could spend more time on this but unfortunately there’s other stuff that has priority at the moment. Hopefully at least a couple of users are finding it useful!

Sorry for the double post, but I was looking to get some feedback from the community on the editor so I can focus the development a bit more. I’m currently working on trying to integrate Coppertop’s new Bullet KCC and TobiasSpringer’s terrain, but I realise there are probably other, more basic features that still need implementing.

So if you would like to use the editor and can’t, or there is some basic functionality stopping it from being useful to you, please let me know. Perhaps if some of these issues are fixed the user base will grow.

Cheers!

I create a new project, and then I try to middle mouse drag a .bam file into the scene from the resource panel under models, but nothing happened.

Have a backman.bam file in the /tmp/test/models/.

by the way, I can’t import .bam file by menu.

I use Ubuntu 12.10 and Panda3D 1.9.0~cvs20130704~quantal49

Sorry to resurrect a very dead thread, but for anyone who may still be interested in this project I have decided to broom it and see if I can get it working again. The branch (still WIP) is here.

Already it’s working with python 3 and latest build of the panda libs, and most of the breaking issues are resolved. I can’t guarantee long-term support because I have different priorities for doing this over and above building an editor for the sake of it, but someone might get some use out of it.

3 Likes

Ended up doing a lot of work over the last three weeks. Fixed a lot of the poor code and architecture, polished up some of the base functionality, introduced Yapsy for a plugin framework and even started adding unit tests. I’ve killed some of the avant-garde features in order to concentrate on getting the base offering a little more polished.

Oh, and you can add particles to your scene now too :slight_smile:

6 Likes

Dear @derfies , could you please explain how to launch it? Maybe add requirements.txt?
I’m using Python 3.8.5 , but let me now if it should be another version.

Package    Version
---------- -------
numpy      1.22.2
panda3d    1.10.11
Pillow     9.0.1
pip        20.1.1
pyperclip  1.8.2
Pypubsub   4.0.3
setuptools 47.1.0
six        1.16.0
wxPython   4.1.1

I saw activity in the main’s branch, and tried both

For me it always fails with errors like:

src]$ python3 main.py 
Traceback (most recent call last):
  File "main.py", line 17, in <module>
    from pandaEditor.showbase import ShowBase
  File "/mnt/homefiles/shaggycat_tmp/pandaeditor/panda3d-editor/src/pandaEditor/showbase.py", line 20, in <module>
    from pandaEditor.ui.mainFrame import MainFrame
  File "/mnt/homefiles/shaggycat_tmp/pandaeditor/panda3d-editor/src/pandaEditor/ui/__init__.py", line 2, in <module>
    from .mainFrame import MainFrame
  File "/mnt/homefiles/shaggycat_tmp/pandaeditor/panda3d-editor/src/pandaEditor/ui/mainFrame.py", line 19, in <module>
    from pandaEditor.ui.sceneGraphPanel import SceneGraphPanel
  File "/mnt/homefiles/shaggycat_tmp/pandaeditor/panda3d-editor/src/pandaEditor/ui/sceneGraphPanel.py", line 5, in <module>
    from dragdroptarget import DragDropTarget
ModuleNotFoundError: No module named 'dragdroptarget'

Hey @sHaggYcaT , I’m thrilled you’re checking out the project. I haven’t really been working on it with the intention of users other than myself, so the master branch may be unstable. If you’re keen to forge ahead I can revisit some of the basics, ie replace pip with poetry, ensure read me is a little more up to date.

otherwise I think the quickest thing you can do is add pandaEditor to your sys.path (I use pycharm so I believe marking that as sources root is essentially the same thing).

thanks derfies :slight_smile:
You can also let me know hash of git’s commit to try to use (with python3 version?)

BTW, I saw you comment in the project’s issue, about requirements.toml and poetry. But there are no pyproject.toml in the repo too. Could you please share your file? Or at least tell me what to add in my(actually it’s an empty result of poetry init):

[tool.poetry]
name = "panda3d-editor"
version = "0.1.0"
description = ""
authors = ["*** <***@***.***>"]

[tool.poetry.dependencies]
python = "^3.8"

[tool.poetry.dev-dependencies]

[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"

?

hey @sHaggYcaT , I’m thrilled that you’re interested in the scene editor. At the risk of scaring people off from the project, I can’t say that I’m in a position to rigorously test and keep up development on the tool. I do, however, use it quite frequently for the other stuff I’m doing so I occasionally update it from time to time to fix bugs. If you’re going to use it I would suggest using master as I tore down a lot of the code 8 or so months ago (almost a complete rebuild). Did you find the poetry file here: panda3d-editor/pyproject.toml at master · Derfies/panda3d-editor · GitHub ?

Also if you feel like collaborating, let me know!

I just want to say thanks for such a project, and keep it up :smiley: