阿里云部署多个网站,wordpress 导航站点,youku wordpress,上海上咨建设工程咨询有限公司3DXI是3DMax提供给游戏开发者的一套数据读取接口#xff0c;之前它被称作为IGame。最近一直在搞Ogre的插件相关的文档都很少我相信搞这个的人很多#xff0c;但是有时间整理拿出来共享的资料实在是太少Ogre自带的maxExplorer只是xml格式#xff0c;二进制数据的导出竟然未完…3DXI是3DMax提供给游戏开发者的一套数据读取接口之前它被称作为IGame。 最近一直在搞Ogre的插件 相关的文档都很少 我相信搞这个的人很多但是有时间整理拿出来共享的资料实在是太少 Ogre自带的maxExplorer只是xml格式二进制数据的导出竟然未完成汗一个 Lexi的搞得很复杂还绑上了Ogre本身通过Ogre的mesh接口导出阅读和使用上很麻烦 我的方法很土 用oFusion导出然后通过Ogre的序列化接口跟踪 参考mesh的format文件头描述信息编写自己的格式导出 遇到的问题很多 像是3DXI本身的接口说明就不太清晰 例如一个TexCoord就有几种方式可以读取却没有注明当GetActiveMapChannelNum().Count() 1时应该用GetTexVertex否则应该用GetMapFaceIndex或GetMapVertex 带来了不小的困扰 另外3DXI只负责收集数据当遇到MultiMaterial时手动拆分和复制vertices的工作还是要自行解决 google到的资料上前辈们都说自从有了3DXI挺对得起这张脸俺没有之前旧接口的切身体验么有感觉 总的来说Ogre本身对于plugin的资料不是太多加上3DXI SDK的说明中还存在有少量的BUG所以走了不少弯路大家有空可以看看现在max9 sdk里 Programmers Guide里 Programming with 3dxi里的IGameMesh有一段代码//gm is a pointer to IGameMesh if(exportMappingChannel) { Tabint mapNums gm-GetActiveMapChannelNum(); int mapCount mapNums.Count(); for(int i0;i mapCount;i) int vCount gm-GetNumberOfMapVerts(mapNums[i]); buf.printf(%d,vCount); for(int j0;jvCount;j) { vert NULL; Point3 v; if(gm-GetMapVertex(mapNums[i],j,v)) { //use data here } } int fCount gm-GetNumberOfFaces(); for(int k0;kfCount;k) { DWORD v[3]; gm-GetMapFaceIndex(mapNums[i],k,v); //use data here } } 这一段是从之前老的SDK中同样地方的一段代码 //gm is a pointer to IGameMesh if(exportMappingChannel) { Tabint mapNums gm-GetActiveMapChannelNum(); int mapCount mapNums.Count(); for(int i0;i mapCount;i) { int vCount gm-GetNumberOfMapVerts(mapNums[i]); buf.printf(%d,vCount); for(int j0;jvCount;j) { vert NULL; Point3 v; if(gm-GetMapVertex(mapNums[i],j,v)) { //use data here } } int fCount gm-GetNumberOfFaces(); for(int k0;kfCount;k) { DWORD v[3]; gm-GetMapFaceIndex(mapNums[i],k,v); //use data here } } } 大家来找岔~ 目前我的插件中关于mesh这边的导出工作基本上已经完成 1. position, diffuse, normal, texcoordx的导出 2. multi material的处理 3. 最小化vertex复制/拆分4. material及sub-material数据导出 5. texture自动复制 接下来准备做mesh关键帧动画和骨骼动画这一块 待完成后我会抽时间写篇文章出来共大家共享 或者先提交给《游戏创造》骗点稿费过来花花也未尝不是一个好主意^_^Y 转载于:https://www.cnblogs.com/oiramario/archive/2007/11/27/973722.html