当前位置: 首页 > news >正文

M2文件头

M2文件中的信息大体是这样的

全局纹理列表 全局顶点列表
  • Position
  • Blend weights
  • Blend indices
  • Normal
  • Texture coordinates
LOD (每个模型共4级?)
  • Vertex indices (这级LOD用到的顶点 为全局顶点列表的索引)
  • Face indices (每个三角形有三个, 同样是全局顶点列表中的索引)
  • Vertex properties (每个顶点索引有一个, 未知)
  • Submeshes (一般每种材质一个)
  • Texture units (引用Subemesh, 全局纹理列表的索引, 绑定纹理单元的数目)
全局包围体 (用来碰撞检测?) 动画(Animations, global sequences) 骨骼(Skeleton) 额外的渲染信息: 颜色, 透明度, 纹理动画, 模型混合等. 特效: 条带, 粒子 灯光 摄像机

struct ModelHeader { char id[4]; //"MD20" uint8 version[4]; uint32 nameLength; //model name length (including \0) uint32 nameOfs; //model name offset uint32 type; //Model type? always 0, 1 or 3 (mostly 0) uint32 nGlobalSequences; //number of global sequences uint32 ofsGlobalSequences; //offset to global sequences uint32 nAnimations; //number of animation sequences uint32 ofsAnimations; //offset to animation sequences uint32 nC; uint32 ofsC; uint32 nD; //always 201 or 203 depending on WoW client version uint32 ofsD; uint32 nBones; //number of bones uint32 ofsBones; //offset to bones uint32 nF; //bone lookup table uint32 ofsF; uint32 nVertices; //number of vertices uint32 ofsVertices; //offset to vertices uint32 nViews; //number of views (LOD versions?) 4 for every model uint32 ofsViews; //offset to views uint32 nColors; //number of color definitions uint32 ofsColors; //offset to color definitions uint32 nTextures; //number of textures uint32 ofsTextures; //offset to texture definitions uint32 nTransparency; //number of transparency definitions uint32 ofsTransparency; //offset to transparency definitions uint32 nI; // always unused ? uint32 ofsI; uint32 nTexAnims; //number of texture animations uint32 ofsTexAnims; //offset to texture animations uint32 nTexReplace; uint32 ofsTexReplace; uint32 nTexFlags; //number of blending mode definitions uint32 ofsTexFlags; //offset to blending mode definitions uint32 nY; //bone lookup table uint32 ofsY; uint32 nTexLookup; //number of texture lookup table entries uint32 ofsTexLookup; //offset to texture lookup table uint32 nTexUnitLookup; //texture unit definitions? uint32 ofsTexUnitLookup; uint32 nTransparencyLookup; //number of transparency lookup table entries uint32 ofsTransparencyLookup;//offset to transparency lookup table uint32 nTexAnimLookup; //number of texture animation lookup table entries uint32 ofsTexAnimLookup; float floats[14]; uint32 nBoundingTriangles; uint32 ofsBoundingTriangles; uint32 nBoundingVertices; uint32 ofsBoundingVertices; uint32 nBoundingNormals; uint32 ofsBoundingNormals; uint32 nAttachments; uint32 ofsAttachments; uint32 nAttachLookup; uint32 ofsAttachLookup; uint32 nQ; uint32 ofsQ; uint32 nLights; //number of lights uint32 ofsLights; //offset to lights uint32 nCameras; //number of cameras uint32 ofsCameras; //offset to cameras uint32 nT; uint32 ofsT; uint32 nRibbonEmitters; //number of ribbon emitters uint32 ofsRibbonEmitters; //offset to ribbon emitters uint32 nParticleEmitters; //number of particle emitters uint32 ofsParticleEmitters; //offset to particle emitters };

这把刀看起来挺漂亮, 就拿它开刀了:

16进制文件分析:

相关文章:

  • MFC 创建可序列化的对象 Serialize用法
  • 《面向对象方法与技术》课欢迎业界朋友旁听交流
  • MFC 查找字符串函数的实现
  • 得到某年某月有多少天
  • MFC 显示位图
  • C++ 字符串 处理 消除多余空格
  • Ruby on Rails开发带二级域名业务的应用
  • 巨猛的网络!万能查询!(想查安全期?)
  • MFC 属性页 总结
  • MFC CStdioFile简单用法
  • MFC 表格控件的使用
  • [Web开发] xenocode 推出浏览器沙盘,无需安装直接运行各种浏览器
  • wireShark 的使用 网络抓包
  • MFC TRACE宏的使用
  • 关系数据库的死期到了?
  • 【跃迁之路】【477天】刻意练习系列236(2018.05.28)
  • Android Volley源码解析
  • Brief introduction of how to 'Call, Apply and Bind'
  • canvas 高仿 Apple Watch 表盘
  • iOS帅气加载动画、通知视图、红包助手、引导页、导航栏、朋友圈、小游戏等效果源码...
  • JS正则表达式精简教程(JavaScript RegExp 对象)
  • Mybatis初体验
  • PHP那些事儿
  • Puppeteer:浏览器控制器
  • Python语法速览与机器学习开发环境搭建
  • vue2.0开发聊天程序(四) 完整体验一次Vue开发(下)
  • Vue学习第二天
  • 简单基于spring的redis配置(单机和集群模式)
  • 说说动画卡顿的解决方案
  • 思考 CSS 架构
  • 跳前端坑前,先看看这个!!
  • 一加3T解锁OEM、刷入TWRP、第三方ROM以及ROOT
  • 原生Ajax
  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程
  • 正则与JS中的正则
  • Hibernate主键生成策略及选择
  • Nginx实现动静分离
  • shell使用lftp连接ftp和sftp,并可以指定私钥
  • !!【OpenCV学习】计算两幅图像的重叠区域
  • #NOIP 2014#Day.2 T3 解方程
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第5节(封闭类和Final方法)
  • (JSP)EL——优化登录界面,获取对象,获取数据
  • (定时器/计数器)中断系统(详解与使用)
  • (二开)Flink 修改源码拓展 SQL 语法
  • (附源码)spring boot公选课在线选课系统 毕业设计 142011
  • (强烈推荐)移动端音视频从零到上手(上)
  • (三) prometheus + grafana + alertmanager 配置Redis监控
  • (算法)前K大的和
  • (已解决)vue+element-ui实现个人中心,仿照原神
  • .bat批处理(十):从路径字符串中截取盘符、文件名、后缀名等信息
  • .chm格式文件如何阅读
  • .gitignore
  • .net Signalr 使用笔记
  • .NET/C# 在 64 位进程中读取 32 位进程重定向后的注册表
  • .NETCORE 开发登录接口MFA谷歌多因子身份验证