Maya において独立したアプリケーションを作成する方法を説明する。
Maya のシーンファイルを変換(MayaBinary → MayaAscii)するアプリケーションを作ってみる。
#include <maya/MStatus.h>
#include <maya/MString.h>
#include <maya/MFileIO.h>
#include <maya/MLibrary.h>
#include <string.h>
#include <iostream.h>
const char* Usage = "Usage: mbtoma input-file output-file\n\tinput-file : mayaBinary\n\toutput-file : mayaAscii\n";
int
main(int argc, char **argv)
{
MStatus stat;
if (argc != 3)
{
cerr << Usage;
return(1);
}
stat = MLibrary::initialize (argv[0]);
if (!stat)
{
stat.perror("failed MLibrary::initialize");
return 1;
}
MString fileName(argv[1]);
MString outName(argv[2]);
MString fileType;
MFileIO::newFile(true);
stat = MFileIO::open(fileName);
if (!stat)
{
stat.perror(fileName.asChar());
return(1);
}
fileType = MFileIO::fileType();
if (fileType == MString("mayaAscii"))
{
cerr << fileName << " already in mayaAscii format\n";
return(1);
}
stat = MFileIO::saveAs(outName, "mayaAscii");
if (!stat)
{
stat.perror(outName.asChar());
}
MLibrary::cleanup();
return(0);
}
% c++ -c -w -D_BOOL -mpentiumpro -fno-gnu-keywords -fno-for-scope -DLINUX -DUNIX -I/usr/aw/maya/include -L/usr/aw/maya/lib mbtoma.cpp % /usr/aw/maya/bin/mayald -o mbtoma mbtoma.o
% mbtoma test.mb test.ma