Jump to content
  • Advertisement


This topic is now archived and is closed to further replies.


move vertex during animation

This topic is 5308 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi, in milkshape is there a way to change the position of the vertex(and then to change the shape) of a model, in animation mode, during the setting of the key frame, from one frame to another? In other words, it''s possible to change the shape of the model(other than the joints) from one frame to another? Thanks Kev

Share this post

Link to post
Share on other sites
No, I only know this because i'm writing my own plugin and i've seen the data structures. The mesh is stored once for each object in the scene, bones are attached to the scene not individual objects, the verticies are attached to the bones, the bones contain the animation data and only include rotation and position data.

here they are (please if this illegal of me warn me before i get in trouble)

typedef float msVec4[4];
typedef float msVec3[3];
typedef float msVec2[2];

/* msFlag */
typedef enum {
eSelected = 1, eSelected2 = 2, eHidden = 4, eDirty = 8, eAveraged = 16, eUnused = 32
} msFlag;

/* msVertex */
typedef struct msVertex
byte nFlags;
msVec3 Vertex;
float u, v;
char nBoneIndex;
} msVertex;

/* msTriangle */
typedef struct
word nFlags;
word nVertexIndices[3];
word nNormalIndices[3];
msVec3 Normal;
byte nSmoothingGroup;
} msTriangle;

/* msMesh */
typedef struct msMesh
byte nFlags;
char szName[MS_MAX_NAME];
char nMaterialIndex;

word nNumVertices;
word nNumAllocedVertices;
msVertex* pVertices;

word nNumNormals;
word nNumAllocedNormals;
msVec3* pNormals;

word nNumTriangles;
word nNumAllocedTriangles;
msTriangle* pTriangles;
} msMesh;

/* msMaterial */
typedef struct msMaterial
int nFlags;
char szName[MS_MAX_NAME];
msVec4 Ambient;
msVec4 Diffuse;
msVec4 Specular;
msVec4 Emissive;
float fShininess;
float fTransparency;
char szDiffuseTexture[MS_MAX_PATH];
char szAlphaTexture[MS_MAX_PATH];
int nName;
} msMaterial;

/* msPositionKey */
typedef struct msPositionKey
float fTime;
msVec3 Position;
} msPositionKey;

/* msRotationKey */
typedef struct msRotationKey
float fTime;
msVec3 Rotation;
} msRotationKey;

/* msBone */
typedef struct msBone
int nFlags;
char szName[MS_MAX_NAME];
char szParentName[MS_MAX_NAME];
msVec3 Position;
msVec3 Rotation;

int nNumPositionKeys;
int nNumAllocedPositionKeys;
msPositionKey* pPositionKeys;

int nNumRotationKeys;
int nNumAllocedRotationKeys;
msRotationKey* pRotationKeys;
} msBone;

/* msModel */
typedef struct msModel
int nNumMeshes;
int nNumAllocedMeshes;
msMesh* pMeshes;

int nNumMaterials;
int nNumAllocedMaterials;
msMaterial* pMaterials;

int nNumBones;
int nNumAllocedBones;
msBone* pBones;

int nFrame;
int nTotalFrames;

msVec3 Position;
msVec3 Rotation;
} msModel;

[edited by - honayboyz on January 6, 2004 4:14:07 PM]

Share this post

Link to post
Share on other sites
Thank you, and do you know if there is a program that allow to move the vertices during animation, from one frame to another?

Share this post

Link to post
Share on other sites

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!