MayaAPI官方案例asciiToBinary的修改,实现ma和mb格式互转
来源:互联网 发布:networkconnect mac 编辑:程序博客网 时间:2024/05/19 00:42
1、直接上代码
//-// ==========================================================================// Copyright 1995,2006,2008 Autodesk, Inc. All rights reserved.//// Use of this software is subject to the terms of the Autodesk// license agreement provided at the time of installation or download,// or which otherwise accompanies this software in either electronic// or hard copy form.// ==========================================================================//+#include <maya/MStatus.h>#include <maya/MString.h> #include <maya/MFileIO.h>#include <maya/MLibrary.h>#include <maya/MIOStream.h>#include <string.h>const char* usage = "usage: [-h/help] asciiToBinary fileName1 fileName2 ...\n\ each file will be loaded, the filename will be checked for an\n\ extension. If one is found it will be change to .mb, otherwise a\n\ .mb will be appended to the file name. The scene will then be\n\ written out to this new filename in Maya Binary format.\n";int main(int argc, char **argv){MStatus stat;argc--, argv++;if (argc == 0) {cerr << usage;return(1);}for (; argc && argv[0][0] == '-'; argc--, argv++) {if (!strcmp(argv[0], "-h") || !strcmp(argv[0], "-help")) {cerr << usage;return(1);}// Check for other valid flagsif (argv[0][0] == '-') {// Unknown flagcerr << usage;return(1);}}stat = MLibrary::initialize (argv[0]);if (!stat) {stat.perror("MLibrary::initialize");return 1;}/*for (; argc; argc--, argv++) {*/MStringfileName(argv[0]);MString fileType;MFileIO::newFile(true);// Load the file into Mayastat = MFileIO::open(fileName);if ( !stat ) {stat.perror(fileName.asChar());/*continue;*/}//尝试修改一下,如果是mb格式的话,转为ma格式// Check to see if file is already in binary formatfileType = MFileIO::fileType();if (fileType == MString("mayaBinary")){cerr << fileName << ": already in mayaBinary format\n";MString newFile;int loc = fileName.rindex('.');if (loc == -1) {newFile = fileName;} else {newFile = fileName.substring(0, loc-1);}newFile += ".ma";stat = MFileIO::saveAs(newFile, "mayaAscii");if (stat)cerr << fileName<< ": resaved as "<< MFileIO::currentFile()<< endl;elsestat.perror(newFile.asChar());/*continue;*/}// Check for a file extension, and if one exists, change it// to .mb. If an extension does not exist, append a .mb to// the fileName.MString newFile;int loc = fileName.rindex('.');if (loc == -1) {newFile = fileName;} else {newFile = fileName.substring(0, loc-1);}newFile += ".mb";stat = MFileIO::saveAs(newFile, "mayaBinary");if (stat)cerr << fileName << ": resaved as " << MFileIO::currentFile() << endl;elsestat.perror(newFile.asChar());/*}*/MLibrary::cleanup();return 0;}2、我编译好的程序。
http://u.163.com/TyNjtIl0 提取码: Tf9vkdYL
3、使用说明(这里只提供了初略的功能,更多功能需要结合自己的流程,本次演示最重要的互转功能)
a、把asciiToBinary.exe复制到和maya.exe同级目录下,比如我的是:‘D:\Program Files\Autodesk\Maya2015\bin”
b、把需要转换的文件复制到和maya.exe同级目录下,比如我的是:‘D:\Program Files\Autodesk\Maya2015\bin”
c、使用命令行cd到maya.exe目录下,使用命令行:asciiToBinary.exe “xxx.ma”(ma转mb)或asciiToBinary.exe “xxx.mb”(mb转ma)
0 0
- MayaAPI官方案例asciiToBinary的修改,实现ma和mb格式互转
- KB、kb和MB、Mb的区别
- (MB) MRM域中的物理格式
- MA和EMA的数学表达式
- C# 分层开发的案例 学生管理系统 实现用户的登录和修改密码
- 实现图片上传格式修改和大小修改方法一
- .max.mb.ma.fbx模型下载链接收集。备忘。
- 什么是MA以及MA的简单应用
- MB/L和HB/L的区别
- OSB 和IBM MB的比较
- Mbps和MB/s的区别
- Mbps 和MB/s 之间的区别
- zookeeper实现一个配置项的修改的小案例
- Ma的,又一个博客~!
- 转】Dolby TrueHD 、DTS-HD MA和LPCM比较解析!!
- MB与Mb的区别
- Websphere MB 消息集格式
- Ext的拖放官方案例研究
- idea中将多个spring boot项目放在一个maven项目中
- sonarqube
- Android面试题集合
- Error running app: Instant Run requires 'Tools | Android | Enable ADB integration' to be enabled.
- MAC 编译openssl1.1.0c出错问题
- MayaAPI官方案例asciiToBinary的修改,实现ma和mb格式互转
- SSH框架之Struts的文件上传
- 程序员进阶之路
- thinkphp 解析带html标签的内容
- git clone 时出现的ssl证书问题
- android自带Base64编码
- Fragment生命周期
- vmrun命令行的使用(VMWare虚拟机)
- 物联管家PDA 无缝对接网店管家云端 电商erp 实现电商条码无线仓储