I'm a funny guy. Sometimes, I can beat my head against the wall for hours and
not see a solution to a particular problem. Sometimes I get the answer right
away. Sometimes, once I turn off my computer, the answer comes to me (I
particularly hate this one). Well, it happened to me tonight. At work, I beat my
head against my computer for a couple of hours trying to figure out why our
animations weren't working. The code looked right as far as I could tell. The
MAX demo and Tuesday basketball didn't help. After dinner I thought I had the
solution, but I was proved wrong once again. As soon as I had given up for the
night, it came to me. BOOOM! When we update animations, we have to update with
the total time the animation is running. Not just the time difference between
update calls. DOH! Our animations were working right, they were just keying
between frame 0 and frame 1 at a pretty much a constant time (ie. 8% between 0
and 1). This could explain why I thought I saw stuff move, but it was ever so
slight. I thought I was just willing it to move or my eyes were playing
tricks on me while I was in my "beat head against wall" phase. Now our
animations are working properly and they're actually pretty cool. Check it out.
Notice how the lighting it still dynamic. We're still using the effect
rendering. Oh yeah, there may be a codec issue with the movie below. I'll ask George about it.
Anyways, here's the important part. Here are the settings for the Panda
Exporter. Our animators will need to know the following screens in order to get
the animations into the games.
Note to animators: Bookmark this page. You'll need it.
Make sure Dummy is selected to get hardpoints out.
I like Matrix keys. Then again, we can handle any keys so if you
can trim it down go ahead. Max ticks work well for us, but they put out a lot of
keys. We'll work on this more to get it to a more manageable level.
I've marked the "Top frames only". This is really important. I
spent about half an hour trying to figure out why I had to add a hacky transform
in the render loop. With this option set, we don't. Also note the "Left-Handed
Axis" flag. This is also important, but you're probably used to it now.
On a related note, Big Huge Games released the Rise Of Nations
max exporter. I downloaded it but hadn't had a chance to play with it yet. I
looked at the models and they're pretty cool. Their documentation also says that
each model only has one texture. If that's the case, I think I'm right in saying
that they're doing a BlendTextureAlpha to get the decal colors. Exactly the same
thing we're doing. I like it when I can piece together technology just by
looking at it. If you're from Big Huge games and reading this. Please let me
know if I'm wrong. We should probably come up with our own exporter but I don't
have the time nor inclination to do it at the moment. Maybe Cari wants to handle
that
On another related note, I managed to download the Max Game
Exporter. It's part of their SDK. I don't know if I want to go ahead and use it.
It would mean writing an exporter (see above). It's not an executable like I was
led to believe
Next up, getting the weapon/engine hardpoints in and then a full
fledged particle system. Woohoo!!