SoftImageでプラグイン開発 コンパイル編
こんばんは。
SoftImageでプラグイン開発を行おうと思っていじっていたんですが
早速コンパイル通らなくてワロタ!!
正確にはリンクエラー。
C++でプラグインを作ろうと思ったんですが、
XSI関係のクラスや関数などにことごとくリンクが通らない。
おそらくこれは64bit環境などの影響によるものだと思います。
ここが詳しいのでC++でコンパイルを通したい場合は参考にしてみるとよいと思います。
http://download.autodesk.com/global/docs/softimage2012/ja_jp/sdkguide/index.html?url=files/
Softimage SDK プログラマー ガイド > C++ API 開発
先ずプラグインのVisualStudioプロジェクトですが、
SoftImageのプラグインマネージャーを使えば、勝手にひな形を作ってくれるので
自分でプロジェクトの新規作成をする必要はありません。
ちなみに僕はC++あきらめました・・・
なんかもうエラー解消が面倒なのでおとなしくC#にすることにしました。
これまたこの辺が詳しいと思います。
http://download.autodesk.com/global/docs/softimage2012/ja_jp/sdkguide/index.html?url=files/
Softimage SDK プログラマー ガイド > C# 開発
C#だとXSIが作ってくれたひな形に少しコードを付け足すだけでコンパイルが通りました。
付け足すコード。
①XSIPlugin::Loadメソッド
【追加】
in_reg.RegisterCommand("HelloWorld", "HelloWorld");
②上で追加したプラグイン名と同名の新しいクラス
【追加】
public class HelloWorld : Base { public bool Init(Context in_ctxt) { return true; } public bool Execute(Context in_ctxt) { Info("Hello World!!"); return true; } }
これを付け足すだけで、最低限コンパイルが通って動くプラグインになりました。
あとはSoftImageのプラグインマネージャでロードして、
Pythonなどで
Application.HelloWorld()
と呼び出せばOK。