アプリケーション

アプリケーションの作り方

Maya において独立したアプリケーションを作成する方法を説明する。

アプリケーションの例

Maya のシーンファイルを変換(MayaBinary → MayaAscii)するアプリケーションを作ってみる。

  1. 以下のソースを mbtoma.cpp という名前で作る。
    #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);
    }
    
  2. コンパイルする。(Linux)
    % 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
    
  3. 実行する。
    % mbtoma test.mb test.ma
    

参考


Prev | Next
Home | Contents
Mail