2011年11月26日

【完全無料】「Visual C++ 2010 Express」でMotionBuilderプラグインを作る(64ビット対応)【MotionBuilderは別売】

ブログなんてほったらかしだし面倒くさいし辞めちゃおうかなぁとか思ってたらパスワード思い出したので再開。
ubicast Bloggerってもう開発終わっちゃったんだろうか。ブログ書くの超面倒くせぇな、やっぱり辞めよう。
しばらくMBのプラグインなんて書く事ないだろうな。というわけで忘れないうちにメモ。
スクリーンショットとかたくさん撮ったんだけど、まぁ、アレだよ。画像のアップが意外と面倒だったので画像は無しで。ついでに太字とか見出しとかも無しの方向で。
ubicast Bloggerの代わりになるソフトを探すか?ノートPCでブログ書くか?悩む。


○ 開発環境のインストール

Visual C++ Express インストール
http://www.microsoft.com/japan/msdn/vstudio/express/

64ビットでビルドする場合
WindowsSDK インストール
http://www.microsoft.com/download/en/details.aspx?id=8442
x64 ISO FileName: GRMSDKX_EN_DVD.iso

VisualC++を起動するバッチファイルを作る

set MOTIONBUILDER=C:\Program Files\Autodesk\MotionBuilder XXXX
set ORSDK=C:\Program Files\Autodesk\MotionBuilder XXXX\OpenRealitySDK
start "" "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\VCExpress.exe"

別に作らなくても良いんだけど、MotionBuilderのバージョンとかインストール場所とか変わっても簡単に対応できるので。


○ VC++のプロジェクト設定とか

VisualC++を起動
ファイル→新規作成→プロジェクト
名前とか場所とか入力したら、Win32プロジェクトを選択して「OK」ボタン
「次へ>」を押してアプリケーションの設定へ
アプリケーションの種類を「DLL」に
追加のオプションの空のプロジェクトにチェック

(MotionBuilderをインストールしたフォルダ)/OpenRealitySDK/samples
にプラグインの種類毎にフォルダがあって、その中にそれぞれ「〜_template」というフォルダがあるので、
その中から.cxxと.hファイルをを先程作ったプロジェクトのフォルダにコピーする。
コピーしたファイルを自分の作るものに合わせてリネームする。

例:
orconstraint_template.cxx → main.cpp
orconstraint_template_constraint.cxx → ConstraintTest.cpp
orconstraint_template_constraint.h → ConstraintTest.h

プロジェクトに↑のファイルを追加

コードのプラグイン名やクラス名を書き換える
例:
ORConstraint_Template → ConstraintTest
「ctrl+H」で検索と置換を開いて一括で置換すると楽。※大文字十文字を区別するにチェック
必要ない変数や、GUIが必要なければ〜Layoutを消す。
あと、インクルードするファイル名とか、プラグインの情報とかも書き換える。

プロジェクト設定
(64ビットの場合)構成マネージャーからx64を選択。
構成をすべての構成に選択

全般
(64ビットの場合)プラットフォームツールセット「Windows7.1SDK」に変更。
http://togarasi.wordpress.com/2010/06/02/visual-studio-2010-c-%E3%81%A7-windows-sdk-v7-1-%E3%82%92%E4%BD%BF%E3%81%86%E3%81%AB%E3%81%AF%EF%BC%9F/
文字セット 「設定無し」

C/C++
全般
追加のインクルードディレクトリ → $(ORSDK)\include

リンカ
全般
追加のライブラリディレクトリ → $(ORSDK)\lib\$(PlatformName)
入力
追加の依存ファイル → 右の▼から<編集...>を選んで
fbsdk.lib
opengl32.lib
glu32.lib
↑を追加

とりあえずF7を押してビルドしてみる。
ビルド: 1 正常終了、0 失敗、0 更新不要、0 スキップ
出力ウインドウに↑のようにでたらOK。エラーが出たら直す

ビルドしたDLLをプラグインフォルダにコピーするのを自動化する。
プロジェクトオプション
構成プロパティ→ビルドイベント→ビルド後イベント
コマンドラインに

copy "$(OutDir)\$(ProjectName).dll" "$(MOTIONBUILDER)\bin\$(Platform)\plugins"

マクロを使うとなんか色々便利。環境変数も使える。
マクロの詳細
http://msdn.microsoft.com/ja-jp/library/c02as0cs.aspx
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:


この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。