教你如何在Maya 导出动画到THREE.js
白羽 2018-06-13 来源 :网络 阅读 3606 评论 0

摘要:本文主要针对THREE.js 提供的Maya 导出插件,提出插件存在的部分问题,并给出做出相应的解决方案。


 



关于使用软件版本问题的声明

Maya版本:Maya 2015
Three.js版本:r79
Exporter版本:r79

配置maya插件

Copy the scripts and plug-ins folders to the appropriate maya folder, where maya-version is your current version of Maya (eg. 2013-x64).

· Windows: C:\Users\username\Documents\maya\maya-version

· OSX: ~/Library/Preferences/Autodesk/maya/maya-version

· Linux: /usr/autodesk/userconfig/maya/maya-version

After that, you need to activate the plugin. In Maya, open Windows > Settings/Preferences > Plug-in Manager and enable the checkboxes next to threeJsFileTranslator.py.

 教你如何在Maya 导出动画到THREE.js

使用方法

Use the regular Export menus within Maya, select Three.js.

出现的问题

原本想借助maya将fbx动画文件转化为Three.js JSON文件。方便在Three.js上使用动画,但导出的动画,背后总会背着一个模型,见下图:
教你如何在Maya 导出动画到THREE.js

问题探索的过程

经过一系列痛苦的调试过程终于发现了问题所在,当插件将模型导出为three.js支持的格式时,便将点数加倍了。

 教你如何在Maya 导出动画到THREE.js

为了寻找问题的解决方案,我把调试的重点放在了maya上,终于有了更多的些许进展。maya插件中采取了获得场景中所有mesh的方法。而当一个模型建立了骨架蒙皮后,maya会自动生成一个新的mesh,叫做”名字”+”Orig” 。个人推测”Orig”为Origin的缩写,故,maya可能用它来保存mesh原本的坐标,而用“名字”来代之随着骨架变动而改变的点的信息。可这样以此导出两个模型并不是我们想要的。

手动建模实验证明

建立一个简单的模型,不绑定骨架的话,属性列表中只存在一个mesh:

 教你如何在Maya 导出动画到THREE.js

如果为这个简单的模型建立骨架蒙皮,发现,一旦建立了蒙皮,便会多出一个”名字”+”Orig”的Mesh

 教你如何在Maya 导出动画到THREE.js

即,导出场景时,场景中的蒙皮了的模型,点数会加倍,而没有骨骼蒙皮的模型点数则正常,我尝试着取消了蒙皮,发现这个点数加倍并不会取消,所以着很可能是一个不可逆的过程。

窥探maya插件

发现了maya的问题不代表我能解决这个问题,所以,我把关注点转到了我们的插件上,发现插件的原理比较简单:

首先扫描场景中的所有mesh
遍历这些mesh,对每个mesh执行这样的操作:导出点到一个数组,导出面到一个数组,导出UV……

所以,我的解决方案是,修改了生成所有mesh这个步骤。将其中名称结尾是”Orig”的mesh删除掉。这样不一定是最好的方案,但十分有效。


教你如何在Maya 导出动画到THREE.js



本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标常用软件之Maya频道!


本文由 @白羽 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程