3ds max 导出插件——md5Exporter开场篇

今天把mesh导出成功了,趁热打铁记录哈。参照了“Jonathan "BeRSeRKeR" Garcia”的脚本,对比了导出数据,几乎完全一样。

md5比较好的是mesh和anim的文件分开的,而且anim文件里面有每帧的包围盒。不过mesh文件里面材质方面的内容还是差黑多,还有mesh文件里面part也没名字之类的对换装啥的来说还是不够。毕竟它最初用途不是这方面。

其实,模型格式还是很简单的,插件用IGame接口也不是很麻烦。

可能需要注意下的就几个问题:

1.3dmax里面一个对象有可以赋一个父材质,然后下面带多个子材质。这种情况,我在导出的时候是按材质来分割原本的对象,导出mesh数据的时候面片由材质来组织,相同材质的作为一个submesh。

2.IGameMesh的顶点数量和纹理坐标数量有可能是不对应的。使用GetActiveMatIDs和GetFacesFromMatID对面片处理的时候,需要排除相同顶点索引、相同纹理坐标索引、近似位置的顶点、近似坐标的UV。顶点多了会显示不正常,UV少了纹理贴的又不对。如果不通过GetActiveMatIDs和GetFacesFromMatID来获取绑定一个材质的一组面片,也可以遍历面片取得材质ID,自己把面片按照材质来分组。

3.skin导出的时候可以取GetInitialPose和GetInitBoneTM计算权重的偏移值,也可以直接顶点坐标和骨骼矩阵来计算,不过需要对骨骼矩阵做一些处理,矩阵和脚本导出数据不同,有些四元数w>0的要取反。至于具体原因还要看GetInitialPose和GetInitBoneTM的数据与直接顶点坐标和骨骼矩阵的区别。

4.joint中的骨骼矩阵如果直接用第0帧的骨骼矩阵的话,有点问题。有些四元数和脚本导出的数据又不一样,仿照脚本的w<0的时候取反,然后就正常了。可能默认骨骼信息需要初始骨骼矩阵,需要对比下GetInitBoneTM。

5.顶点的骨骼权重计算的时候,GetWeight的骨骼索引,可以传GetNumberOfBones的索引,或者GetIGameBone后再GetBoneIndex的值,它们索引是一样的。不过GetIGameBone的第2个参数是true的话那就不一样了。

还要写anim的插件,为了使用方便在mesh导出的时候我加了点信息,max中对象名字和对应的mesh(组)、每个mesh的材质,材质的简单信息导出。

最后附上项目地址,在github上的https://github.com/qiutaoleo/md5Exporter用的是max2012的sdk。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
3DMax是一款功能强大的三维建模和动画软件,它的导出功能非常便捷。要导出OBJ序列,可以通过使用插件来实现。 首先,我们需要安装支持导出OBJ序列的插件。在3DMax中,有许多插件可供选择,如"OBJ Sequence Exporter"或"Exocortex Crate Suite"等。可以通过在插件管理器中搜索并安装适合自己版本的插件。 安装完成后,在3DMax中打开你的项目。确保你的场景已经准备好,并要导出为序列的动画或模型已经完成。然后,选择工具栏中的"文件"选项,找到"导出"菜单。在导出选项中,选择导出格式为OBJ。 接下来,配置导出OBJ序列的参数。这些参数包括导出的路径、文件名、起始和结束帧数等。你可以根据需要进行调整,确保导出的序列符合你的要求。 一切准备就绪后,点击导出按钮开始导出OBJ序列。3DMax将按照设定的帧数逐一导出每一帧为单独的OBJ文件。导出的文件将按照设定的路径和文件名进行保存。 导出完成后,你将得到一个包含了完整序列的OBJ文件集合。这样的序列可以被其他3D软件进一步处理和编辑,或者用来创建动画效果或虚拟场景等。 总结起来,使用3DMax导出OBJ序列插件是非常方便的。只需要安装适当的插件并在导出选项中配置好参数,就可以轻松地导出OBJ序列了。无论是用于动画制作还是其他用途,这种导出方法都是非常有用的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值