基本的なMaxPluginの作り方まとめ

基本的には以下のサイトに全部のってることです。ただ、このページちょっとへんなスクリプトが動いててページスクロールされるとダイアログが表示されてウザイので、やってきたことをこっちにまとめる。
基本的にコードなどの内容面については以下のサイト参照。

http://mofo.pns.to/wibs/

開発環境

VS2005(PlatformSDKのインストールを忘れちゃいかんですよ!)
max8

プロジェクトの設定

Win32プロジェクトからDLLプロジェクトを選択し、空のプロジェクトを作成する。そして、maxsdk/include、maxsdk/libを追加のincludeディレクトリに指定する。あとは、ビルド後のイベントで生成されたdllをdloにリネームし、maxpluginにコピーしとくと楽かもしれない。自分の場合はこんな感じ。

copy "$(TargetPath)" "C:/Program Files/Autodesk/3dsMax8/plugins/SavageMaxPlugin.dlo"

まずはdefファイルを作る。

defファイルを作ったらプロジェクトのプロパティのリンカの入力から、モジュール定義ファイルの項にそのdefファイルを指定する。

んでコード書く。

コンパイルが終わったらmaxを立ち上げてみて、Plugin Managerからそのプラグインが読み込まれているか確認できる。

デバッグ

ちょっとデバッグの方法がわからなくて悩み中。max立ち上げといて、そのままプロセスにアタッチすればいいんだろうか。それでそのプラグインの機能を使ったときにdllMainに入ってくるのかな?ちょっとここらへんがよくわからんな。

とりあえずもうちょっと進めてみよう。

なんかリンクエラーがでる。

プラグイン情報クラスを継承してそこんとこ作ってみたけどなんかリンクエラー。includeするファイルまちがってんのかな?

と、思いきや、リンカに指定しないといけないlibがあったみたい。#pragma commentってそういう意味だったのか・・・。ただ、まだリンクエラー発生中。あと2個なんだが・・・。helpはdoxygen形式で書かれてあって検索にはなかなかひっかかんない。