gmax

Supposedly, there’s a good X exporter for blender already.

However, I can’t cope with the blender user interface.

Yeah, I was looking into Blender and found it’s UI rather unintuitive. I liked gmax’s better. Software aesthetics are a wonderful thing.

My two cents but i think:

  1. we cannot load models from 3DS Max, Blender (with egg or x exporter , both works), MS3D (x exporter), Poser via MS3D .

I think Panda creator cannot afford to spend time design exporter for every aninmation package outhere. eveeryone out here got a favorite one which may not be mine for example !!!
So they can produce converter from format to egg, but it’s up to communitity to provide , if needed , integration in their favorite pacakge (either by writing a egg exporter or by using exporter to existing known panda file).

Actually:

  • for beta testing i let panda do the conversion from X to egg on the fly
  • once model is validated in X format, i put in a conversion folder. i got a script that convert all moded from one folder to egg and then all models from this folder to bam so it’s about 2 mins to spend for every bunch of models.

i’ll try gmax stuff maybe this weekend doesn’t look reall complicated at all.
(not sure we need to go through X format )…

Ok previous post was from me!!

one mistake: we must read we can now import from and not “we cannot …”

If i take for example X format converter it opened doors for at least 4/6 major animation package

So i stick with : panda do file converter, community do package integration …

but maybe more comunication on how to use the converter or a small converter gui with batch feature would come in a very handy…*

how about making a panda-chill-indie version of bigboys game:
collada.org/

so low budget indie-viduals can play too :blush:
btw. my fave authoring apps are cinema4d and blender, yet gmax has most lowpoly tools.

Hi Folks,
I’ve hit a snag :frowning: . I can export static models from Gmax in .X format, and load them in Panda without any problems. But I can’t load the model if it’s textured.

I created a simple ball model (Ball1) in Gmax and exported it as an .X file (without texture) then loaded it in Panda without trouble.

I then created a simple 256 x 256, 24 bit texture .bmp. I applied it in Gmax, then exported the model as Ball2 and tried to load it in Panda (both model and texture are in the models folder). No good, Panda didn’t like it at all :frowning:

This is the error message:

Microsoft Windows XP [Version 5.1.2600]
© Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\Kathy&Jill>cd C:\Panda3D-1.0.4\samples\MyStuff\

C:\Panda3D-1.0.4\samples\MyStuff>ppython ModelTest.py
DirectStart: Starting the game.
Warning: DirectNotify: category ‘Interval’ already exists
Known pipe types:
wglGraphicsPipe
(3 aux display modules not yet loaded.)

Error in /c/Panda3D-1.0.4/etc/…/models/Ball2.x at line 702, column 19:
TextureFileName {
^
Unknown template: TextureFileName

Error in /c/Panda3D-1.0.4/etc/…/models/Ball2.x at line 704, column 3:
}
^
Too many data elements in structure.

Error in /c/Panda3D-1.0.4/etc/…/models/Ball2.x at line 708, column 1:
} // End Material ‘Mtl__00’
^
Too many data elements in structure.

Unable to open X file: /c/Panda3D-1.0.4/etc/…/models/Ball2.x
:loader(error): Couldn’t load file models/Ball2: all matching files on model path invalid.
Traceback (most recent call last):
File “ModelTest.py”, line 21, in ?
MyActor = Actor.Actor(“models/Ball2”)#Define MyActor.
File “C:\Panda3D-1.0.4\direct\src\actor\Actor.py”, line 146, in init
self.loadModel(models)
File “C:\Panda3D-1.0.4\direct\src\actor\Actor.py”, line 1184, in loadModel
raise StandardError, “Could not load Actor model %s” % (modelPath)
StandardError: Could not load Actor model models/Ball2


I thought perhaps it was the texture format, so I created a new one in .jpg format, but still no luck. I figured the model must be corrupt, so I tried it in 3D Exploration. But lo and behold! Both model and texture loaded up perfectly.

I decided to try loading up a different .X model (one that hadn’t been created with Gmax) to see what happened. I found a free .X format model on Turbosquid, ‘Male1’, so I downloaded it, copied the model and texture to the Panda models folder, and tried it. Same problem, but slightly different error message:

Microsoft Windows XP [Version 5.1.2600]
© Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\Kathy&Jill>cd C:\Panda3D-1.0.4\samples\MyStuff
C:\Panda3D-1.0.4\samples\MyStuff>ppython ModelTest.py
DirectStart: Starting the game.
Warning: DirectNotify: category ‘Interval’ already exists
Known pipe types:
wglGraphicsPipe
(3 aux display modules not yet loaded.)

Error in /c/Panda3D-1.0.4/etc/…/models/Male1.x at line 6335, column 1:
}
^
parse error

Unable to open X file: /c/Panda3D-1.0.4/etc/…/models/Male1.x
:loader(error): Couldn’t load file models/Male1: all matching files on model path invalid.
Traceback (most recent call last):
File “ModelTest.py”, line 21, in ?
MyActor = Actor.Actor(“models/Male1”)#Define MyActor.
File “C:\Panda3D-1.0.4\direct\src\actor\Actor.py”, line 146, in init
self.loadModel(models)
File “C:\Panda3D-1.0.4\direct\src\actor\Actor.py”, line 1184, in loadModel
raise StandardError, “Could not load Actor model %s” % (modelPath)
StandardError: Could not load Actor model models/Male1


I tried this model in 3D Exploration too, just to be sure, and it too works fine. I know the fault must be mine, I’ve stuffed something up again :laughing:. But the darn thing’s got me beat, any ideas?

Here is my python script if that’s of any help:

Step 1: DirectStart contains the main Panda3D modules. Importing it

initializes Panda and creates the window. The run() command causes the

real-time simulation to begin

import direct.directbase.DirectStart
from pandac.PandaModules import *
from direct.actor import Actor #Define Actor
from direct.interval.IntervalGlobal import *
from direct.gui.DirectGui import *
import sys
import math

base.disableMouse() #Disable mouse-based camera-control.
base.setBackgroundColor(0, 0, 0) #Make the background color black.
camera.setPos(0, -3, 0) #Position the camera.

#Load the actor.

MyActor = Actor.Actor(“models/Male1”) #Define MyActor.
MyActor.reparentTo(render) #Make it display in the scene.

run()

Sorry for the long post. Hope it makes sense to somebody :unamused:.

Cheers

Suggestion: open the .X file produced by gmax with a text editor, and do a global search-and-replace from “TextureFileName” to “TextureFilename”.

My observation is that gmax’s X exporter is writing these names with the wrong case, and Panda’s X importer is not forgiving enough to accept them that way. (The X file spec provided by Microsoft doesn’t specify whether the template names are intended to be case sensitive or not. Guess they’re not.)

I’ll fix Panda’s X importer so that it will accept gmax files in the future, but in the meantime you will have to modify them by hand this way first.

David

Also: The Male1.x file you downloaded was written by the 3DSMax X file exporter, which has a different bug in it: it writes an extra curly brace to the file (this is what the Panda X importer was complaining about at line 6335 of the file).

For some reason, the Microsoft-provided X file reader does not mind the extra curly brace, so programs that use the Microsoft libraries (like, presumably, 3D Exploration) are able to read Male1.x just fine. Panda can’t use Microsoft’s libraries because it is platform-independent and must run on platforms other than Windows, so Panda has its own X file parser–and this parser notices and objects to the extra curly brace.

I’ll fix Panda’s X importer to be more forgiving of this problem too, but in the meantime you can still load Male1.x by removing the curly brace at line 6335.

David

David you are a genius :slight_smile:! That fixed the problem, model and texture both load in Panda now.

I can’t believe it was as simple as just changing one little letter from a capital to a lowercase :laughing:. Thanks a lot for taking the time to sort that out for me.

Just one last thing to test now, animation! I shall try to test it today and let you know what happens.

Cheers

Oh I nearly forgot. I had a go at polishing up the installation instructions for the Gmax .X exporter. For some reason my links don’t want to work today, so somebody else will need to put them in (or just use them from the original tutorial). Here ya go:


                  How To Export .X Files From Gmax

Installation.

There are several plug-ins required to export .X files from gmax:

  1. First download the ‘Gmax gamepack SDK’ found at this link :FlightSimulator exporter plugin. Size is about 15Mb. Although only 3 files are actually needed, they are not available as separate downloads, so unfortunately you’ll need to download the whole thing.

  2. Next, download programs ‘MDLCommander’ and ‘Middleman’.

  3. After download, you’ll see that the ‘fs2004_sdk-gmax-setup’ is an exe. If you install it in the default gmax directory, you’ll end up with a lot of extra stuff that you don’t need. So create a new folder somewhere on your hard drive and install it there.

  4. When done, open the folder, go to gamepacks > fs2004 > plugins. And copy all 3 files: ‘FSModelExp.dle’, ‘makemdl.exe’ and ‘makemdl.parts.xml’ to your main …/gmax/plugins folder.

  5. You need to rename two of the files. Right click on ‘makemdl.exe’ and rename it to to ‘mkmdl.exe’. Then right click on ‘makemdl.parts.xml’ and rename it to ‘mkmdl.parts.xml’ (without the quotes).

  6. Next, unzip ‘MDLCommander.zip’. Then copy ‘mdlcommander.exe’ to your main …/gmax/plugins folder. This file also needs to be renamed. Right click on ‘mdlcommander.exe’ and rename it to ‘makem.exe’.

  7. Finally, unzip ‘Middleman13beta3.zip’. Then copy ‘makemdl.exe’ to your main …/gmax/plugins folder. That’s it, you’re done!

Using.

To convert your gmax model to .X format. Go to ‘File > Export’ and select ‘Flightsim Aircraft Object (.MDL) from the file type dropdown. Type in a filename and click Save. The Middleman dialog window should now appear. Click the ‘Options’ tab and check ‘SaveXFile’ (this saves the x file) and ‘nocompile’ (this tells mdlcommander to only create an .X file not mdl/bgl). Then click the GO button.

After a few seconds the dialog will close and your newly exported .X model should be in the directory where you saved it to.


Cheers

I’ve acquired all necessary files for gmax exporting, but that’s a lot of stuff to do.

Is there a way to pre-pack all the necessary files and renaming etc. (without braking the EULA’s) and make them available somehow so it would be easier for an average person to set it up?

Hi Folks,

I figured I’d give an update on my .X file exporting progress. So far, static meshes work! Textured (UVW mapped) meshes work! Character (rigged) bones work!

But I’m having trouble with animation. I made a simple model and animation in gmax, exported it as an .X file and then loaded it into Panda. Mesh, texture and bones all load up nicely, but I have no idea if the animation exported, and if it did, how to make the animation play in Panda.

You see, the sample Panda models (in .egg format), all have two seperate files, one for the model and another for the animation. But it looks like the .X file format contains BOTH the model and the animation data.

So, as an example, if I want to load an .egg model and loop its animation, I’d use something like this:

pandaActor = Actor.Actor(“models/panda-model”,{“walk”:“models/panda-walk4”})
pandaActor.setScale(0.005,0.005,0.005)
pandaActor.reparentTo(render)#Make it display in the scene.
pandaActor.loop(“walk”)#Play animation.

Any idea what I need to do for an .X file animation to play?

Cheers

Sure, specify the same file for both animation and the model, or better yet, just pview the .X file (the animation should play automatically). Note that when going into actual production you want to have the files seperated, because the system seems to load it from disk twice when the animation and model are in one file. Seperating them shaved more than 20 seconds loading the greeting card. But for until you need to worry about that keeping them in the same file is fine.

Drat! It doesn’t work :frowning: . Everything else is fine, but no animation. This is my script in case I’ve stuffed something up:

Step 1: DirectStart contains the main Panda3D modules. Importing it

initializes Panda and creates the window. The run() command causes the

real-time simulation to begin

import direct.directbase.DirectStart
from pandac.PandaModules import *
from direct.actor import Actor #Define Actor
from direct.interval.IntervalGlobal import *
from direct.gui.DirectGui import *
import sys
import math

base.disableMouse() #Disable mouse-based camera-control.
base.setBackgroundColor(0, 0, 0) #Make the background color black.
camera.setPos(0, -3, 0) #Position the camera.

#Load the actor, and loop its animation.

MyActor = Actor.Actor(“models/BoxMonster”)
MyActor.reparentTo(render)#Make it display in the scene
MyActor.loop(“BoxMonster”)#Play its animation

run()

I also opened up the .X file, and unfortunately it doesn’t look like any animations were exported, the AnimationSet is empty:

AnimationSet { // Collection of Animations
} // End of AnimationSet.

Everything else is there, including the bones and IK Chains, just no animation. This could be my fault though, because I’ve never before created an animation in gmax or tried to export it, so I may have buggered up the process somewhere.

Sadly, exporting tutorials for gmax are very thin on the ground, so I’ll just have to keep trying and experimenting with it. If anybody else has any ideas please post them, cause we gotta get this to work :smiley:.

Cheers

Well, you do need to specify the egg file twice to the Actor constructor, like this:

MyActor = Actor.Actor("models/BoxMonster", {"anim":"models/BoxMonster"})
MyActor.loop("anim")

But even with that, you won’t get any animation if the AnimationSet is empty–something definitely went wrong before it got to the .X file.

David

Hi Folks,

I think I’ve figured out what went wrong with the .X file animations, it seems that the exporter is very fussy about the ‘System Unit Scale’. It looks like it MUST be set to ‘Metric’ and 1 Unit = 1.0 metre.

After I changed my gmax settings, the animations are now exporting (at least they’re now listed in the .X file :smiley:).

However, I still can’t get the darn things to play in Panda. There are no error messages and the model loads up fine, it just won’t play its animation.

So I’m going to post the whole kit & kaboodle this time, my apologies for making such a long post, but I feel like we’re really close to a breakthrough here :smiley:.

Anyway, the model I created this time was a simple bouncing ball, no bones, no materials, just a simple sphere mesh and 90 frames of ‘bouncing up and down’ animation.

This is the .X file (the animation set is listed at the bottom):


xof 0302txt 0032

// Direct3D .x file translation of Scene_Root
// Generated by 3DSMax FSModelExp Plug-in, Version 1.00
// Sun Jun 05 10:19:39 2005

template Header {
<3D82AB43-62DA-11cf-AB39-0020AF71E433>
WORD major;
WORD minor;
DWORD flags;
}

template Vector {
<3D82AB5E-62DA-11cf-AB39-0020AF71E433>
FLOAT x;
FLOAT y;
FLOAT z;
}

template Coords2d {

FLOAT u;
FLOAT v;
}

template Matrix4x4 {

array FLOAT matrix[16];
}

template ColorRGBA {
<35FF44E0-6C7C-11cf-8F52-0040333594A3>
FLOAT red;
FLOAT green;
FLOAT blue;
FLOAT alpha;
}

template ColorRGB {

FLOAT red;
FLOAT green;
FLOAT blue;
}

template TextureFilename {

STRING filename;
}

template Material {
<3D82AB4D-62DA-11cf-AB39-0020AF71E433>
ColorRGBA faceColor;
FLOAT power;
ColorRGB specularColor;
ColorRGB emissiveColor;
[…]
}

template MeshFace {
<3D82AB5F-62DA-11cf-AB39-0020AF71E433>
DWORD nFaceVertexIndices;
array DWORD faceVertexIndices[nFaceVertexIndices];
}

template MeshTextureCoords {

DWORD nTextureCoords;
array Coords2d textureCoords[nTextureCoords];
}

template MeshMaterialList {

DWORD nMaterials;
DWORD nFaceIndexes;
array DWORD faceIndexes[nFaceIndexes];
[Material]
}

template MeshNormals {

DWORD nNormals;
array Vector normals[nNormals];
DWORD nFaceNormals;
array MeshFace faceNormals[nFaceNormals];
}

template Mesh {
<3D82AB44-62DA-11cf-AB39-0020AF71E433>
DWORD nVertices;
array Vector vertices[nVertices];
DWORD nFaces;
array MeshFace faces[nFaces];
[…]
}

template FrameTransformMatrix {

Matrix4x4 frameMatrix;
}

template Frame {
<3D82AB46-62DA-11cf-AB39-0020AF71E433>
[…]
}
template FloatKeys {
<10DD46A9-775B-11cf-8F52-0040333594A3>
DWORD nValues;
array FLOAT values[nValues];
}

template TimedFloatKeys {

DWORD time;
FloatKeys tfkeys;
}

template AnimationKey {
<10DD46A8-775B-11cf-8F52-0040333594A3>
DWORD keyType;
DWORD nKeys;
array TimedFloatKeys keys[nKeys];
}

template AnimationOptions {

DWORD openclosed;
DWORD positionquality;
}

template Animation {
<3D82AB4F-62DA-11cf-AB39-0020AF71E433>
[…]
}

template AnimationSet {
<3D82AB50-62DA-11cf-AB39-0020AF71E433>
[Animation]
}

template DiffuseTextureFileName {

STRING filename;
}

template AmbientTextureFileName {

STRING filename;
}

template EmissiveTextureFileName {

STRING filename;
}

template ReflectionTextureFileName {

STRING filename;
}

template ShininessTextureFileName {

STRING filename;
}

template BumpTextureFileName {

STRING filename;
}

template DisplacementTextureFileName {

STRING filename;
}

template PartData {
<79B183BA-7E70-44d1-914A-23B304CA91E5>
DWORD nByteCount;
array BYTE XMLData[ nByteCount ];
}

Header {
1;
0;
1;
}

//=====================
// FILE NODE HEIRARCHY
//=====================
// Scene_Root (1 Children)
// BouncyBall3 (0 Children)

Frame frm-MasterScale {
FrameTransformMatrix {
0.000977, 0.0, 0.0, 0.0,
0.0, 0.000977, 0.0, 0.0,
0.0, 0.0, 0.000977, 0.0,
0.0, 0.0, 0.0, 1.0;;
} // End frm-MasterScale FrameTransformMatrix
Frame frm-MasterUnitConversion {
FrameTransformMatrix {
1024.000000, 0.0, 0.0, 0.0,
0.0, 1024.000000, 0.0, 0.0,
0.0, 0.0, 1024.000000, 0.0,
0.0, 0.0, 0.0, 1.0;;
} // End frm-MasterUnitConversion FrameTransformMatrix
Frame RotateAroundX {
FrameTransformMatrix {
1.0, 0.0, 0.0, 0.0,
0.0, 0.0, 1.0, 0.0,
0.0, -1.0, 0.0, 0.0,
0.0, 0.0, 0.0, 1.0;;
} // End Frame RotateAroundX FrameTransformMatrix
Frame frm-BouncyBall3 {
FrameTransformMatrix {
1.000000, 0.000000, 0.000000, 0.0,
0.000000, 1.000000, 0.000000, 0.0,
0.000000, 0.000000, 1.000000, 0.0,
0.342891, -0.000174, 0.000000, 1.0;;
} // End FrameTransformMatrix

Mesh BouncyBall3 {
182; // Mesh ‘BouncyBall3’ contains 182 vertices
0.000000; 0.000000; -20.105425;,
-0.000000; 6.212918; -19.121395;,
-1.919898; 5.908836; -19.121395;,
-3.651862; 5.026356; -19.121395;,
-5.026357; 3.651861; -19.121395;,
-5.908836; 1.919897; -19.121395;,
-6.212918; -0.000001; -19.121395;,
-5.908836; -1.919898; -19.121395;,
-5.026356; -3.651862; -19.121395;,
-3.651861; -5.026357; -19.121395;,
-1.919897; -5.908837; -19.121395;,
0.000001; -6.212918; -19.121395;,
1.919898; -5.908836; -19.121395;,
3.651862; -5.026356; -19.121395;,
5.026357; -3.651861; -19.121395;,
5.908837; -1.919896; -19.121395;,
6.212918; 0.000001; -19.121395;,
5.908836; 1.919898; -19.121395;,
5.026356; 3.651863; -19.121395;,
3.651861; 5.026357; -19.121395;,
1.919896; 5.908837; -19.121395;,
-0.000001; 11.817673; -16.265631;,
-3.651862; 11.239274; -16.265631;,
-6.946254; 9.560698; -16.265631;,
-9.560699; 6.946253; -16.265631;,
-11.239275; 3.651861; -16.265631;,
-11.817673; -0.000001; -16.265631;,
-11.239274; -3.651863; -16.265631;,
-9.560698; -6.946255; -16.265631;,
-6.946253; -9.560699; -16.265631;,
-3.651860; -11.239275; -16.265631;,
0.000002; -11.817673; -16.265631;,
3.651863; -11.239274; -16.265631;,
6.946255; -9.560697; -16.265631;,
9.560699; -6.946252; -16.265631;,
11.239275; -3.651860; -16.265631;,
11.817673; 0.000002; -16.265631;,
11.239274; 3.651864; -16.265631;,
9.560697; 6.946256; -16.265631;,
6.946252; 9.560699; -16.265631;,
3.651859; 11.239275; -16.265631;,
-0.000001; 16.265631; -11.817672;,
-5.026357; 15.469534; -11.817672;,
-9.560699; 13.159171; -11.817672;,
-13.159172; 9.560697; -11.817672;,
-15.469535; 5.026355; -11.817672;,
-16.265631; -0.000001; -11.817672;,
-15.469534; -5.026358; -11.817672;,
-13.159171; -9.560699; -11.817672;,
-9.560697; -13.159173; -11.817672;,
-5.026354; -15.469535; -11.817672;,
0.000002; -16.265631; -11.817672;,
5.026359; -15.469533; -11.817672;,
9.560699; -13.159170; -11.817672;,
13.159173; -9.560696; -11.817672;,
15.469535; -5.026354; -11.817672;,
16.265631; 0.000003; -11.817672;,
15.469533; 5.026359; -11.817672;,
13.159170; 9.560700; -11.817672;,
9.560696; 13.159174; -11.817672;,
5.026353; 15.469535; -11.817672;,
-0.000001; 19.121395; -6.212917;,
-5.908837; 18.185528; -6.212917;,
-11.239275; 15.469533; -6.212917;,
-15.469534; 11.239273; -6.212917;,
-18.185528; 5.908834; -6.212917;,
-19.121395; -0.000002; -6.212917;,
-18.185528; -5.908838; -6.212917;,
-15.469532; -11.239276; -6.212917;,
-11.239272; -15.469535; -6.212917;,
-5.908834; -18.185528; -6.212917;,
0.000003; -19.121395; -6.212917;,
5.908839; -18.185526; -6.212917;,
11.239276; -15.469532; -6.212917;,
15.469536; -11.239271; -6.212917;,
18.185528; -5.908833; -6.212917;,
19.121395; 0.000003; -6.212917;,
18.185526; 5.908839; -6.212917;,
15.469531; 11.239277; -6.212917;,
11.239271; 15.469536; -6.212917;,
5.908832; 18.185528; -6.212917;,
-0.000001; 20.105425; 0.000001;,
-6.212919; 19.121395; 0.000001;,
-11.817674; 16.265629; 0.000001;,
-16.265631; 11.817671; 0.000001;,
-19.121395; 6.212916; 0.000001;,
-20.105425; -0.000002; 0.000001;,
-19.121395; -6.212920; 0.000001;,
-16.265629; -11.817674; 0.000001;,
-11.817671; -16.265633; 0.000001;,
-6.212915; -19.121397; 0.000001;,
0.000003; -20.105425; 0.000001;,
6.212921; -19.121395; 0.000001;,
11.817675; -16.265629; 0.000001;,
16.265633; -11.817670; 0.000001;,
19.121397; -6.212915; 0.000001;,
20.105425; 0.000004; 0.000001;,
19.121395; 6.212922; 0.000001;,
16.265629; 11.817676; 0.000001;,
11.817669; 16.265633; 0.000001;,
6.212914; 19.121397; 0.000001;,
-0.000001; 19.121395; 6.212919;,
-5.908837; 18.185528; 6.212919;,
-11.239275; 15.469533; 6.212919;,
-15.469534; 11.239273; 6.212919;,
-18.185528; 5.908834; 6.212919;,
-19.121395; -0.000002; 6.212919;,
-18.185528; -5.908838; 6.212919;,
-15.469532; -11.239276; 6.212919;,
-11.239272; -15.469535; 6.212919;,
-5.908834; -18.185528; 6.212919;,
0.000003; -19.121395; 6.212919;,
5.908839; -18.185526; 6.212919;,
11.239276; -15.469532; 6.212919;,
15.469536; -11.239271; 6.212919;,
18.185528; -5.908833; 6.212919;,
19.121395; 0.000003; 6.212919;,
18.185526; 5.908839; 6.212919;,
15.469531; 11.239277; 6.212919;,
11.239271; 15.469536; 6.212919;,
5.908832; 18.185528; 6.212919;,
-0.000001; 16.265629; 11.817674;,
-5.026357; 15.469532; 11.817674;,
-9.560698; 13.159169; 11.817674;,
-13.159171; 9.560696; 11.817674;,
-15.469533; 5.026354; 11.817674;,
-16.265629; -0.000001; 11.817674;,
-15.469532; -5.026357; 11.817674;,
-13.159169; -9.560699; 11.817674;,
-9.560696; -13.159171; 11.817674;,
-5.026354; -15.469533; 11.817674;,
0.000002; -16.265629; 11.817674;,
5.026358; -15.469532; 11.817674;,
9.560699; -13.159168; 11.817674;,
13.159172; -9.560695; 11.817674;,
15.469533; -5.026353; 11.817674;,
16.265629; 0.000003; 11.817674;,
15.469531; 5.026359; 11.817674;,
13.159168; 9.560699; 11.817674;,
9.560694; 13.159172; 11.817674;,
5.026352; 15.469533; 11.817674;,
-0.000001; 11.817671; 16.265631;,
-3.651862; 11.239273; 16.265631;,
-6.946253; 9.560696; 16.265631;,
-9.560697; 6.946252; 16.265631;,
-11.239273; 3.651860; 16.265631;,
-11.817671; -0.000001; 16.265631;,
-11.239272; -3.651862; 16.265631;,
-9.560696; -6.946254; 16.265631;,
-6.946251; -9.560698; 16.265631;,
-3.651860; -11.239273; 16.265631;,
0.000002; -11.817671; 16.265631;,
3.651863; -11.239272; 16.265631;,
6.946254; -9.560696; 16.265631;,
9.560698; -6.946251; 16.265631;,
11.239273; -3.651859; 16.265631;,
11.817671; 0.000002; 16.265631;,
11.239272; 3.651863; 16.265631;,
9.560696; 6.946254; 16.265631;,
6.946251; 9.560698; 16.265631;,
3.651859; 11.239274; 16.265631;,
-0.000000; 6.212916; 19.121395;,
-1.919897; 5.908834; 19.121395;,
-3.651861; 5.026355; 19.121395;,
-5.026355; 3.651860; 19.121395;,
-5.908835; 1.919896; 19.121395;,
-6.212916; -0.000001; 19.121395;,
-5.908834; -1.919897; 19.121395;,
-5.026354; -3.651861; 19.121395;,
-3.651860; -5.026355; 19.121395;,
-1.919896; -5.908835; 19.121395;,
0.000001; -6.212916; 19.121395;,
1.919898; -5.908834; 19.121395;,
3.651861; -5.026354; 19.121395;,
5.026356; -3.651860; 19.121395;,
5.908835; -1.919896; 19.121395;,
6.212916; 0.000001; 19.121395;,
5.908834; 1.919898; 19.121395;,
5.026354; 3.651862; 19.121395;,
3.651860; 5.026356; 19.121395;,
1.919896; 5.908835; 19.121395;,
0.000000; 0.000000; 20.105425;;

360; // Mesh ‘BouncyBall3’ contains 360 Faces
3; 2, 1, 0;,
3; 3, 2, 0;,
3; 4, 3, 0;,
3; 5, 4, 0;,
3; 6, 5, 0;,
3; 7, 6, 0;,
3; 8, 7, 0;,
3; 9, 8, 0;,
3; 10, 9, 0;,
3; 11, 10, 0;,
3; 12, 11, 0;,
3; 13, 12, 0;,
3; 14, 13, 0;,
3; 15, 14, 0;,
3; 16, 15, 0;,
3; 17, 16, 0;,
3; 18, 17, 0;,
3; 19, 18, 0;,
3; 20, 19, 0;,
3; 1, 20, 0;,
3; 22, 21, 1;,
3; 2, 22, 1;,
3; 23, 22, 2;,
3; 3, 23, 2;,
3; 24, 23, 3;,
3; 4, 24, 3;,
3; 25, 24, 4;,
3; 5, 25, 4;,
3; 26, 25, 5;,
3; 6, 26, 5;,
3; 27, 26, 6;,
3; 7, 27, 6;,
3; 28, 27, 7;,
3; 8, 28, 7;,
3; 29, 28, 8;,
3; 9, 29, 8;,
3; 30, 29, 9;,
3; 10, 30, 9;,
3; 31, 30, 10;,
3; 11, 31, 10;,
3; 32, 31, 11;,
3; 12, 32, 11;,
3; 33, 32, 12;,
3; 13, 33, 12;,
3; 34, 33, 13;,
3; 14, 34, 13;,
3; 35, 34, 14;,
3; 15, 35, 14;,
3; 36, 35, 15;,
3; 16, 36, 15;,
3; 37, 36, 16;,
3; 17, 37, 16;,
3; 38, 37, 17;,
3; 18, 38, 17;,
3; 39, 38, 18;,
3; 19, 39, 18;,
3; 40, 39, 19;,
3; 20, 40, 19;,
3; 21, 40, 20;,
3; 1, 21, 20;,
3; 42, 41, 21;,
3; 22, 42, 21;,
3; 43, 42, 22;,
3; 23, 43, 22;,
3; 44, 43, 23;,
3; 24, 44, 23;,
3; 45, 44, 24;,
3; 25, 45, 24;,
3; 46, 45, 25;,
3; 26, 46, 25;,
3; 47, 46, 26;,
3; 27, 47, 26;,
3; 48, 47, 27;,
3; 28, 48, 27;,
3; 49, 48, 28;,
3; 29, 49, 28;,
3; 50, 49, 29;,
3; 30, 50, 29;,
3; 51, 50, 30;,
3; 31, 51, 30;,
3; 52, 51, 31;,
3; 32, 52, 31;,
3; 53, 52, 32;,
3; 33, 53, 32;,
3; 54, 53, 33;,
3; 34, 54, 33;,
3; 55, 54, 34;,
3; 35, 55, 34;,
3; 56, 55, 35;,
3; 36, 56, 35;,
3; 57, 56, 36;,
3; 37, 57, 36;,
3; 58, 57, 37;,
3; 38, 58, 37;,
3; 59, 58, 38;,
3; 39, 59, 38;,
3; 60, 59, 39;,
3; 40, 60, 39;,
3; 41, 60, 40;,
3; 21, 41, 40;,
3; 62, 61, 41;,
3; 42, 62, 41;,
3; 63, 62, 42;,
3; 43, 63, 42;,
3; 64, 63, 43;,
3; 44, 64, 43;,
3; 65, 64, 44;,
3; 45, 65, 44;,
3; 66, 65, 45;,
3; 46, 66, 45;,
3; 67, 66, 46;,
3; 47, 67, 46;,
3; 68, 67, 47;,
3; 48, 68, 47;,
3; 69, 68, 48;,
3; 49, 69, 48;,
3; 70, 69, 49;,
3; 50, 70, 49;,
3; 71, 70, 50;,
3; 51, 71, 50;,
3; 72, 71, 51;,
3; 52, 72, 51;,
3; 73, 72, 52;,
3; 53, 73, 52;,
3; 74, 73, 53;,
3; 54, 74, 53;,
3; 75, 74, 54;,
3; 55, 75, 54;,
3; 76, 75, 55;,
3; 56, 76, 55;,
3; 77, 76, 56;,
3; 57, 77, 56;,
3; 78, 77, 57;,
3; 58, 78, 57;,
3; 79, 78, 58;,
3; 59, 79, 58;,
3; 80, 79, 59;,
3; 60, 80, 59;,
3; 61, 80, 60;,
3; 41, 61, 60;,
3; 82, 81, 61;,
3; 62, 82, 61;,
3; 83, 82, 62;,
3; 63, 83, 62;,
3; 84, 83, 63;,
3; 64, 84, 63;,
3; 85, 84, 64;,
3; 65, 85, 64;,
3; 86, 85, 65;,
3; 66, 86, 65;,
3; 87, 86, 66;,
3; 67, 87, 66;,
3; 88, 87, 67;,
3; 68, 88, 67;,
3; 89, 88, 68;,
3; 69, 89, 68;,
3; 90, 89, 69;,

3; 70, 90, 69;,
3; 91, 90, 70;,
3; 71, 91, 70;,
3; 92, 91, 71;,
3; 72, 92, 71;,
3; 93, 92, 72;,
3; 73, 93, 72;,
3; 94, 93, 73;,
3; 74, 94, 73;,
3; 95, 94, 74;,
3; 75, 95, 74;,
3; 96, 95, 75;,
3; 76, 96, 75;,
3; 97, 96, 76;,
3; 77, 97, 76;,
3; 98, 97, 77;,
3; 78, 98, 77;,
3; 99, 98, 78;,
3; 79, 99, 78;,
3; 100, 99, 79;,
3; 80, 100, 79;,
3; 81, 100, 80;,
3; 61, 81, 80;,
3; 102, 101, 81;,
3; 82, 102, 81;,
3; 103, 102, 82;,
3; 83, 103, 82;,
3; 104, 103, 83;,
3; 84, 104, 83;,
3; 105, 104, 84;,
3; 85, 105, 84;,
3; 106, 105, 85;,
3; 86, 106, 85;,
3; 107, 106, 86;,
3; 87, 107, 86;,
3; 108, 107, 87;,
3; 88, 108, 87;,
3; 109, 108, 88;,
3; 89, 109, 88;,
3; 110, 109, 89;,
3; 90, 110, 89;,
3; 111, 110, 90;,
3; 91, 111, 90;,
3; 112, 111, 91;,
3; 92, 112, 91;,
3; 113, 112, 92;,
3; 93, 113, 92;,
3; 114, 113, 93;,
3; 94, 114, 93;,
3; 115, 114, 94;,
3; 95, 115, 94;,
3; 116, 115, 95;,
3; 96, 116, 95;,
3; 117, 116, 96;,
3; 97, 117, 96;,
3; 118, 117, 97;,
3; 98, 118, 97;,
3; 119, 118, 98;,
3; 99, 119, 98;,
3; 120, 119, 99;,
3; 100, 120, 99;,
3; 101, 120, 100;,
3; 81, 101, 100;,
3; 122, 121, 101;,
3; 102, 122, 101;,
3; 123, 122, 102;,
3; 103, 123, 102;,
3; 124, 123, 103;,
3; 104, 124, 103;,
3; 125, 124, 104;,
3; 105, 125, 104;,
3; 126, 125, 105;,
3; 106, 126, 105;,
3; 127, 126, 106;,
3; 107, 127, 106;,
3; 128, 127, 107;,
3; 108, 128, 107;,
3; 129, 128, 108;,
3; 109, 129, 108;,
3; 130, 129, 109;,
3; 110, 130, 109;,
3; 131, 130, 110;,
3; 111, 131, 110;,
3; 132, 131, 111;,
3; 112, 132, 111;,
3; 133, 132, 112;,
3; 113, 133, 112;,
3; 134, 133, 113;,
3; 114, 134, 113;,
3; 135, 134, 114;,
3; 115, 135, 114;,
3; 136, 135, 115;,
3; 116, 136, 115;,
3; 137, 136, 116;,
3; 117, 137, 116;,
3; 138, 137, 117;,
3; 118, 138, 117;,
3; 139, 138, 118;,
3; 119, 139, 118;,
3; 140, 139, 119;,
3; 120, 140, 119;,
3; 121, 140, 120;,
3; 101, 121, 120;,
3; 142, 141, 121;,
3; 122, 142, 121;,
3; 143, 142, 122;,
3; 123, 143, 122;,
3; 144, 143, 123;,
3; 124, 144, 123;,
3; 145, 144, 124;,
3; 125, 145, 124;,
3; 146, 145, 125;,
3; 126, 146, 125;,
3; 147, 146, 126;,
3; 127, 147, 126;,
3; 148, 147, 127;,
3; 128, 148, 127;,
3; 149, 148, 128;,
3; 129, 149, 128;,
3; 150, 149, 129;,
3; 130, 150, 129;,
3; 151, 150, 130;,
3; 131, 151, 130;,
3; 152, 151, 131;,
3; 132, 152, 131;,
3; 153, 152, 132;,
3; 133, 153, 132;,
3; 154, 153, 133;,
3; 134, 154, 133;,
3; 155, 154, 134;,
3; 135, 155, 134;,
3; 156, 155, 135;,
3; 136, 156, 135;,
3; 157, 156, 136;,
3; 137, 157, 136;,
3; 158, 157, 137;,
3; 138, 158, 137;,
3; 159, 158, 138;,
3; 139, 159, 138;,
3; 160, 159, 139;,
3; 140, 160, 139;,
3; 141, 160, 140;,
3; 121, 141, 140;,
3; 162, 161, 141;,
3; 142, 162, 141;,
3; 163, 162, 142;,
3; 143, 163, 142;,
3; 164, 163, 143;,
3; 144, 164, 143;,
3; 165, 164, 144;,
3; 145, 165, 144;,
3; 166, 165, 145;,
3; 146, 166, 145;,
3; 167, 166, 146;,
3; 147, 167, 146;,
3; 168, 167, 147;,
3; 148, 168, 147;,
3; 169, 168, 148;,
3; 149, 169, 148;,
3; 170, 169, 149;,
3; 150, 170, 149;,
3; 171, 170, 150;,
3; 151, 171, 150;,
3; 172, 171, 151;,
3; 152, 172, 151;,
3; 173, 172, 152;,
3; 153, 173, 152;,
3; 174, 173, 153;,
3; 154, 174, 153;,
3; 175, 174, 154;,
3; 155, 175, 154;,
3; 176, 175, 155;,
3; 156, 176, 155;,
3; 177, 176, 156;,
3; 157, 177, 156;,
3; 178, 177, 157;,
3; 158, 178, 157;,
3; 179, 178, 158;,
3; 159, 179, 158;,
3; 180, 179, 159;,
3; 160, 180, 159;,
3; 161, 180, 160;,
3; 141, 161, 160;,
3; 161, 162, 181;,
3; 162, 163, 181;,
3; 163, 164, 181;,
3; 164, 165, 181;,
3; 165, 166, 181;,
3; 166, 167, 181;,
3; 167, 168, 181;,
3; 168, 169, 181;,
3; 169, 170, 181;,
3; 170, 171, 181;,
3; 171, 172, 181;,
3; 172, 173, 181;,
3; 173, 174, 181;,
3; 174, 175, 181;,
3; 175, 176, 181;,
3; 176, 177, 181;,
3; 177, 178, 181;,
3; 178, 179, 181;,
3; 179, 180, 181;,
3; 180, 161, 181;;
MeshMaterialList {
1; // No Materials detected. Default Wireframe color used
360; // 360 Faces have materials specified
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0;
Material default-material-WireColorBouncyBall3 {
// Material generated from WireFrame Color attributes
0.560784; 0.878431; 0.341176; 1.000000;;
0.000000;
0.560784; 0.878431; 0.341176;;
0.000000; 0.000000; 0.000000;;
} // End Material ‘default-material-WireColorBouncyBall3’
} // End MaterialList for ‘BouncyBall3’
MeshNormals { // Mesh normals for BouncyBall3
182; // 182 vertex normals
-0.000000; 0.000000; -1.000000;,
-0.014538; 0.338775; -0.940755;,
-0.118514; 0.317702; -0.940755;,
-0.210889; 0.265530; -0.940755;,
-0.282620; 0.187365; -0.940755;,
-0.326687; 0.090861; -0.940755;,
-0.338775; -0.014538; -0.940755;,
-0.317702; -0.118514; -0.940755;,
-0.265530; -0.210889; -0.940755;,
-0.187365; -0.282620; -0.940755;,
-0.090861; -0.326687; -0.940755;,
0.014538; -0.338775; -0.940755;,
0.118514; -0.317702; -0.940755;,
0.210889; -0.265530; -0.940755;,
0.282620; -0.187365; -0.940755;,
0.326687; -0.090861; -0.940755;,
0.338775; 0.014538; -0.940755;,
0.317702; 0.118514; -0.940755;,
0.265530; 0.210889; -0.940755;,
0.187365; 0.282620; -0.940755;,
0.090861; 0.326687; -0.940755;,
-0.006708; 0.587538; -0.809169;,
-0.187939; 0.556709; -0.809169;,
-0.350773; 0.471385; -0.809169;,
-0.479271; 0.339919; -0.809169;,
-0.560855; 0.175179; -0.809169;,
-0.587538; -0.006708; -0.809169;,
-0.556709; -0.187939; -0.809169;,
-0.471385; -0.350773; -0.809169;,
-0.339919; -0.479271; -0.809169;,
-0.175179; -0.560855; -0.809169;,
0.006708; -0.587538; -0.809169;,
0.187939; -0.556709; -0.809169;,
0.350773; -0.471385; -0.809169;,
0.479271; -0.339919; -0.809169;,
0.560855; -0.175179; -0.809169;,
0.587538; 0.006708; -0.809169;,
0.556709; 0.187939; -0.809169;,
0.471385; 0.350773; -0.809169;,
0.339919; 0.479271; -0.809169;,
0.175179; 0.560855; -0.809169;,
-0.004837; 0.808839; -0.588011;,
-0.254546; 0.767756; -0.588011;,
-0.479337; 0.651521; -0.588011;,
-0.657208; 0.471510; -0.588011;,
-0.770746; 0.245344; -0.588011;,
-0.808839; -0.004838; -0.588011;,
-0.767756; -0.254546; -0.588011;,
-0.651521; -0.479337; -0.588011;,
-0.471510; -0.657208; -0.588011;,
-0.245344; -0.770746; -0.588011;,
0.004838; -0.808839; -0.588011;,
0.254546; -0.767756; -0.588011;,
0.479337; -0.651521; -0.588011;,
0.657208; -0.471510; -0.588011;,
0.770746; -0.245344; -0.588011;,
0.808839; 0.004838; -0.588011;,
0.767756; 0.254546; -0.588011;,
0.651521; 0.479337; -0.588011;,
0.471510; 0.657208; -0.588011;,
0.245344; 0.770746; -0.588011;,
-0.002528; 0.950999; -0.309184;,
-0.296279; 0.903673; -0.309184;,
-0.561028; 0.767888; -0.309184;,
-0.770860; 0.556938; -0.309184;,
-0.905235; 0.291471; -0.309184;,
-0.950999; -0.002528; -0.309184;,
-0.903673; -0.296279; -0.309184;,
-0.767888; -0.561028; -0.309184;,
-0.556938; -0.770860; -0.309184;,
-0.291470; -0.905235; -0.309184;,
0.002528; -0.950999; -0.309184;,
0.296279; -0.903672; -0.309184;,
0.561028; -0.767888; -0.309184;,
0.770860; -0.556938; -0.309184;,
0.905235; -0.291470; -0.309184;,
0.950999; 0.002528; -0.309184;,
0.903672; 0.296279; -0.309184;,
0.767888; 0.561028; -0.309184;,
0.556938; 0.770860; -0.309184;,
0.291470; 0.905235; -0.309184;,
-0.000000; 1.000000; -0.000000;,
-0.309017; 0.951056; -0.000000;,
-0.587785; 0.809017; 0.000000;,
-0.809017; 0.587785; -0.000000;,
-0.951057; 0.309017; 0.000000;,
-1.000000; 0.000000; 0.000000;,
-0.951056; -0.309017; 0.000000;,
-0.809017; -0.587785; 0.000000;,
-0.587785; -0.809017; 0.000000;,
-0.309017; -0.951057; -0.000000;,
0.000000; -1.000000; 0.000000;,
0.309017; -0.951056; 0.000000;,
0.587785; -0.809017; -0.000000;,
0.809017; -0.587785; 0.000000;,
0.951057; -0.309017; 0.000000;,
1.000000; 0.000000; 0.000000;,
0.951056; 0.309017; 0.000000;,
0.809017; 0.587785; -0.000000;,
0.587785; 0.809017; 0.000000;,
0.309017; 0.951057; 0.000000;,
0.002528; 0.950999; 0.309184;,
-0.291471; 0.905235; 0.309184;,
-0.556938; 0.770860; 0.309184;,
-0.767888; 0.561028; 0.309184;,
-0.903673; 0.296279; 0.309184;,
-0.950999; 0.002528; 0.309184;,
-0.905235; -0.291471; 0.309184;,
-0.770860; -0.556938; 0.309184;,
-0.561028; -0.767888; 0.309184;,
-0.296279; -0.903673; 0.309184;,
-0.002528; -0.950999; 0.309184;,
0.291471; -0.905235; 0.309184;,
0.556938; -0.770860; 0.309184;,
0.767888; -0.561028; 0.309184;,
0.903673; -0.296279; 0.309184;,
0.950999; -0.002528; 0.309184;,
0.905235; 0.291471; 0.309184;,
0.770860; 0.556938; 0.309184;,
0.561028; 0.767888; 0.309184;,
0.296279; 0.903673; 0.309184;,
0.004837; 0.808839; 0.588011;,
-0.245344; 0.770746; 0.588011;,
-0.471510; 0.657207; 0.588011;,
-0.651521; 0.479337; 0.588011;,
-0.767756; 0.254545; 0.588011;,
-0.808839; 0.004837; 0.588011;,
-0.770746; -0.245344; 0.588011;,
-0.657207; -0.471510; 0.588011;,
-0.479337; -0.651521; 0.588011;,
-0.254545; -0.767756; 0.588011;,
-0.004837; -0.808839; 0.588011;,
0.245344; -0.770746; 0.588011;,
0.471510; -0.657207; 0.588011;,
0.651521; -0.479337; 0.588011;,
0.767756; -0.254545; 0.588011;,
0.808839; -0.004837; 0.588011;,
0.770746; 0.245344; 0.588011;,
0.657207; 0.471510; 0.588011;,
0.479337; 0.651521; 0.588011;,
0.254545; 0.767756; 0.588011;,
0.006708; 0.587538; 0.809169;,
-0.175179; 0.560855; 0.809169;,
-0.339919; 0.479271; 0.809169;,
-0.471385; 0.350773; 0.809169;,
-0.556709; 0.187939; 0.809169;,
-0.587538; 0.006708; 0.809169;,
-0.560855; -0.175180; 0.809169;,
-0.479271; -0.339919; 0.809169;,
-0.350773; -0.471385; 0.809169;,
-0.187939; -0.556709; 0.809169;,
-0.006708; -0.587538; 0.809169;,
0.175180; -0.560855; 0.809169;,
0.339919; -0.479271; 0.809169;,
0.471385; -0.350773; 0.809169;,
0.556709; -0.187939; 0.809169;,
0.587538; -0.006708; 0.809169;,
0.560855; 0.175180; 0.809169;,
0.479271; 0.339919; 0.809169;,
0.350773; 0.471385; 0.809169;,
0.187939; 0.556709; 0.809169;,
0.014538; 0.338775; 0.940755;,
-0.090861; 0.326687; 0.940755;,
-0.187365; 0.282620; 0.940755;,
-0.265530; 0.210889; 0.940755;,
-0.317702; 0.118514; 0.940755;,
-0.338775; 0.014538; 0.940755;,
-0.326687; -0.090861; 0.940755;,
-0.282620; -0.187365; 0.940755;,
-0.210889; -0.265530; 0.940755;,
-0.118514; -0.317702; 0.940755;,
-0.014538; -0.338775; 0.940755;,
0.090861; -0.326687; 0.940755;,
0.187365; -0.282620; 0.940755;,
0.265530; -0.210889; 0.940755;,
0.317702; -0.118514; 0.940755;,
0.338775; -0.014538; 0.940755;,
0.326687; 0.090861; 0.940755;,
0.282620; 0.187365; 0.940755;,
0.210889; 0.265530; 0.940755;,
0.118514; 0.317702; 0.940755;,
-0.000000; 0.000000; 1.000000;;
360; // 360 faces with normals
3; 2, 1, 0;,
3; 3, 2, 0;,
3; 4, 3, 0;,
3; 5, 4, 0;,
3; 6, 5, 0;,
3; 7, 6, 0;,
3; 8, 7, 0;,
3; 9, 8, 0;,
3; 10, 9, 0;,
3; 11, 10, 0;,
3; 12, 11, 0;,
3; 13, 12, 0;,
3; 14, 13, 0;,
3; 15, 14, 0;,
3; 16, 15, 0;,
3; 17, 16, 0;,
3; 18, 17, 0;,
3; 19, 18, 0;,
3; 20, 19, 0;,
3; 1, 20, 0;,
3; 22, 21, 1;,
3; 2, 22, 1;,
3; 23, 22, 2;,
3; 3, 23, 2;,
3; 24, 23, 3;,
3; 4, 24, 3;,
3; 25, 24, 4;,
3; 5, 25, 4;,
3; 26, 25, 5;,
3; 6, 26, 5;,
3; 27, 26, 6;,
3; 7, 27, 6;,
3; 28, 27, 7;,
3; 8, 28, 7;,
3; 29, 28, 8;,
3; 9, 29, 8;,
3; 30, 29, 9;,
3; 10, 30, 9;,
3; 31, 30, 10;,
3; 11, 31, 10;,
3; 32, 31, 11;,
3; 12, 32, 11;,
3; 33, 32, 12;,
3; 13, 33, 12;,
3; 34, 33, 13;,
3; 14, 34, 13;,
3; 35, 34, 14;,
3; 15, 35, 14;,
3; 36, 35, 15;,
3; 16, 36, 15;,
3; 37, 36, 16;,
3; 17, 37, 16;,
3; 38, 37, 17;,
3; 18, 38, 17;,
3; 39, 38, 18;,
3; 19, 39, 18;,
3; 40, 39, 19;,
3; 20, 40, 19;,
3; 21, 40, 20;,
3; 1, 21, 20;,
3; 42, 41, 21;,
3; 22, 42, 21;,
3; 43, 42, 22;,
3; 23, 43, 22;,
3; 44, 43, 23;,
3; 24, 44, 23;,
3; 45, 44, 24;,
3; 25, 45, 24;,
3; 46, 45, 25;,
3; 26, 46, 25;,
3; 47, 46, 26;,
3; 27, 47, 26;,
3; 48, 47, 27;,
3; 28, 48, 27;,
3; 49, 48, 28;,
3; 29, 49, 28;,
3; 50, 49, 29;,
3; 30, 50, 29;,
3; 51, 50, 30;,
3; 31, 51, 30;,
3; 52, 51, 31;,
3; 32, 52, 31;,
3; 53, 52, 32;,
3; 33, 53, 32;,
3; 54, 53, 33;,
3; 34, 54, 33;,
3; 55, 54, 34;,
3; 35, 55, 34;,
3; 56, 55, 35;,
3; 36, 56, 35;,
3; 57, 56, 36;,
3; 37, 57, 36;,
3; 58, 57, 37;,
3; 38, 58, 37;,
3; 59, 58, 38;,
3; 39, 59, 38;,
3; 60, 59, 39;,
3; 40, 60, 39;,
3; 41, 60, 40;,
3; 21, 41, 40;,
3; 62, 61, 41;,
3; 42, 62, 41;,
3; 63, 62, 42;,
3; 43, 63, 42;,
3; 64, 63, 43;,
3; 44, 64, 43;,
3; 65, 64, 44;,
3; 45, 65, 44;,
3; 66, 65, 45;,
3; 46, 66, 45;,
3; 67, 66, 46;,
3; 47, 67, 46;,
3; 68, 67, 47;,
3; 48, 68, 47;,
3; 69, 68, 48;,
3; 49, 69, 48;,
3; 70, 69, 49;,
3; 50, 70, 49;,
3; 71, 70, 50;,
3; 51, 71, 50;,
3; 72, 71, 51;,
3; 52, 72, 51;,
3; 73, 72, 52;,
3; 53, 73, 52;,
3; 74, 73, 53;,
3; 54, 74, 53;,
3; 75, 74, 54;,
3; 55, 75, 54;,
3; 76, 75, 55;,
3; 56, 76, 55;,
3; 77, 76, 56;,
3; 57, 77, 56;,
3; 78, 77, 57;,
3; 58, 78, 57;,
3; 79, 78, 58;,
3; 59, 79, 58;,
3; 80, 79, 59;,
3; 60, 80, 59;,
3; 61, 80, 60;,
3; 41, 61, 60;,
3; 82, 81, 61;,
3; 62, 82, 61;,
3; 83, 82, 62;,
3; 63, 83, 62;,
3; 84, 83, 63;,
3; 64, 84, 63;,
3; 85, 84, 64;,
3; 65, 85, 64;,
3; 86, 85, 65;,
3; 66, 86, 65;,
3; 87, 86, 66;,
3; 67, 87, 66;,
3; 88, 87, 67;,
3; 68, 88, 67;,
3; 89, 88, 68;,
3; 69, 89, 68;,
3; 90, 89, 69;,
3; 70, 90, 69;,
3; 91, 90, 70;,
3; 71, 91, 70;,
3; 92, 91, 71;,
3; 72, 92, 71;,
3; 93, 92, 72;,
3; 73, 93, 72;,
3; 94, 93, 73;,
3; 74, 94, 73;,
3; 95, 94, 74;,
3; 75, 95, 74;,
3; 96, 95, 75;,
3; 76, 96, 75;,
3; 97, 96, 76;,
3; 77, 97, 76;,
3; 98, 97, 77;,
3; 78, 98, 77;,
3; 99, 98, 78;,
3; 79, 99, 78;,
3; 100, 99, 79;,
3; 80, 100, 79;,
3; 81, 100, 80;,
3; 61, 81, 80;,
3; 102, 101, 81;,
3; 82, 102, 81;,
3; 103, 102, 82;,
3; 83, 103, 82;,
3; 104, 103, 83;,
3; 84, 104, 83;,
3; 105, 104, 84;,
3; 85, 105, 84;,
3; 106, 105, 85;,
3; 86, 106, 85;,
3; 107, 106, 86;,
3; 87, 107, 86;,
3; 108, 107, 87;,
3; 88, 108, 87;,
3; 109, 108, 88;,
3; 89, 109, 88;,
3; 110, 109, 89;,
3; 90, 110, 89;,
3; 111, 110, 90;,
3; 91, 111, 90;,
3; 112, 111, 91;,
3; 92, 112, 91;,
3; 113, 112, 92;,
3; 93, 113, 92;,
3; 114, 113, 93;,
3; 94, 114, 93;,
3; 115, 114, 94;,
3; 95, 115, 94;,
3; 116, 115, 95;,
3; 96, 116, 95;,
3; 117, 116, 96;,
3; 97, 117, 96;,
3; 118, 117, 97;,
3; 98, 118, 97;,
3; 119, 118, 98;,
3; 99, 119, 98;,
3; 120, 119, 99;,
3; 100, 120, 99;,
3; 101, 120, 100;,
3; 81, 101, 100;,
3; 122, 121, 101;,
3; 102, 122, 101;,
3; 123, 122, 102;,
3; 103, 123, 102;,
3; 124, 123, 103;,
3; 104, 124, 103;,
3; 125, 124, 104;,
3; 105, 125, 104;,
3; 126, 125, 105;,
3; 106, 126, 105;,
3; 127, 126, 106;,
3; 107, 127, 106;,
3; 128, 127, 107;,
3; 108, 128, 107;,
3; 129, 128, 108;,
3; 109, 129, 108;,
3; 130, 129, 109;,
3; 110, 130, 109;,
3; 131, 130, 110;,
3; 111, 131, 110;,
3; 132, 131, 111;,
3; 112, 132, 111;,
3; 133, 132, 112;,
3; 113, 133, 112;,
3; 134, 133, 113;,
3; 114, 134, 113;,
3; 135, 134, 114;,
3; 115, 135, 114;,
3; 136, 135, 115;,
3; 116, 136, 115;,
3; 137, 136, 116;,
3; 117, 137, 116;,
3; 138, 137, 117;,
3; 118, 138, 117;,
3; 139, 138, 118;,
3; 119, 139, 118;,
3; 140, 139, 119;,
3; 120, 140, 119;,
3; 121, 140, 120;,
3; 101, 121, 120;,
3; 142, 141, 121;,
3; 122, 142, 121;,
3; 143, 142, 122;,
3; 123, 143, 122;,
3; 144, 143, 123;,
3; 124, 144, 123;,
3; 145, 144, 124;,
3; 125, 145, 124;,
3; 146, 145, 125;,
3; 126, 146, 125;,
3; 147, 146, 126;,
3; 127, 147, 126;,
3; 148, 147, 127;,
3; 128, 148, 127;,
3; 149, 148, 128;,
3; 129, 149, 128;,
3; 150, 149, 129;,
3; 130, 150, 129;,
3; 151, 150, 130;,
3; 131, 151, 130;,
3; 152, 151, 131;,
3; 132, 152, 131;,
3; 153, 152, 132;,
3; 133, 153, 132;,
3; 154, 153, 133;,
3; 134, 154, 133;,
3; 155, 154, 134;,
3; 135, 155, 134;,
3; 156, 155, 135;,
3; 136, 156, 135;,
3; 157, 156, 136;,
3; 137, 157, 136;,
3; 158, 157, 137;,
3; 138, 158, 137;,
3; 159, 158, 138;,
3; 139, 159, 138;,
3; 160, 159, 139;,
3; 140, 160, 139;,
3; 141, 160, 140;,
3; 121, 141, 140;,
3; 162, 161, 141;,
3; 142, 162, 141;,
3; 163, 162, 142;,
3; 143, 163, 142;,
3; 164, 163, 143;,
3; 144, 164, 143;,
3; 165, 164, 144;,
3; 145, 165, 144;,
3; 166, 165, 145;,
3; 146, 166, 145;,
3; 167, 166, 146;,
3; 147, 167, 146;,
3; 168, 167, 147;,
3; 148, 168, 147;,
3; 169, 168, 148;,
3; 149, 169, 148;,
3; 170, 169, 149;,
3; 150, 170, 149;,
3; 171, 170, 150;,
3; 151, 171, 150;,
3; 172, 171, 151;,
3; 152, 172, 151;,
3; 173, 172, 152;,
3; 153, 173, 152;,
3; 174, 173, 153;,
3; 154, 174, 153;,
3; 175, 174, 154;,
3; 155, 175, 154;,
3; 176, 175, 155;,
3; 156, 176, 155;,
3; 177, 176, 156;,
3; 157, 177, 156;,
3; 178, 177, 157;,
3; 158, 178, 157;,
3; 179, 178, 158;,
3; 159, 179, 158;,
3; 180, 179, 159;,
3; 160, 180, 159;,
3; 161, 180, 160;,
3; 141, 161, 160;,
3; 161, 162, 181;,
3; 162, 163, 181;,
3; 163, 164, 181;,
3; 164, 165, 181;,
3; 165, 166, 181;,
3; 166, 167, 181;,
3; 167, 168, 181;,
3; 168, 169, 181;,
3; 169, 170, 181;,
3; 170, 171, 181;,
3; 171, 172, 181;,
3; 172, 173, 181;,
3; 173, 174, 181;,
3; 174, 175, 181;,
3; 175, 176, 181;,
3; 176, 177, 181;,
3; 177, 178, 181;,
3; 178, 179, 181;,
3; 179, 180, 181;,
3; 180, 161, 181;;
} // End Mesh normals for BouncyBall3
} // End of Mesh ‘BouncyBall3’
} // End of frame frm-BouncyBall3

} // End of RotateAroundX frame

} // End of frm-MasterUnitConversion frame

} // End of frm-MasterScale frame

AnimationSet { // Collection of Animations
Animation anim-BouncyBall3 {
{frm-BouncyBall3} // Frame to Animate
AnimationKey {
2; // AnimationType Position
91; // Number of keyframe records
0; 3; 0.342891; -0.000174; 0.000000;;,
1; 3; 0.342891; 0.694271; -4.722222;;,
2; 3; 0.342891; 1.110937; -8.888889;;,
3; 3; 0.342891; 1.249826; -12.500000;;,
4; 3; 0.342891; 1.110937; -15.555556;;,
5; 3; 0.342891; 0.694270; -18.055555;;,
6; 3; 0.342891; -0.000175; -20.000000;;,
7; 3; 0.342891; -1.203878; -21.388889;;,
8; 3; 0.342891; -2.963138; -22.222223;;,
9; 3; 0.342891; -5.000175; -22.500000;;,
10; 3; 0.342891; -7.037212; -22.222221;;,
11; 3; 0.342891; -8.796471; -21.388889;;,
12; 3; 0.342891; -10.000175; -20.000000;;,
13; 3; 0.342891; -10.578878; -17.361111;;,
14; 3; 0.342891; -10.740915; -13.333333;;,
15; 3; 0.342891; -10.625174; -8.750000;;,
16; 3; 0.342891; -10.370544; -4.444444;;,
17; 3; 0.342891; -10.115914; -1.250000;;,
18; 3; 0.342891; -10.000174; 0.000000;;,
19; 3; 0.342891; -9.884433; -1.250000;;,
20; 3; 0.342891; -9.629804; -4.444445;;,
21; 3; 0.342891; -9.375174; -8.750000;;,
22; 3; 0.342891; -9.259434; -13.333334;;,
23; 3; 0.342891; -9.421471; -17.361111;;,
24; 3; 0.342891; -10.000175; -20.000000;;,
25; 3; 0.342891; -11.203878; -21.388889;;,
26; 3; 0.342891; -12.963138; -22.222223;;,
27; 3; 0.342891; -15.000175; -22.500000;;,
28; 3; 0.342891; -17.037212; -22.222221;;,
29; 3; 0.342891; -18.796471; -21.388889;;,
30; 3; 0.342890; -20.000175; -20.000000;;,
31; 3; 0.342890; -20.578878; -17.361111;;,
32; 3; 0.342890; -20.740917; -13.333333;;,
33; 3; 0.342890; -20.625175; -8.750000;;,
34; 3; 0.342890; -20.370546; -4.444444;;,
35; 3; 0.342890; -20.115917; -1.250000;;,
36; 3; 0.342890; -20.000175; 0.000000;;,
37; 3; 0.342890; -19.884436; -1.250000;;,
38; 3; 0.342891; -19.629805; -4.444445;;,
39; 3; 0.342891; -19.375175; -8.750000;;,
40; 3; 0.342891; -19.259434; -13.333334;;,
41; 3; 0.342891; -19.421473; -17.361111;;,
42; 3; 0.342890; -20.000175; -20.000000;;,
43; 3; 0.342890; -21.203878; -21.388889;;,
44; 3; 0.342890; -22.963139; -22.222223;;,
45; 3; 0.342890; -25.000175; -22.500000;;,
46; 3; 0.342890; -27.037212; -22.222221;;,
47; 3; 0.342890; -28.796471; -21.388889;;,
48; 3; 0.342890; -30.000175; -20.000000;;,
49; 3; 0.342890; -30.578878; -17.361111;;,
50; 3; 0.342890; -30.740917; -13.333333;;,
51; 3; 0.342890; -30.625175; -8.750000;;,
52; 3; 0.342890; -30.370546; -4.444444;;,
53; 3; 0.342890; -30.115915; -1.250000;;,
54; 3; 0.342890; -30.000175; 0.000000;;,
55; 3; 0.342890; -29.884436; -1.250000;;,
56; 3; 0.342890; -29.629805; -4.444445;;,
57; 3; 0.342890; -29.375175; -8.750000;;,
58; 3; 0.342890; -29.259434; -13.333334;;,
59; 3; 0.342890; -29.421473; -17.361111;;,
60; 3; 0.342890; -30.000175; -20.000000;;,
61; 3; 0.342890; -31.203878; -21.388889;;,
62; 3; 0.342890; -32.963139; -22.222223;;,
63; 3; 0.342890; -35.000175; -22.500000;;,
64; 3; 0.342890; -37.037212; -22.222221;;,
65; 3; 0.342890; -38.796471; -21.388889;;,
66; 3; 0.342890; -40.000175; -20.000000;;,
67; 3; 0.342890; -40.578880; -17.361111;;,
68; 3; 0.342890; -40.740917; -13.333333;;,
69; 3; 0.342890; -40.625175; -8.750000;;,
70; 3; 0.342890; -40.370544; -4.444444;;,
71; 3; 0.342890; -40.115917; -1.250000;;,
72; 3; 0.342890; -40.000175; 0.000000;;,
73; 3; 0.342890; -39.884434; -1.250000;;,
74; 3; 0.342890; -39.629807; -4.444445;;,
75; 3; 0.342890; -39.375175; -8.750000;;,
76; 3; 0.342890; -39.259434; -13.333334;;,
77; 3; 0.342890; -39.421471; -17.361111;;,
78; 3; 0.342890; -40.000175; -20.000000;;,
79; 3; 0.342890; -41.203880; -21.388889;;,
80; 3; 0.342889; -42.963139; -22.222223;;,
81; 3; 0.342889; -45.000175; -22.500000;;,
82; 3; 0.342889; -47.037212; -22.222221;;,
83; 3; 0.342889; -48.796471; -21.388889;;,
84; 3; 0.342889; -50.000175; -20.000000;;,
85; 3; 0.342889; -50.694618; -18.055555;;,
86; 3; 0.342889; -51.111286; -15.555555;;,
87; 3; 0.342889; -51.250175; -12.500000;;,
88; 3; 0.342889; -51.111286; -8.888888;;,
89; 3; 0.342889; -50.694618; -4.722223;;,
90; 3; 0.342889; -50.000175; 0.000000;;;
} // End AnimationKey
} // End of animation ‘anim-BouncyBall3’
} // End of AnimationSet.


As you can see, the file contains an animation set :smiley:. Now, here is my Panda script:

Step 1: DirectStart contains the main Panda3D modules. Importing it

initializes Panda and creates the window. The run() command causes the

real-time simulation to begin

import direct.directbase.DirectStart
from pandac.PandaModules import *
from direct.actor import Actor #Define Actor
from direct.interval.IntervalGlobal import *
from direct.gui.DirectGui import *
import sys
import math

base.disableMouse() #Disable mouse-based camera-control.
base.setBackgroundColor(0, 0, 0) #Make the background color black.
camera.setPos(0, -60, 0) #Position the camera.

#Load the actor, and loop its animation.

MyActor = Actor.Actor(“models/BouncyBall3”, {“anim”:“models/BouncyBall3”})
MyActor.reparentTo(render)#Make it display in the scene
MyActor.setScale(0.50,0.50,0.50)
MyActor.loop(“anim”)#Play its animation

run()


I even tried putting:

MyActor = Actor.Actor(“models/BouncyBall3”, {“anim”:“models/anim-BouncyBall3”})

Because it looked like that’s what the .X file called the animation set, but that didn’t work either :cry:.

I honestly don’t know what to try next. I feel like I’m really, really close here, just missing one small piece of the puzzle. Anybody here have any ideas?

Cheers

Ok, got it! There appears to be a bug in Panda’s X file parser, in that it does not correctly handle hyphen characters as part of the joint names. I have just fixed this bug and the fix will be released with a future version of panda, but in the meantime you can work around the bug by hand-editing your X file and replacing “frm-” with “frm_”.

David

EUREKA!!! We’ve done it!! You brilliant man David, I could kiss you :smiley:. Words cannot express how happy I am.

I’ve been struggling with this darn thing for a week now, but I’m so glad that I persevered with it and kept pestering you all. I’m quite sure you’re all sick to death of me :laughing:.

Well it’s official folks, we can now use gmax to create our models :I’m doing backflips of joy :laughing:.

However, at the moment it’s a real pain having to edit the .X file, but at least it works.

I guess the rest is up to you now David. Poor chap, you have to fix Panda’s .X importer to accept the ‘TextureFileName’ (wrong case) and make it accept the 3DSMax .X file exporters extra curly brace (so we can use models downloaded from other sites) and now, last but not least, fix it so that Panda will accept the silly hyphen (frm-).

Sorry for the extra work I’ve made for you, but at least you don’t have to write a new exporter for gmax itself (which I think is not allowed anyway).

Thanks for everything :smiley:.

Cheers

For the hyphen stuff, meanwhile panda importer get corrected, it’s easy to write a python script that replace fm-fgdfgdfd by fm_fgdgdg.

I use such a script to convert from poser bvh to milshape bvh…
(milshape don’t like spacces in bone name neither hyphen)

Hey, do you mind sharing that script once it’s developed??