Max to Collada to Egg - Animations aren't showing in Pview

Hi,

We have made a wolf that we want to use in a Panda3D game in Max.

After exporting the model/animations to COLLADA then using dae2egg, we get one file with the model/texture info, the rigging and the animation.

When viewing this in pview all we have is the wolf sitting there as per the geometry, no animation. I realise that panda likes to have separate model and animation files so I pulled out the animation part of the .egg and put it in its own egg, (making sure the and were the same name) and left the rigging in the model file. This also doesn’t work although the bar runs along the bottom of pview when I press “a” so it knows there is an animation and is playing it, it just isn’t showing.

I have tried importing into blender and using the blender .egg exporter with “animation files separate” but that seems to make just a file of the rigging and a file for the animation, not a file for the geometry. When I re-export for the geometry it throws me errors.

I’ve attached the original dae2egg with geom/rigging/anim in and the split files I fiddled with. Can someone try and test them please? What have I done wrong?

I don’t mind if I have to manually split the files every time from dae2egg but obviously a solution that didn’t include this step would be ideal.

Thanks for your time,

Poncho

dae2egg original: https://www.dropbox.com/s/1p9ci9szuuvgjo9/WolfPounce.egg
geom/rigging split:https://www.dropbox.com/s/nqkn7fidyz2ofm2/WolfGeomSplit.egg
anim split:https://www.dropbox.com/s/2lhvpfdmjawj4c0/WolfPounceSplit.egg
dae original: https://www.dropbox.com/s/4sem4ldj3j350xu/WolfPounce.DAE
texture: https://www.dropbox.com/s/1zeggjj0notm8kb/wolf.png

I think that currently dea2egg doesn’t support animations.

If you’re exporting t from Max then I suggest using the export plugin.

The plugin is in \Panda3D\plugins\ you just need to copy the right files (maxegg9.dlo and maxeggimport9.dle for max v9)into ‘plugins’ in your 3dsmax directory.

Refer to the manual for more information:
panda3d.org/manual/index.php … Studio_Max

As a side not: use bones or the biped system for animations, dummies, helpers and suchlike won’t get exported.

Thanks for the fast reply wezu.

I remember we tried the exporter a few weeks back and it throws us errors when trying to use it. We have max9 but it doesn’t seem to like the plugin.

Any reason for this? Has anyone else used it?

Also, I think the dae2egg converter should support animations because if you look at the files in notepad/any text editor the converter seems to have converted the animations into what looks like the right syntax (if reference it to the provided panda-walk.egg etc. files in Panda 1.7.2/models).

Thanks,

Poncho

the anim looks ok, but the model lacks joints.

It should look something like this (taken from a random model of mine):

<Joint> Bip01 {
    <Transform> {
      <Matrix4> {
        1.49012e-006 -1 0 0
        1 1.49012e-006 0 0
        0 0 1 0
        0 0 7.58444 1
      }
    }
    <Joint> "Bip01 Pelvis" {
      <Transform> {
        <Matrix4> {
          1.91847e-012 0.0499778 0.99875 0
          1 1.38507e-006 -6.93111e-008 0
          -1.3868e-006 0.99875 -0.0499778 0
          0.00703478 6.93234e-010 0 1
        }
      }
      <Joint> "Bip01 Spine" {
        <Transform> {
          <Matrix4> {
            0.998749 -0.00170375 -0.0499777 0
            0.00170141 0.999999 -8.93031e-005 0
            0.0499778 4.15866e-006 0.99875 0
            0.799108 -0.000959988 -0.0399876 1
          }
        }
        <Joint> "Bip01 Spine1" {
          <Transform> {
            <Matrix4> {
              0.999997 -0.0025 -6.93399e-009 0
              0.0025 0.999997 -8.51017e-012 0
              6.93399e-009 -8.65033e-012 1 0
              1.20596 -0.000960228 -3.75874e-009 1
            }
          }
          <Joint> "Bip01 Spine2" {
            <Transform> {
              <Matrix4> {
                0.999997 -0.0025 -6.93399e-009 0
                0.0025 0.999997 -8.7205e-012 0
                6.93399e-009 -8.4822e-012 1 0
                1.20596 -0.000960269 -2.99156e-009 1
              }
            }
            <Joint> "Bip01 Neck" {
              <Transform> {
                <Matrix4> {
                  1 0 0 0
                  0 1 0 0
                  0 0 1 0
                  1.20596 -0.000743001 -1.94548e-009 1
                }
              }
              <Joint> "Bip01 Head" {
                <Transform> {
                  <Matrix4> {
                    0.999977 0.00670229 -5.07178e-008 0
                    -0.00669391 0.998728 0.0499792 0
                    0.000335026 -0.049978 0.99875 0
                    0.802255 0.000104324 6.9725e-010 1
                  }
                }
                <Joint> "Bip01 HeadNub" {
                  <Transform> {
                    <Matrix4> {
                      1 0 0 0
                      0 1 0 0
                      0 0 1 0
                      1.63501 -1.22431e-008 3.12272e-010 1
                    }
                  }
                }
                <VertexRef> {
                  0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
                  21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
                  39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
                  57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
                  75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
                  93 94 95 96 97 98 99 100 101 102 103 104 105 106 107
                  108 109 110 111 112 113 114 115 116 117 118 119 120
                  121 122 123 124 125 126 127 128 129 130 131
                  <Scalar> membership { 1 }
                  <Ref> { hair.verts }
                }
                <VertexRef> {
                  1337
                  <Scalar> membership { 0.0244437 }
                  <Ref> { body.verts }
                }
                <VertexRef> {
                  742
                  <Scalar> membership { 0.0260877 }
                  <Ref> { body.verts }
                }
                <VertexRef> {
                  799 1252
                  <Scalar> membership { 0.17 }
                  <Ref> { body.verts }
                }
                <VertexRef> {
                  1011 1012
                  <Scalar> membership { 0.194783 }
                  <Ref> { body.verts }
                }
                <VertexRef> {
                  905 1007 1008 1147
                  <Scalar> membership { 0.21 }
                  <Ref> { body.verts }
                }
                <VertexRef> {
                  924
                  <Scalar> membership { 0.310132 }
                  <Ref> { body.verts }
                }
                <VertexRef> {
                  1137
                  <Scalar> membership { 0.310871 }
                  <Ref> { body.verts }
                }
               .
               .
               .

and rigging (the part that looks like comments with // at the start)

<Vertex> 17 {
        -1.86807 -0.079515 6.11387
        <UV> {
          0.044 0.8084
          <Tangent> { -0.141021 -0.293302 0.945562 }
          <Binormal> { 0.382789 0.864669 0.325299 }
        }
        <Normal> { -0.913009 0.407824 -0.00966385 }
        // Bip01 R Finger11:0.516486 Bip01 R Finger12:0.483514
      }
      <Vertex> 18 {
        -1.86413 -0.0787841 6.17763
        <UV> {
          0.0481 0.811
          <Tangent> { -0.102513 -0.229403 0.967918 }
          <Binormal> { 0.371397 0.893852 0.251184 }
        }
        <Normal> { -0.922798 0.385232 -0.00643111 }
        // Bip01 R Finger11:1
      }

Can’t say what’s wrong with the plugin, but if you post the error message maybe someone else will know.

Ah okay, thanks for the explanation.

In the original .egg that I got from dae2egg the joints are in there for example:

<Joint> Bip01_Spine {
    <Transform> {
      <Matrix4> {
        0.074391 0.997229 0 0
        -0.997229 0.074391 -5e-006 0
        -5e-006 0 1 0
        -0.072129 0.632322 -1e-006 1
      }
    }
    <Joint> Bip01_L_Thigh {
      <Transform> {
        <Matrix4> {
          0.140754 0.986204 -0.08712 0
          0.989995 -0.141081 0.002419 0
          -0.009905 -0.086589 -0.996195 0
          -0.625203 -0.11897 0.561555 1
        }
      }
      <Joint> Bip01_L_Calf {
        <Transform> {
          <Matrix4> {
            0.902691 -0.43029 0 0
            0.43029 0.902691 0 0
            0 0 1 0
            2.80777 0 0 1
          }
        }
        <Joint> Bip01_L_Foot {
          <Transform> {
            <Matrix4> {
              0.954554 -0.290626 -0.066057 0
              0.287188 0.956185 -0.056857 0
              0.079688 0.035302 0.996195 0
              1.59141 0 0 1
            }
          }
          <Joint> Bip01_L_Toe0 {
            <Transform> {
              <Matrix4> {
                -0.258819 0.965926 0 0
                -0.965926 -0.258819 0 0
                0 0 1 0
                1.56757 0.712951 0 1
              }
            }
          }
        }
      }
    }
    <Joint> Bip01_R_Thigh {
      <Transform> {
        <Matrix4> {
          -0.033981 0.995647 0.086792 0
          0.999409 0.034308 -0.002279 0
          -0.005247 0.086663 -0.996224 0
          -0.625205 -0.118967 -0.561552 1
        }
      }
      <Joint> Bip01_R_Calf {
        <Transform> {
          <Matrix4> {
            0.933202 -0.359353 0 0
            0.359353 0.933202 0 0
            0 0 1 0
            2.80777 0 0 1
          }
        }...

But I can’t find the rigging as you say. Should the rigging be attached to a like you have in yours then? As in, it s inside the {} tags?

We’ll have a go with the plugin again and report back with the error/success :slight_smile:

Thanks again,

Poncho

dae2egg doesn’t support animations. It exports your bone structure, but it does not export the animation tables.

The plugin worked this time!!

Not sure if it was a problem with our max (not up to date or something) or the .net runtime installation messing up the first time but we now have an animated wolf so thank you for your replies wezu :slight_smile:

@rdb Although dae2egg didn’t work in terms of when inside pview, if you look at the eggs it produced (dae original link and anim split link) in my first post, the animation table is included. As wezu said it seems the rigging wasn’t.

So it converted the geometry, textures, normals, bones, animation but not rigging so pview rendered the wolf, thought there was an animation (when I pressed ‘a’) but the wolf wasn’t moving.

Thanks for all the help and fast responses,

Time get this wolf eating something :smiley:

It’s the other way around. It exports the rigging, but not the animation. There may be an animation table included, but it is incorrect.