2009年12月27日 星期日

3dsMax Exporter Plug-in (2)

在實際執行之前,要先改一些程式碼。

打開專案程式的主檔案MyExporter1.cpp。

clip_image002

這個就是我們的Exporter主物件。從SceneExport繼承而來。

DoExport函式是實際進行輸出工作的入口函式。其他還有一些設定的函式,不過只有設定輸出檔副檔名的Ext函式比較重要。

int MyExporter1::ExtCount()
{
    #pragma message(TODO("Returns the number of file name extensions supported by the plug-in."))
    return 1;
}

const TCHAR *MyExporter1::Ext(int n)
{       
    #pragma message(TODO("Return the 'i-th' file name extension (i.e. \"3DS\")."))
    return _T("me1");
}

const TCHAR *MyExporter1::LongDesc()
{
    #pragma message(TODO("Return long ASCII description (i.e. \"Targa 2.0 Image File\")"))
    return _T("My Exporter Sample 1");
}
const TCHAR *MyExporter1::ShortDesc()
{           
    #pragma message(TODO("Return short ASCII description (i.e. \"Targa\")"))
    return _T("My Exporter 1");
}

我們把 ExtCount, Ext, LongDesc, ShortDesc 函式簡單實做之後,重新編譯一次。

然後,從 Visual Studio Debug 執行它。

跑不起來是正常的。

打開專案的 Property 設定,在 Debugging –> Command 那一項,把 3ds max 的執行檔設定進去。

clip_image002[9]

然後我們可以 Start Debugging。

Visual Studio 會啟動 3ds max,而 max 會將我們的 plug-in load 進去。

我們的 exporter 是在 export 檔案時才會用到的,所以,先 export 看看。

我們會在存檔類型那裏,找到我們的輸出檔格式。

clip_image001

到這裏,我們的 exporter 算是可以掛上 max 系統裡了。

2 則留言:

Sam 提到...

不好意思 想再請問... 如果都按照步驟做

但還是出現以下訊息

1>CL : fatal error C1033: 無法開啟程式資料庫 ''

這是需要在哪裡做設定嗎? 感謝

藍斯洛 提到...

MSDN 上的說明是 :
This error can be caused by disk error.

In Visual C++ .NET 2002, the user locale must be set correctly when the file name (or directory path to the file name) contains MBCS characters. Setting the system locale is not sufficient; the user locale must be set to process MBCS characters.