I am having some troubles indeed: the door doesn’t show in my world. I’m using an Actor to display it, I can see the walking panda from the tutorial, but not my door next to it.
I added an armature with two bones, one for each half-door.
I made the half-doors children of the bones with a constraint.
In pose mode, I created two keyframes for each bone: closed and open. When I play the animation in blender it looks nice.
I exported the half-doors and the armature with yabee. I have a “door.egg” with a couple of joints plus the door meshes, and a “door_open.egg” with tables containing the interpolated angles for the 20 frames of the animation.
My door doesn’t have a material yet, and usually it shows in pure white. But when I load it as an Actor, it doesn’t show at all.
Yes! We’re getting somewhere. It’s better, but it’s still wrong.
Good news: pview does show me my two half doors opening, woo!
Bad news: when I press the pause button, then only one of the two doors stops and the other keep opening forever. Furthermore, the title written above the controls reads “door_left”. It makes sense because the play/pause buttons control the left door, but what about the disobedient right one?
Bad news 2: In game, the behavior is different. I see the right door only. It is properly animated though, like the panda I threw there for comparison.
The egg file shows two groups, one per door. Each door has joints for the two bones, but only one of these has vertices. The file looks quite good actually: it’s very symmetrical so I’m surprised not to see both doors working the same way.
Is it behaving weirdly because I use two different meshes? Is it a case of multi-part actor?
I did select everything. I suspect this was because I had several objects while Panda expects only one.
I don’t know how to make several meshes inside a single object. However, I got things to work by Joining my two doors. I have only one mesh, but by affecting each half-mesh to its own vertex group, the export almost worked. I still had to hack into the egg to delete joints that were present twice, but it works now.
I’ll look into having two meshes into one object, because the way I’m doing it isn’t super handy.
For the record, I managed. Just quoting myself to make it more visible to the future visitors:
I don’t know why Yabee exported four joints. Maybe because there are two vertex-groups, and two joints, therefore 2x2=4? I had two identical “door_left” joints and two identical “door_right” joints, so I just removed the duplicates with a text editor.
When I joined my two doors into one single mesh, I first did it with the doors in closed position. That created problems: Panda realized that some vertices were at the same place, and it simplified the geometry, fusing the two half-doors together. Because of that, opening the doors resulted in a rubbery surface stretching from one door to the other as they opened. Yuk.
To solve that problem, I made the rest (default) position of the door opened: panda can not simplify that geometry since there is no overlap between the two doors.