注册 | 登录

游侠NETSHOW论坛





查看: 4989|回复: 16
打印 上一主题 下一主题

[原创] 目前為止_M1G模型結構一點小結.. 送去花貂蟬一隻 [复制链接]

帖子
1545
精华
1
积分
1283
金钱
2953
荣誉
31
人气
2
评议
0
跳转到指定楼层
楼主
发表于 2010-1-6 18:46:46 |只看该作者 |倒序浏览
RT.. 骨骼矩陣部分以往diy工具沒有的..
工具看我把MAX指令弄懂了以後能不能搞出來.. 真不行恐怕得跳槽milkshape或blender..

  1. typedef struct G1M_Header
  2. {
  3.         char signature[4];        // signature;        ANSI: _M1G
  4.         char version[4];                // version;        ANSI: 4300 (in ORZ)
  5.         DWORD dwFileSize;        // file size
  6.         DWORD dwHeaderSize;// header size; 18h
  7.         int reserv1;                        // 00-00-00-00
  8.         int nNumSec;                // number of sections
  9. } G1M_h;

  10. typedef struct secG1MFHeader
  11. {
  12.         char signature[4];        // signature;        ANSI: FM1G
  13.         char version[4];                // version;        ANSI: 1200 (in ORZ)
  14.         DWORD dwSecSize;        // section size; 90h in ORZ
  15. } G1MF_h;

  16. typedef struct secG1MSHeader
  17. {
  18.         char signature[4];        // signature;        ANSI: SM1G
  19.         char version[4];                // version;        ANSI: 2300 (in ORZ)
  20.         DWORD dwSecSize;        // section size
  21.         DWORD dwHeaderSize;// header size
  22.         int reserv1;                        // always 1
  23.         WORD nBone;                // bone number
  24.         WORD nBoneDup;        // same as nBone
  25.         int reserv2;                        // ?
  26. } G1MS_h;

  27. typedef struct segG1MSHeaderBoneID
  28. {
  29.         WORD nBoneID;
  30. } G1MS_h_BoneID;

  31. typedef struct segG1MSdata        // total 30h
  32. {
  33.         vector vScale;        // scale
  34.         int nParentID;        // parent-nodeID
  35.         quat qRot;                // rotation quaternion(x,y,z,w)
  36.         vector vPos;        // position
  37.         float fStub;                // always 1.0f
  38. } G1MS_data;

  39. typedef struct secG1MMHeader
  40. {
  41.         char signature[4];        // signature;        ANSI: MM1G
  42.         char version[4];                // version;        ANSI: 0200 (in ORZ)
  43.         DWORD dwSecSize;        // section size
  44.         int nMatrix;                        // number of matrixes
  45. } G1MM_h;

  46. typedef struct segG1MMdata        // total 40h
  47. {
  48.         Matrix4x4 mBoneTrans;
  49. } G1MM_data;

  50. typedef struct secG1MGHeader
  51. {
  52.         char signature[4];        // signature;        ANSI: GM1G
  53.         char version[4];                // version;        ANSI: 3400 (in ORZ)
  54.         DWORD dwSecSize;        // section size
  55.         char buildID[8];                // ANSI: DX9 (in PC); X360 (in 360)
  56.         vector boxMin;                // min Bounding Box
  57.         vector boxMax;                // max Bounding Box
  58.         int nSeg;                        // number of segments (typically 9)
  59. } G1MG_h;

  60. typedef struct tag00010001        // bone matrix
  61. {
  62.         DWORD dwTag;        // 00-01-00-01
  63.         DWORD dwSize        // segment size
  64.         int nData;
  65.         DWORD dwReserv1;                // 00-00-01-00
  66. } tag01_h;

  67. typedef struct tag00010001_data
  68. {
  69.         quat qRot;
  70.         vector v1;
  71.         DWORD dwReserv1;                // 00-00-01-11
  72.         vector v2;
  73.         float fReserv2;
  74.         int nReserv3;                        // 0
  75.         int nReserv4;                        // 0
  76.         int nReserv5;                        // 0
  77.         DWORD dwReserv6;                // 00-00-FF-FF
  78. } tag01_data;

  79. typedef struct tag00010002        // ?
  80. {
  81.         DWORD dwTag;        // 00-01-00-02
  82.         DWORD dwSize;        // segment size
  83.         int nData;
  84. } tag02_h;

  85. typedef struct tag00010003        // ?
  86. {
  87.         DWORD dwTag;        // 00-01-00-03
  88.         DWORD dwSize;        // segment size
  89.         int nData;
  90. } tag03_h;

  91. typedef struct tag00010004        // VertexData
  92. {
  93.         DWORD dwTag;        // 00-01-00-04
  94.         DWORD dwSize;        // segment size
  95.         int nData;
  96. } tag04_h;

  97. typedef struct tag00010004_data_h
  98. {
  99.         int nReserv1;        // 0
  100.         int nVertSize;        // 24h(without bones); 30h (with bones)
  101.         int nVert;                // number of verts
  102.         int nReserv2;        // 0
  103. } tag04_data_h;

  104. typedef struct tag00010004_data
  105. {
  106.         vector vPos;
  107.         float2 optWeight;                // not exist in w_model
  108.         byte optBoneIDa;
  109.         byte optBoneIDb;
  110.         byte optBoneIDc;
  111.         byte optBoneIDd;
  112.         vector vNorm;
  113.         DWORD dwReserv1;                // FF-FF-FF-FF
  114.         float2 fTexCoord;                // (u,v)
  115. } tag04_data;

  116. typedef struct tag00010005        // ?
  117. {
  118.         DWORD dwTag;        // 00-01-00-05
  119.         DWORD dwSize        // segment size
  120.         int nData;
  121. } tag05_h;

  122. typedef struct tag00010005_data_h
  123. {
  124.         int nReserv1;        // always 1
  125.         int nDataID;        // from 0 to [nData of tag04]-1
  126.         int nPair;                // pair of data
  127. } tag05_data_h;

  128. typedef struct tag00010005_data
  129. {
  130.         byte unk1;
  131.         byte unk2;
  132.         byte unk3;
  133.         byte unk4;
  134.         WORD unk5;
  135.         WORD unk6;
  136. } tag05_data;

  137. typedef struct tag00010006        // ?
  138. {
  139.         DWORD dwTag;        // 00-01-00-06
  140.         DWORD dwSize;        // segment size
  141.         int nData;
  142. } tag06_h;

  143. typedef struct tag00010007                // strip-VertexID
  144. {
  145.         DWORD dwTag;                        // 00-01-00-07
  146.         DWORD dwSize;                        // segment size
  147.         int nData;
  148. } tag07_h;

  149. typedef struct tag00010007_data_h
  150. {
  151.         int nVid;                // number of vertex ID
  152.         int nReserv1;        // always 16
  153.         int nReserv2;        // always 0
  154. } tag07_data_h;

  155. typedef struct tag00010007_data
  156. {
  157.         WORD VID;
  158. } tag07_data;

  159. typedef struct tag00010008        // strip-list
  160. {
  161.         DWORD dwTag;        // 00-01-00-08
  162.         DWORD dwSize;        // segment size
  163.         int nData;
  164. } tag08_h;

  165. typedef struct tag00010008_data
  166. {
  167.         DWORD dwflag;        // 35h, 3Dh
  168.         int nobjID;
  169.         int nReserv1;        // unk
  170.         int nReserv2;        // unk
  171.         int nReserv3;        // unk
  172.         int nReserv4;        // 0
  173.         int idTex;                // textureID
  174.         int idTex2;
  175.         int nReserv5;        // always 1
  176.         int nReserv6;        // always 4
  177.         int nBVertID        // begin vertID
  178.         int nUVert                // use vertex number
  179.         int nBStrip                // begin strip-vertexID
  180.         int nUstrip                // use strip-vertexID number
  181. } tag08_data;

  182. typedef struct tag00010009 // ?
  183. {
  184.         DWORD dwTag;        // 00-01-00-09
  185.         DWORD dwSize;        // segment size
  186.         int nData;
  187. } tag09_h;

  188. typedef struct secCOLLHeader        // Collision matrix (?)
  189. {
  190.         char signature[4];                // signature;        ANSI: LLOC
  191.         char version[4];                        // version;        ANSI: 2100 (in ORZ)
  192.         DWORD dwSecSize;                // section size
  193. } COLL_h;

  194. typedef struct secNUNOHeader        // attachment
  195. {
  196.         char signature[4];                // signature;        ANSI: ONUN
  197.         char version[4];                        // version;        ANSI: 4200 (in ORZ)
  198.         DWORD dwSecSize;                // section size
  199. } NUNO_h;

  200. typedef struct secEXTRHeader        // trash
  201. {
  202.         char signature[4];                // signature;        ANSI: RTXE
  203.         char version[4];                        // version;        ANSI: 0100 (in ORZ)
  204.         DWORD dwSecSize;                // section size
  205. } EXTR_h;
复制代码

[ 本帖最后由 千人斩竞争 于 2010-1-17 19:24 编辑 ]
附件: 你需要登录才可以下载或查看附件。没有帐号?注册
世に生き様を示す為

使用道具 举报

帖子
243
精华
0
积分
123
金钱
1794
荣誉
0
人气
0
评议
0
沙发
发表于 2010-1-6 18:53:05 |只看该作者
源码?? 不懂这个 斩大最好具体举例说一下

使用道具 举报

帖子
2075
精华
0
积分
1048
金钱
4279
荣誉
1
人气
3
评议
0
板凳
发表于 2010-1-6 18:55:38 |只看该作者
娘啊,这啥东西,看着一头雾水,狂派果然很疯狂!!!!!!!!!!

使用道具 举报

帖子
2082
精华
0
积分
1052
金钱
2925
荣誉
1
人气
0
评议
0
地板
发表于 2010-1-6 18:58:22 |只看该作者
我晕了~~

就光列出这几个结构体是啥子意思哦??  

使用道具 举报

帖子
1545
精华
1
积分
1283
金钱
2953
荣誉
31
人气
2
评议
0
5#
发表于 2010-1-6 19:00:04 |只看该作者
對Z大等可能有用吧..
3D結構剛學.. 發出來是看看有沒可補充的什麼的..
世に生き様を示す為

使用道具 举报

✿ 千 本 桜 ✿
游侠元勋版主
『PC游戏综合区』
游侠剑阁工作组【美工】
Koei 真・三國無双6 天下無双
冥王·哈迪斯

★★★★★★★

游侠元勋版主元老版主勋章版主勋章资深版主勋章大头像勋章白金会员勋章精华勋章活跃勋章荣誉勋章特色头衔勋章高级荣誉勋章人气勋章·初级勤劳之证剑阁工作组资深组员勋章电玩工作组荣誉勋章2013年度杰出版主勋章动漫组资深组员勋章2014年杰出版主勋章2015年杰出版主勋章

帖子
38220
精华
10
积分
39923
金钱
470434
荣誉
1812
人气
6927
评议
79
6#
发表于 2010-1-6 19:01:01 |只看该作者
斩大这个就靠你啦                     20

使用道具 举报

✿ 千 本 桜 ✿
游侠元勋版主
『PC游戏综合区』
游侠剑阁工作组【美工】
Koei 真・三國無双6 天下無双
冥王·哈迪斯

★★★★★★★

游侠元勋版主元老版主勋章版主勋章资深版主勋章大头像勋章白金会员勋章精华勋章活跃勋章荣誉勋章特色头衔勋章高级荣誉勋章人气勋章·初级勤劳之证剑阁工作组资深组员勋章电玩工作组荣誉勋章2013年度杰出版主勋章动漫组资深组员勋章2014年杰出版主勋章2015年杰出版主勋章

帖子
38220
精华
10
积分
39923
金钱
470434
荣誉
1812
人气
6927
评议
79
7#
发表于 2010-1-6 19:01:47 |只看该作者
原帖由 千人斩竞争 于 2010-1-6 19:00 发表
對Z大等可能有用吧..
3D結構剛學.. 發出來是看看有沒可補充的什麼的..


周大 上次说要过年才有空   

使用道具 举报

帖子
1545
精华
1
积分
1283
金钱
2953
荣誉
31
人气
2
评议
0
8#
发表于 2010-1-17 10:57:45 |只看该作者
小補充下順便送個模型..
世に生き様を示す為

使用道具 举报

✿ 千 本 桜 ✿
游侠元勋版主
『PC游戏综合区』
游侠剑阁工作组【美工】
Koei 真・三國無双6 天下無双
冥王·哈迪斯

★★★★★★★

游侠元勋版主元老版主勋章版主勋章资深版主勋章大头像勋章白金会员勋章精华勋章活跃勋章荣誉勋章特色头衔勋章高级荣誉勋章人气勋章·初级勤劳之证剑阁工作组资深组员勋章电玩工作组荣誉勋章2013年度杰出版主勋章动漫组资深组员勋章2014年杰出版主勋章2015年杰出版主勋章

帖子
38220
精华
10
积分
39923
金钱
470434
荣誉
1812
人气
6927
评议
79
9#
发表于 2010-1-17 11:00:33 |只看该作者
原帖由 千人斩竞争 于 2010-1-17 10:57 发表
小補充下順便送個模型..


还是手工活么
斩大 现在有工具能转换了么

使用道具 举报

帖子
1545
精华
1
积分
1283
金钱
2953
荣誉
31
人气
2
评议
0
10#
发表于 2010-1-17 11:06:54 |只看该作者
自己寫的填充器湊合著用..
大眾向的工具看看我把骨架和_a1g的配套弄完了能不能搞出來..
世に生き様を示す為

使用道具 举报

✿ 千 本 桜 ✿
游侠元勋版主
『PC游戏综合区』
游侠剑阁工作组【美工】
Koei 真・三國無双6 天下無双
冥王·哈迪斯

★★★★★★★

游侠元勋版主元老版主勋章版主勋章资深版主勋章大头像勋章白金会员勋章精华勋章活跃勋章荣誉勋章特色头衔勋章高级荣誉勋章人气勋章·初级勤劳之证剑阁工作组资深组员勋章电玩工作组荣誉勋章2013年度杰出版主勋章动漫组资深组员勋章2014年杰出版主勋章2015年杰出版主勋章

帖子
38220
精华
10
积分
39923
金钱
470434
荣誉
1812
人气
6927
评议
79
11#
发表于 2010-1-17 11:14:15 |只看该作者
原帖由 千人斩竞争 于 2010-1-17 11:06 发表
自己寫的填充器湊合著用..
大眾向的工具看看我把骨架和_a1g的配套弄完了能不能搞出來..



加油 加油 加油                 

使用道具 举报

游侠剑阁工作组【美工】
忍者队 忍者兵队长 稻妻刀

剑阁工作组资深组员勋章

帖子
2092
精华
0
积分
1202
金钱
1910
荣誉
15
人气
63
评议
0

12#
发表于 2010-1-17 15:49:34 |只看该作者
...完全看不懂啊~泪奔

白梅良清瑞玉灵神

辽东的紫绯色妖花

使用道具 举报

游侠剑阁工作组组长
游侠游戏库大师

游侠荣誉会员勋章大头像勋章白金会员勋章《三国志12》汉化贡献勋章精华勋章活跃勋章荣誉勋章高级荣誉勋章剑阁工作组资深组员勋章

帖子
73428
精华
13
积分
45034
金钱
108246
荣誉
565
人气
688
评议
0

13#
发表于 2010-1-17 16:53:13 |只看该作者
原帖由 千人斩竞争 于 2010-1-6 18:46 发表
RT.. 骨骼矩陣部分以往diy工具沒有的..
工具看我把MAX指令弄懂了以後能不能搞出來.. 真不行恐怕得跳槽milkshape或blender..


typedef struct G1M_Header
{
        char signature[4];        // signature;        ANSI:  ...



无论是3DS,Shade,Metasequoia,也无论MAXScript,Python,JavaScript,还是别的什么,这么多的努力研究,谢谢。

使用道具 举报

帖子
786
精华
0
积分
394
金钱
2853
荣誉
0
人气
1
评议
0
14#
发表于 2010-1-17 17:02:10 |只看该作者
这个模型是干吗用的……          20

使用道具 举报

帖子
216
精华
0
积分
108
金钱
655
荣誉
0
人气
0
评议
0
15#
发表于 2010-1-17 17:07:19 |只看该作者
..1动物和昆虫名的第4套衣服去手套外粘上的花 模型.

PS: ONLY FOR Acc 的吧..

使用道具 举报

帖子
445
精华
0
积分
233
金钱
1520
荣誉
1
人气
1
评议
0
16#
发表于 2010-1-17 17:19:22 |只看该作者
辛苦了,有进展了啊,改模型还是比较困难啊

使用道具 举报

帖子
287
精华
0
积分
144
金钱
694
荣誉
0
人气
0
评议
0
17#
发表于 2010-1-17 17:56:07 |只看该作者
虽然完全看不懂,但是千大的东西怎么都要来顶哇

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

手机版|Archiver|游侠NETSHOW论坛 ( 苏ICP备2023007791号 )

GMT+8, 2025-8-22 16:02 , Processed in 0.406783 second(s), 12 queries , Gzip On, Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

分享到