MAX R7 + Character Studio animation export problem

Hello. I’ve been visiting the forums and using Panda3D for a few weeks now and it looks like it’s the perfect tool for my development needs. First post here, please be gentle. :smiley:

Today I’ve encountered a problem while exporting an animation from MAX 7 to an egg file. Export itself goes fine and the mesh shows up in Panda, textured and all, but not the animation (it’s not a scripting problem as stock panda model/animation works just fine in the code). I have exported both mesh and animation into separate egg files (also tried it in same file, still the same).

The animation was done with Character Studio 4 biped as bone structure. Just a basic walk animation with automatically created footsteps in CS, nothing too fancy. I even manually created the walk animation without footsteps, but still with biped as bone structure and got the same result (or lack thereof). The tutorial on MAX export in the manual is showing a biped as well so I naturally assumed it is supported.

So the question is, is CS4 and MAX7 animation export supported yet or am I simply doing something wrong? I’ve tried pretty much every way to export and animate (with biped, I don’t like pure bones) the mesh (from within MAX7) but still with the same result.

Cheers

When you look at the animation file, does it contain a sequence of things like

, with rows of different numbers in several of the
entries? Compare it to one of the animation files that ships in the demo models tree, like panda-walk4.egg.

These rows of numbers represent the animation data; there is a different number for each frame of the animation.

If you do see rows of numbers, then you have exported the animation, but you’re not seeing it play for some reason. If you don’t see rows of numbers, but only one number per

(or the same number repeated in each
), then you have a static animation table, and the converter wasn’t able to determine your animation.

David

Each part of the biped (e.g. Bip01, Bip01 R Clavicle, Bip01 L Hand etc.) has its own

with rows of numbers in it. First few rows on each
are the same number and then the numbers change on each row (see below for copied
for Bip01 part). Compared to the panda-walk4.egg they look pretty similar save for the amount of rows of numbers per
in my own animation. But the structure is exactly the same as far as I can tell.

The

for Bip01 element:
[b]
Bip01 { xform { fps { 30 } order { srpht } h { { -98.828 -98.828 -98.828 -98.828 -98.828 -98.828 -98.828 -98.828 -98.828 -98.828 -98.828 -98.828 -98.828 -98.828 -98.828 -98.828 -98.828 -98.828 -98.828 -98.828 -98.828 -98.828 -98.828 -98.828 -98.828 -98.828 -98.828 -98.828 -98.828 -98.828 -98.828 -98.828 -98.828 -98.8315 -98.8364 -98.8614 -98.9035 -98.9092 -98.8746 -98.8582 -98.8012 -98.5834 -98.474 -98.4093 -98.4042 -98.5126 -98.5108 -98.4024 -98.176 -98.0999 -98.1041 -98.0966 -98.026 -97.6925 -97.1903 -96.6697 -96.1331 -95.444 -94.9425 -94.3562 -93.622 -92.9734 -92.3108 -92.2223 -92.1728 -92.2763 -92.5475 -92.8122 -93.3808 -94.2324 -95.2829 -96.3231 -97.3159 -98.0532 -98.3261 -98.3124 -97.8903 -97.2007 -96.0093 -95.6292 -94.8492 -95.6868 -96.4784 -96.3447 -94.4849 -93.362 -92.6685 -91.002 -88.9705 -87.4225 -85.9929 -84.692 -84.2465 -84.2557 -84.3488 -84.5839 -84.4122 -84.2955 -84.1479 -82.8419 -82.6017 -83.4239 -83.7279 -84.0423 -85.2027 -86.9759 -88.4666 -89.5373 -90.4254 -90.7747 -90.4385 -89.4841 -88.3103 -87.8298 -87.1678 -87.1919 -88.261 -88.3588 -87.4092 -86.8747 -84.7001 -83.1268 -81.1236 -79.4725 -78.1288 -77.609 -77.2903 -77.4374 -77.4999 -76.9462 -76.5777 -76.3414 -75.095 -74.3348 -75.3029 -76.6777 -77.7477 -78.5116 -79.4935 -81.1196 -82.7494 -84.3397 -85.2107 -85.302 -85.0637 -84.7564 -84.7067 -84.8169 -84.5853 -85.0218 -86.4515 -87.1178 -85.8591 -85.3429 -85.9376 -85.481 -84.3231 -83.5736 -83.276 -82.9868 -82.9344 -82.9526 -82.7726 -82.2653 -81.8941 -81.7696 -81.9389 -82.2791 -82.7113 -82.7995 -82.9345 -83.1034 -83.3178 -83.5366 -83.7117 -83.9611 -84.217 -84.3493 -84.4153 -84.3333 -84.0805 -83.7255 -83.4285 -83.1161 -82.79 -82.6275 -82.577 -82.5813 -82.6434 -82.8189 -83.1008 -83.414 -83.7432 -84.2442 -84.6534 -84.9898 -85.1873 } } p { { 1.62474 1.62474 1.62474 1.62474 1.62474 1.62474 1.62474 1.62474 1.62474 1.62474 1.62474 1.62474 1.62474 1.62474 1.62474 1.62474 1.62474 1.62474 1.62474 1.62474 1.62474 1.62474 1.62474 1.62474 1.62474 1.62474 1.62474 1.62474 1.62474 1.62474 1.62474 1.62474 1.62474 1.6192 1.61042 1.58601 1.49759 1.3871 1.28731 1.20004 1.14345 1.13822 1.175 1.26578 1.49448 1.7932 2.05792 2.14437 2.11287 2.07698 2.09631 2.00135 1.93325 1.84917 1.78178 1.74055 1.81159 1.81093 1.75516 1.60498 1.37864 0.964533 0.531624 0.355684 0.330912 0.37157 0.383022 0.0496435 -0.419045 -0.806426 -1.17835 -1.49114 -1.75538 -1.97951 -1.80751 -1.56778 -1.24639 -0.679241 -0.410885 -0.0854203 0 -2.13443e-007 0 0 0 0.0071273 0.308781 0.873448 1.4073 1.71403 2.04101 2.49425 2.51642 2.56636 2.04711 1.65409 1.07148 0.562561 0.358933 0.270439 0.737152 0.830395 0.0666225 -0.56793 -0.963545 -1.3317 -1.52434 -1.80344 -2.02748 -1.91013 -1.57667 -1.24422 -0.715968 -0.227849 4.26887e-007 0 0 -0.20171 0.106976 0.447253 2.11579 2.34125 2.51255 2.641 3.15103 3.24399 3.03292 2.90159 2.66421 2.13936 1.48591 1.10988 0.944742 0.80691 1.17379 1.13002 -0.298006 -1.78022 -2.05788 -2.05082 -2.08221 -2.07983 -2.01496 -1.76645 -1.55542 -1.41581 -1.09877 -0.812185 -0.754647 -0.809923 -0.799294 -0.731114 -0.678692 0.308912 0.425651 0.624287 0.939104 1.17404 1.20281 1.04997 0.736966 0.421759 0.418763 0.700888 0.697885 0.724771 0.922491 0.885033 1.00501 1.23761 1.3601 1.46996 1.67433 1.94546 2.19013 2.44808 2.63597 2.65307 2.57155 2.31807 2.10496 1.93221 1.86586 1.88406 1.9614 2.02339 2.05732 2.06449 2.07926 2.06182 2.06935 2.04618 2.0745 2.13458 2.20498 2.2375 2.20974 } } r { { -9.91439 -9.91439 -9.91439 -9.91439 -9.91439 -9.91439 -9.91439 -9.91439 -9.91439 -9.91439 -9.91439 -9.91439 -9.91439 -9.91439 -9.91439 -9.91439 -9.91439 -9.91439 -9.91439 -9.91439 -9.91439 -9.91439 -9.91439 -9.91439 -9.91439 -9.91439 -9.91439 -9.91439 -9.91439 -9.91439 -9.91439 -9.91439 -9.91439 -9.89419 -9.85817 -9.80807 -9.65655 -9.47951 -9.33788 -9.23636 -9.19993 -9.16409 -9.16048 -9.17168 -9.19753 -9.23644 -9.56762 -9.90986 -10.0051 -9.88822 -9.60821 -9.35641 -9.2533 -9.17738 -9.08927 -9.00564 -8.94604 -8.89042 -8.73106 -8.37073 -7.92999 -7.54608 -7.05167 -6.88584 -7.05242 -8.04102 -8.52151 -8.16228 -8.12447 -8.20903 -8.45218 -8.76203 -9.18522 -9.37003 -9.23308 -8.66762 -7.63795 -6.04499 -5.34696 -6.13871 -5.43991 -4.20111 -4.88571 -6.88417 -7.65069 -9.0428 -11.0152 -11.4443 -11.055 -11.7184 -12.5129 -12.6332 -12.3364 -11.7997 -10.7519 -9.05554 -7.98785 -8.2063 -8.06438 -8.51533 -11.5026 -12.1667 -12.6423 -12.4699 -11.0118 -11.3515 -11.6278 -11.6619 -11.4193 -11.2105 -10.747 -9.14102 -6.26383 -5.1577 -6.13037 -5.80376 -7.62576 -10.3355 -13.7423 -14.8508 -14.7488 -14.3908 -15.191 -15.6248 -15.0877 -14.7313 -14.1699 -12.7705 -10.6868 -9.34227 -9.97202 -10.2931 -10.0944 -11.3451 -12.6851 -13.4299 -13.905 -13.6217 -12.1763 -12.9597 -13.7827 -13.3389 -12.5884 -11.8804 -10.4465 -8.26754 -6.84509 -7.04381 -8.65972 -8.20502 -8.90903 -12.8655 -16.0068 -17.0521 -17.2634 -16.8438 -17.1059 -17.0838 -16.9938 -16.8227 -16.4257 -16.003 -15.3552 -14.4772 -14.3499 -14.368 -14.475 -14.4876 -14.0021 -13.876 -13.9884 -13.6724 -13.3882 -13.4937 -13.772 -13.9259 -13.991 -13.9727 -13.8505 -13.6118 -13.2684 -13.2063 -13.1877 -13.1774 -13.2611 -13.3279 -13.3917 -13.3959 -13.4047 -13.4065 -13.4327 -13.3945 -13.3512 -13.3709 -13.3394 -13.3769 -13.3774 } } x { { 1.12143 1.12143 1.12143 1.12143 1.12143 1.12143 1.12143 1.12143 1.12143 1.12143 1.12143 1.12143 1.12143 1.12143 1.12143 1.12143 1.12143 1.12143 1.12143 1.12143 1.12143 1.12143 1.12143 1.12143 1.12143 1.12143 1.12143 1.12143 1.12143 1.12143 1.12143 1.12143 1.12143 1.11565 1.10862 1.14711 1.18175 1.21631 1.05042 0.974254 0.901958 0.817628 0.763469 0.852949 1.13395 1.36894 1.61379 1.6643 1.793 1.75412 1.43877 1.2389 0.908107 0.451753 -0.207628 -0.858748 -1.56947 -2.54865 -3.36122 -4.42246 -5.5974 -8.0263 -12.6865 -18.6725 -23.1819 -27.7758 -31.8402 -34.7767 -39.0017 -41.2106 -43.6423 -45.6389 -47.47 -49.0496 -50.3986 -51.8912 -53.8114 -56.1287 -58.7867 -61.4981 -63.8929 -64.8629 -64.3367 -63.0976 -60.5997 -61.1069 -59.889 -59.3075 -59.1271 -59.0925 -59.3617 -59.6705 -59.5702 -59.4348 -59.1249 -59.1721 -59.1907 -59.4205 -60.8088 -63.448 -68.0637 -73.8663 -78.0594 -81.9542 -85.0635 -87.0281 -88.7222 -89.7479 -90.8818 -91.9315 -92.6333 -93.5747 -94.6387 -95.8681 -97.2225 -97.7059 -95.2716 -92.6838 -89.9043 -87.2483 -85.9869 -84.8198 -84.2774 -83.7928 -83.4072 -82.8516 -82.2802 -81.7208 -80.9343 -79.9783 -79.1097 -78.144 -80.5972 -83.3364 -87.2162 -90.3914 -92.8852 -95.2288 -97.1987 -98.1099 -98.7675 -99.0786 -99.6886 -100.531 -101.378 -102.632 -104.038 -105.289 -108.133 -106.624 -104.439 -102.897 -97.1067 -95.5481 -93.969 -91.8731 -91.1202 -90.3151 -88.9548 -88.2261 -87.827 -87.5414 -87.2087 -87.2482 -87.6162 -88.107 -88.8121 -89.1883 -89.1081 -89.2553 -89.0955 -88.943 -88.9229 -88.971 -88.9683 -88.8544 -88.7482 -88.7331 -88.7229 -88.703 -88.7084 -88.7413 -88.7789 -88.7567 -88.7112 -88.682 -88.6632 -88.6509 -88.6117 -88.5566 -88.5001 -88.4532 -88.4171 -88.3849 -88.3737 -88.3702 -88.344 } } y { { -0.0640551 -0.0640551 -0.0640551 -0.0640551 -0.0640551 -0.0640551 -0.0640551 -0.0640551 -0.0640551 -0.0640551 -0.0640551 -0.0640551 -0.0640551 -0.0640551 -0.0640551 -0.0640551 -0.0640551 -0.0640551 -0.0640551 -0.0640551 -0.0640551 -0.0640551 -0.0640551 -0.0640551 -0.0640551 -0.0640551 -0.0640551 -0.0640551 -0.0640551 -0.0640551 -0.0640551 -0.0640551 -0.0640551 -0.0938536 -0.129471 -0.168344 -0.203326 -0.439731 -0.885301 -1.32017 -1.81486 -2.56325 -3.28264 -3.93242 -4.93346 -5.7216 -6.48771 -7.48716 -8.67057 -9.9398 -11.1813 -13.035 -14.6719 -16.5961 -18.7868 -21.27 -24.2831 -28.7869 -32.6058 -36.6684 -40.8441 -45.2794 -49.0002 -54.6893 -59.1298 -63.1016 -67.2144 -70.9892 -75.4503 -79.486 -83.7681 -88.197 -92.8036 -97.5946 -102.493 -107.369 -112.084 -118.854 -124.369 -130.896 -137.565 -146.448 -153.054 -164.2 -170.977 -179.314 -187.251 -195.006 -202.324 -209.405 -216.058 -222.293 -229.199 -234.084 -242.186 -248.605 -256.195 -264.167 -272.947 -281.211 -288.916 -296.407 -303.49 -310.134 -317.013 -323.236 -331.085 -337.426 -343.772 -350.266 -356.094 -362.734 -369.901 -378.261 -387.147 -395.501 -404.308 -413.243 -423.817 -431.549 -438.957 -448.102 -454.893 -461.137 -466.311 -472.193 -477.949 -483.164 -489.284 -496.513 -504.549 -513.108 -519.863 -528.208 -535.738 -543.013 -549.764 -555.943 -561.978 -568.335 -574.359 -581.813 -587.416 -592.916 -598.545 -604.352 -610.927 -618.173 -627.6 -634.246 -640.068 -651.145 -656.296 -663.432 -669.082 -674.109 -678.128 -681.618 -685.846 -688.422 -690.551 -692.721 -694.951 -697.738 -700.154 -702.428 -704.088 -705.404 -706.574 -707.955 -708.905 -709.675 -710.306 -710.885 -711.314 -711.498 -711.738 -712.015 -712.411 -713.039 -713.438 -713.754 -713.991 -714.105 -714.141 -714.17 -714.217 -714.217 -714.25 -714.303 -714.305 -714.35 -714.235 -714.09 -713.946 -713.867 -713.877 } } z { { 181.632 181.632 181.632 181.632 181.632 181.632 181.632 181.632 181.632 181.632 181.632 181.632 181.632 181.632 181.632 181.632 181.632 181.632 181.632 181.632 181.632 181.632 181.632 181.632 181.632 181.632 181.632 181.632 181.632 181.632 181.632 181.632 181.632 181.634 181.637 181.646 181.709 181.776 181.825 181.87 181.875 181.82 181.703 181.621 181.461 181.321 181.242 181.316 181.428 181.507 181.533 181.536 181.5 181.388 181.167 180.791 180.228 179.215 178.358 177.312 176.478 176.732 178.03 178.314 178.373 178.737 178.691 178.717 178.777 179.3 179.72 180.173 180.56 180.883 181.007 180.797 180.254 179.351 177.643 175.681 174.749 176.18 177.379 178.443 177.494 177.745 178.399 178.805 179.354 180.169 180.766 181.037 181.207 180.921 180.229 178.993 178.289 177.713 177.376 178.103 177.935 177.501 177.564 178.052 178.948 179.53 180.209 180.704 180.909 180.898 180.765 179.908 178.454 176.033 173.786 174.982 175.422 175.067 176.295 177.222 177.255 178.23 179.377 180.238 180.487 180.77 180.803 180.506 179.432 177.644 176.881 176.738 177.916 178.601 178.218 178.112 177.932 178.033 178.93 179.867 180.602 181.519 181.698 181.567 180.985 179.751 177.99 175.577 171.512 172.496 173.79 174.085 172.879 172.431 173.325 174.09 174.909 176.008 177.65 178.669 179.563 180.288 180.745 180.979 181.284 181.489 181.53 181.839 182.063 182.206 182.29 182.296 182.225 182.084 181.934 181.755 181.606 181.595 181.648 181.803 181.934 182.056 182.102 182.075 182.002 181.939 181.908 181.899 181.885 181.896 181.867 181.877 181.86 181.809 181.768 181.731 181.757 } } } [/b]

Thank you for a quick reply and I hope it’s solvable, since I don’t see why it wouldn’t work.

OK, so you do have animation data. For some reason it’s just not playing on your model. There are a couple of possibilities.

(1) Maybe the joint hierarchy doesn’t match exactly between your animation egg file and your model egg file. This shouldn’t happen when the animation comes from the same Max file as the model, but weirder converter bugs have happened.

(2) Maybe the joint hierarchy does match exactly, but the root name doesn’t match. Panda uses the root name to determine whether the animation is intended to be applied to a given model. Again, this shouldn’t be different if they came from the same Max file, but whatever. However, the Actor interface ignores the root name; presently, only the pview interface respects it; so if you are not able to see the animation using the Actor interface, it’s probably not this problem.

You can test both of these with a command like this:


egg-optchar -lsv panda-model.egg panda-walk4.egg

This will report a list of joints found in the model and animation files. With each joint, it may list either “(static)” meaning no animation was found for the joint, and/or “(empty)” meaning no vertices were found for the joint. You should see a number of joints that have neither flag given; these are animated joints that do contain vertices.

Also, keep an eye out for error messages when binding the animation. You might even turn on verbose character debugging output, by putting the following line in your Config.prc file:


notify-level-chan debug

With this line in place, you should see output something like this when you create your Actor and play your animation for the first time:

>>> a = Actor('panda-model.egg', {'walk' : 'panda-walk4.egg'})
:egg2pg: Reading /e/player/models/panda-model.egg
:gobj: Loading texture /e/player/models/maps/panda-model.jpg
:egg2pg: Flattened 1 nodes.
:chan(debug): Found 0 anims:

:chan(debug): Found 1 parts:
 panda_walk_character
>>> a.loop('walk')
:egg2pg: Reading /e/player/models/panda-walk4.egg
:egg2pg: Flattened 2 nodes.
:chan(debug): binding Dummy_hips to AnimChannelMatrixXfmTable Dummy_hips
:chan(debug): binding Bone_lr_leg_hip to AnimChannelMatrixXfmTable Bone_lr_leg_hip
:chan(debug): binding Bone_lr_leg_upper to AnimChannelMatrixXfmTable Bone_lr_leg_upper
:chan(debug): binding Bone_lr_leg_lower to AnimChannelMatrixXfmTable Bone_lr_leg_lower
:chan(debug): binding Bone_lr_foot to AnimChannelMatrixXfmTable Bone_lr_foot
:chan(debug): binding Bone_lr_foot_nub to AnimChannelMatrixXfmTable Bone_lr_foot_nub
:chan(debug): binding Bone_rr_leg_hip to AnimChannelMatrixXfmTable Bone_rr_leg_hip
:chan(debug): binding Bone_rr_leg_upper to AnimChannelMatrixXfmTable Bone_rr_leg_upper
:chan(debug): binding Bone_rr_leg_lower to AnimChannelMatrixXfmTable Bone_rr_leg_lower
:chan(debug): binding Bone_rr_foot to AnimChannelMatrixXfmTable Bone_rr_foot
:chan(debug): binding Bone_rr_foot_nub to AnimChannelMatrixXfmTable Bone_rr_foot_nub
:chan(debug): binding Bone_spine01 to AnimChannelMatrixXfmTable Bone_spine01
:chan(debug): binding Bone_spine02 to AnimChannelMatrixXfmTable Bone_spine02
:chan(debug): binding Bone_spine03 to AnimChannelMatrixXfmTable Bone_spine03
:chan(debug): binding Bone_spine_nub to AnimChannelMatrixXfmTable Bone_spine_nub
:chan(debug): binding Dummy_lf_foot_heel to AnimChannelMatrixXfmTable Dummy_lf_foot_heel
:chan(debug): binding Dummy_lf_foot_toe to AnimChannelMatrixXfmTable Dummy_lf_foot_toe
:chan(debug): binding Dummy_lr_foot_heel to AnimChannelMatrixXfmTable Dummy_lr_foot_heel
:chan(debug): binding Dummy_lr_foot_toe to AnimChannelMatrixXfmTable Dummy_lr_foot_toe
:chan(debug): binding Dummy_rf_foot_heel to AnimChannelMatrixXfmTable Dummy_rf_foot_heel
:chan(debug): binding Dummy_rf_foot_toe to AnimChannelMatrixXfmTable Dummy_rf_foot_toe
:chan(debug): binding Dummy_rr_foot_heel to AnimChannelMatrixXfmTable Dummy_rr_foot_heel
:chan(debug): binding Dummy_rr_foot_toe to AnimChannelMatrixXfmTable Dummy_rr_foot_toe
:chan(debug): binding Dummy_shoulders to AnimChannelMatrixXfmTable Dummy_shoulders
:chan(debug): binding Bone_lf_clavicle to AnimChannelMatrixXfmTable Bone_lf_clavicle
:chan(debug): binding Bone_lf_leg_upper to AnimChannelMatrixXfmTable Bone_lf_leg_upper
:chan(debug): binding Bone_lf_leg_lower to AnimChannelMatrixXfmTable Bone_lf_leg_lower
:chan(debug): binding Bone_lf_foot to AnimChannelMatrixXfmTable Bone_lf_foot
:chan(debug): binding Bone_lf_foot_nub to AnimChannelMatrixXfmTable Bone_lf_foot_nub
:chan(debug): binding Bone_neck to AnimChannelMatrixXfmTable Bone_neck
:chan(debug): binding Bone_jaw01 to AnimChannelMatrixXfmTable Bone_jaw01
:chan(debug): binding Bone_jaw02 to AnimChannelMatrixXfmTable Bone_jaw02
:chan(debug): binding Bone_jaw03 to AnimChannelMatrixXfmTable Bone_jaw03
:chan(debug): binding Bone_jaw_nub to AnimChannelMatrixXfmTable Bone_jaw_nub
:chan(debug): binding Bone_skull to AnimChannelMatrixXfmTable Bone_skull
:chan(debug): binding Bone_skull_nub to AnimChannelMatrixXfmTable Bone_skull_nub
:chan(debug): binding Dummy_jaw to AnimChannelMatrixXfmTable Dummy_jaw
:chan(debug): binding Bone_rf_clavicle to AnimChannelMatrixXfmTable Bone_rf_clavicle
:chan(debug): binding Bone_rf_leg_upper to AnimChannelMatrixXfmTable Bone_rf_leg_upper
:chan(debug): binding Bone_rf_leg_lower to AnimChannelMatrixXfmTable Bone_rf_leg_lower
:chan(debug): binding Bone_rf_foot to AnimChannelMatrixXfmTable Bone_rf_foot
:chan(debug): binding Bone_rf_foot_nub to AnimChannelMatrixXfmTable Bone_rf_foot_nub
>>> 

All the “binding” messages mean that Panda has associated the animation data with its corresponding skeleton joint. You should see one of these lines for each joint in your model.

David

This just keeps getting weirder and weirder.

The character debugging output gives me this:


:chan(debug): Found 0 anims:

:chan(debug): Found 1 parts:
 char
:chan: Part <skeleton> has 7 children, while matching anim node has 1:
:chan:   part has Bip01 Pelvis, not in anim.
:chan:   part has Bip01 R Calf, not in anim.
:chan:   part has Bip01 R Foot, not in anim.
:chan:   part has Bip01 R Thigh, not in anim.
:chan:   part has Bip01 R UpperArm, not in anim.
:chan:   part has Bip01 Spine, not in anim.
:chan:   part has Bip01 Spine3, not in anim.
:chan:   anim has superhero, not in part.
:chan(debug): binding Bip01 Pelvis to

And when it comes to the last line there, it simply crashes, never actually loading the script fully (this output is from an attempt where I renamed Bip01 to the same name as the mesh. I’m out of ideas. :smiley:). As far as I’m able to tell, this tells me something is wrong with my animation, but it plays just fine in MAX with all the bone bindings in place (no stray verticles and such). All I can think of now is comparing my egg files with the demo files and see where the difference in structure is and then trying again from scratch. Unless someone has some more ideas.

The model and animation are from the same max file and the model is a single mesh counting around 4500 polys. Max export log file is this:


Error output piped to file. - (LOW LEVEL, SYS_ONE)
A new, piped logging instance has been created with data 'MaxEggLog.txt'. - (MEDIUM LEVEL, SYS_ONE)
Set error mask for system with ID 5 to ff. - (LOW LEVEL, SYS_ONE)
Set error mask for system with ID 4 to 1f. - (LOW LEVEL, SYS_ONE)
Set error mask for system with ID 3 to ff. - (LOW LEVEL, SYS_ONE)
Set error mask for system with ID 1 to 7f. - (LOW LEVEL, SYS_ONE)
Set error mask for system with ID 2 to 7f. - (LOW LEVEL, SYS_ONE)
Set error mask for system with ID 0 to ff. - (LOW LEVEL, SYS_ONE)

I also forgot to mention that I use Panda 1.1.0

Cheers

It’s clear that your skeleton hierarchies aren’t matching between the animation file and the model file. What does the output of the egg-optchar command look like?

If you can post your egg files somewhere where I can download them, I may be able to help you diagnose the problem.

David

egg-optchar is another weird thing: it tells me that it’s unable to open the egg file (any egg file, not just mine).

And here are the egg files:

model
animation

Mesh is stripped of textures.

Well, I don’t know what’s wrong with your egg-optchar; that sounds like an installation issue somehow.

Here’s the output of egg-optchar when I run it on each file individually:

> egg-optchar -ls superhero-walk.egg

:egg: Reading superhero-walk.egg
Character: char
superhero
  Bip01 Pelvis
    Bip01 Spine
      Bip01 L Thigh
        Bip01 L Calf
          Bip01 L Foot
            Bip01 L Toe0
              Bip01 L Toe01
                Bip01 L Toe02
                  Bip01 L Toe0Nub
      Bip01 R Thigh
        Bip01 R Calf
          Bip01 R Foot
            Bip01 R Toe0
              Bip01 R Toe01
                Bip01 R Toe02
                  Bip01 R Toe0Nub
      Bip01 Spine1
        Bip01 Spine2
          Bip01 Spine3
            Bip01 Neck
              Bip01 Head
                Bip01 HeadNub
              Bip01 L Clavicle
                Bip01 L UpperArm
                  Bip01 L Forearm
                    Bip01 L Hand
                      Bip01 L Finger0
                        Bip01 L Finger0Nub
              Bip01 R Clavicle
                Bip01 R UpperArm
                  Bip01 R Forearm
                    Bip01 R Hand
                      Bip01 R Finger0
                        Bip01 R Finger0Nub
35 joints.
> egg-optchar -ls superhero.egg

:egg: Reading superhero.egg
Character: char
Bip01 Pelvis
Bip01 R Calf
Bip01 R Foot
  Bip01 R Toe0
    Bip01 R Toe02
Bip01 R Thigh
Bip01 R UpperArm
  Bip01 R Forearm
    Bip01 R Hand
      Bip01 R Finger0
Bip01 Spine
  Bip01 L Calf
  Bip01 L Foot
    Bip01 L Toe02
  Bip01 L Thigh
  Bip01 Spine1
    Bip01 Spine2
Bip01 Spine3
  Bip01 Head
  Bip01 L Clavicle
    Bip01 L UpperArm
      Bip01 L Forearm
        Bip01 L Hand
          Bip01 L Finger0
  Bip01 Neck
  Bip01 R Clavicle
26 joints.

As you can see, the two joint hierarchies have very little in common. This must be a bug in the Max-to-Egg converter; maybe it’s a bug in conjunction with the CS4 animation. I know very little about Max or the Max-to-Egg converter; is there someone else on the forums who has had experience with this converter?

You might also try exporting the model via the .x format instead, if you can find a Max-to-X converter.

David

Thank you for your time and input. I will try with the x format, if I can find a converter. And as for egg-optchar I suspected installation issues as well and reinstalled Panda but with no results. But that’s a different story altogether.

Thanks again.

Cheers

Hi,

I know, it’s a bit late to answer on this topic, but i think, the information can be usefull (i hope)…:unamused:

Personaly, I had issues in exporting from 3DS 8 : only few bones animations were Ok, the others stayed static… This disappear when I put the mesh and the bones into a character (select your mesh and your bones then Character>Create character), once you have created your character, go to the frame where your mesh is in its original pose, and in the Modify panel, click on Set as skin pose. Then, I tried to export to egg in two separates files, it was a mess… then in one file, with all the frames, and it worked ! I hope it will work too for people who have this kind of problem…

With the advent of the rewritten 3dsmax (2009) exporter, I decided to give exporting my stuff a shot. The mesh exports just fine, but the animations don’t seem to work at all whether I use simple bones or biped. Using physique or skin doesn’t appear to make any difference either. I’ve also tried this on multiple models (the simplest being a multisegmented cylinder with 3 bones)

Any ideas if the plugin is really ready for use or am I just doing something terribly wrong despite reading the manual entry? I’ve tried exporting the ‘model’ and animation into seperate files and combined, but usually exporting into the same file results the model disappearing from pview completely. The most common scenario is that pview recognizes an animation and starts “playing” it, but the mesh isn’t deforming at least. This makes me a sad panda :cry: