Blender 2.5 to Panda not possible yet?

I can’t seem to find a clear cut answer on how to effectively bring over maps, models, and animations I create in Blender to Panda. The manual lists exporters that only work for 2.49, and Panda’s X importer apparently contains numerous bugs that make it nearly unusable. Have these bugs possibly been fixed in the snapshot builds?

I’d really like to just use blender for everything as well as a level editor, but it doesn’t look like that’s possible to do with the new version yet. I did see something about a collada importer for Panda. Would that be a viable option?

You can export to COLLADA, and then use dae2egg (the latest CVS snapshot has several bugs fixed) to convert. However, this pipeline is not as stable as the Blender 2.4x pipeline.

‘Not as stable’ is something of an understatement… :wink:

Collada will be the solution, eventually, but right now lots of important features are missing, including animation and normal maps. You can do static textured geometry, but that is about it (Though use a svn/graphical build of Blender and a cvs/snapshot build of Panda - has issues otherwise.). Level editing would be possible, though limited as there is no ability to transfer arbitrary properties or handle instances etc.

If you want to stick to Blender 2.5x you can open Blender 2.5x files under 2.49b (It sometimes complains, though appending can work around that.), and then just do the export in there. Blender files have always been backwards compatible, though things do get lost when doing this. For basic skeletal animation and meshes you will probably be ok, though I have not tested it. This is a rather manual process however - bit tedious and can’t be automated as far as I know.

Thanks for the speedy responses guys.

Even if it’s slightly roundabout, it’s good to see there is some form of pipeline in place for 2.5
I’ll give the collada converter in the latest build a shot with static meshes and just use 2.49 as a medium between 2.5 and panda for the other stuff.

I’m glad to see that you’ll be switching over to Collada in the near future; using a more universal format seems much more pragmatic.

About the level editing, wouldn’t it be possible to just use simple python scripts to bring over the properties and such.

With regards to properties, certainly, and writing scripts for 2.5x is a lot nicer than for 2.49, but it of course involves the effort of writing such a script and then loading that data and munging it into the loaded Collada file - it will be much nicer when that support is built in! One warning - there is some potential name mangling right now - I am hoping that will be fixed at some point (i.e. objects will not have the same name in Panda as they do in Blender.).

[minimalistic exporter for blender 2.5), it’s in the Scripting forum so you may overlooked.

I can’t stress how much we need something transitional , Blender 2.5 has changed so much in usability that going back to 2.4x is almost painful.

Hi,

Blender 2.5 is so much easier to use than the old version… but i’m really stuck to use 2.4 because i can’t find how to export from 2.5 to panda3d with textures, animation etc. i see this post is a little bit old, so maybe by now someone has a new script, smtg like the chicken exporter?

Just posted almost exactly what I’m about to post here on another thread. You can have both 2.5x and 2.49b installed at the same time. Others are right in usability of 2.49 after seeing and getting used to the amazing improvements in 2.5.

I do all my modeling and texturing in 2.5 then save it and open it in 2.49b to prepare to export to .egg.

There is not much to say, but just to be clear nothing really has changed. The Collada exporter from Blender 2.5 is now working really well - it has had a lot of sustained development and supports everything I think we need at this point. The problem is the (Temporary, until panda gets direct Collada support.) Collada to egg program has not changed. If someone where willing to fix up the current one, or write another one (I would do it this way - Python is better for this kind of tedious data manipulation work.) the problems would go away - it would probably take me about a weekend to do it properly - problem is I don’t have any spare weekends! (And right now, no internet - been cut off for 6 weeks and 2 days now, compliments of Virgin media failing to repair a broken cable. Grrrr - currently at work and should not strictly be posting in forums, though been working later and longer anyway as internet makes work seem somewhat better than home!)

I am afraid Chicken is basically not going to suffer any further updates - I see it as walking dead, and don’t have the time anyway. If someone else wants repository access to continue development I can give it to them, though Chicken is a mess, and an extremely hard project to work with - experienced coders only please! (And you better know how to do regression testing - it takes some skill/luck to make a change without breaking something else…)

The advice people are giving - work in 2.5, open in 2.49b and export from there, is probably optimal right now, despite its issues.

If there are any problems with dae2egg, they should be posted in the bug tracker.

dae2egg works fine - its the missing features that are the issue. Unless its changed since I last checked (And due to my lack of internet I have not been keeping a very close eye at all on things:-( ) it has neither animation nor normal map support, those being the two that are most critical for me. At least, that is what I remember - last time I checked this all out, before Christmas, there were still a bunch of show stoppers in Blender, so I could be confusing things.

I found that the best way to have both worlds is to have a separate 2.49b file to use as your exporter, where in it you can link scenes from 2.5 files. This way, any changes you make to the 2.5 file will automatically be updated in the 2.49 file (most things work because Blender does a good job with backward-capatability).

The only caveat to this is that in order to see the changes in the 2.49b file (say, if you were working on your level in 2.5 with your 2.49 file open simultaneously), you have to reload your 2.49 file. This means doing Ctrl-X, Ctrl-O and then clicking your exporter file.

Using this method, I was able to make a change and have it exported to my EGG file in around 7 seconds.

I use Chicken, simply because it is as native as you can get to Panda3d.

I’m interested in getting something going for the 2.5 beta. I’m new to panda (and blender) but just getting things rolling on bitbucket or github would be great.

Looking at the blender support for 2.4x, looks like there were some missing features – again, I’m not sure since I’m new here, I’m just going by what I’ve read. I reckon throwing some bodies at this could make all the difference.

Is there strong interest in this, or is it just me?

Panda is going to depreciate egg and move to Collada - I would of converted Chicken myself otherwise, but I don’t see much point in doing that conversion given that the software would have such a short shelf life. It does leave a rather annoying ‘gap’ whilst we wait for Panda to get proper Collada support (Blender already exports Collada files, albeit not perfectly, but that should soon change.), so if you want to do something feel free - just be aware that in a few months it will, if everything goes to plan, all be moot anyway.

Will we have the same possibilities with Collada as we currently have with Egg? That is, will it be possible to modify attributes (e.g. materials, lights) in Panda and save them in Collada? Will it be as easy as with Egg? Or maybe there will only be loading?

Another thing that I worry about is the initial stability of the collada pipeline (and it’s documentation). It’s a new and big thing and it’s stability lies as much on the Panda side, as on the Blender side, which in turn is still a work in progress…

Ultimately there should be more features - Collada is a much more complete format than egg - for instance it supports lights, cameras, shaders and a whole lot more besides. I can’t say anything about saving Collada stuff - whilst I have been keeping an eye on things in case there is anything I can contribute with my limited time I am mostly on the outside with regards to this. I can tell you that the bam files are not going anywhere though, so that part of the pipeline will be remaining intact, and egg files might be depreciated but Panda will continue to load them.

With regards to stability the plan is, last I heard, to use Open Collada for the actual loading, and then have code that basically converts to the same internal representations that the engine currently uses - initial stability should not be too bad, and whilst there will certainly be bugs this community is usually pretty quick at fixing them once there is some code to run. The Blender side of things is basically already stable. Also, Collada is documented elsewhere, so I don’t see documentation being an issue at all - you will load a Collada file exactly the same way as you load an egg file.

Biggest issue I see is getting Blender and Panda to work together with all the subtle stuff - I know empties already work, but Blender does not export tags or tangents/bi-normals right now (I submitted bug reports, but they got triaged - once 2.57 is released in the next few weeks (i.e. the first stable 2.5x release.) they should be opening up to new features again, so these things should be fixable soon enough.), and I have no idea with regards to instancing. Basically standard meshes and characters should be working from Panda 1.8, but getting Blender usable as a level editor again might take some more work.

For the record, I’ve turned away from OpenCollada. It’s too big, buggy and not documented whatsoever.

I had noticed it has no documentation, but the Blender people managed to get it working, though I have to admit compiling your own Blender build with Collada support under Ubuntu took some head scratching (Before they put up instructions of how to do it!), and breaks with disturbing regularity.

So, what is going to be used? A straight xml reader or one of the other collada readers?

Yeah, I’ve found that the Blender exporter is by far the best piece of documentation on OpenCollada. :stuck_out_tongue:

We went for a straight XML reader first, until we found out that we’d need to pay a crapload of money to Khronos before we can make our own COLLADA implementation. So it’s probably going to be the COLLADA DOM, the official, automatically generated low-level API.

I’m wondering… is it possible to access the GLSL materials from Blender API? That would be pretty awesome.