游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1245|回复: 0

我的模型格式

[复制链接]

362

主题

3023

帖子

3553

积分

论坛元老

Rank: 8Rank: 8

积分
3553
发表于 2008-6-25 22:22:00 | 显示全部楼层 |阅读模式
顺序我已经打乱了。
同时支持Morphing和Skinned "网格"(为了避免混淆,我这里叫做“Subset”)

#pragma pack(push,1)
typedef struct _MODELFILE_HEADER
{
        AnimFile[XX];
        BoneNum;
        BoneStart;
        FileSize;
        ID[4];                // "INST"
        Name[XX];
        ShaderFile[XX];
        SkinFile[XX];
        SID[4];                // ".MDL"
        SubsetNum;
        SubsetStart;
        TagNum;
        TagStart;
        Version;
}MODELFILE_HEADER;

typedef struct _MODELFILE_SUBSET
{
        ColorNum;
        HasIndex;
        HasNormal;       
        HasUV;
        IndexNum;
        IndexStart;
        Name[XX];
        Bone;
        KeyFrameNum; // morphg only
        Type;        // 0-Skined, 1-Morphing, other-illegal
        VertexNum;
        VertexStart;       
        VertexStartEx;
}MODELFILE_SUBSET;

typedef struct _MODELFILE_POS
{
        x,y,z;
}MODELFILE_POS;

typedef struct _MODELFILE_WEIGHT
{
        weight1,weight2;
        bone1,bone2; // 骨骼号码是模型全局的!和SubSet无关!
}MODELFILE_WEIGHT;

typedef struct _MODELFILE_NORMAL
{
        nx,ny,nz;
}MODELFILE_NORMAL;

typedef struct _MODELFILE_COLOR
{
        color;
}MODELFILE_COLOR;

typedef struct _MODELSFILE_UV
{
        u,v;
}MODELFILE_UV;

typedef struct _MODELSFILE_BONE
{
        Next;
        FirstChild;
}MODELFILE_BONE;

typedef struct _MODELSFILE_TAG
{
        Name[32];
        pos;
        dir[2],front;
        bone;
}_MODELSFILE_TAG;
#pragma pack(pop)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-22 04:50

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表