スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Cinema4DのプラグインをC++で作る時のメモ

以下プラグイン作成までの導入メモ
(開発環境をnetbeansでやりたかったけどvcprojが用意されちゃってるので素直にVC使った)

* 用意したもの *

開発環境(筆者はVC++2008)
SDKドキュメント→公式サイトC++ SDK 11.5 (.zip)のフォルダにC++ SDK 11.5 (.chm)を加える


* 手順 *

まず
C:\Program Files\MAXON\CINEMA 4D R11.5\plugins\cinema4dsdkを同じフォルダにコピーして名前を変える

んでもって
C:\Program Files\MAXON\CINEMA 4D R11.5\resource\_api_lib\_api.vcprojのプロパティで読み取り専用のチェックを外す

VC++2008でさっき作ったフォルダの中にあるcinema4dsdk.slnを開く(自動的に最適化が行われるはず)

以下VC2008での操作
SourceCodeの子のフォルダを全部消す(サンプルになるのでやりたい事に近いものはどこかにコピーしておくといいかも)

cinema4dsdkのプロジェクトプロパティのC/C++(全般)の追加インクルードディレクトリに
..\..\resource\_api;..\..\resource\_api\c4d_preview;..\..\resource\_api\c4d_customgui;..\..\resource\_api\c4d_libs;..\..\resource\_api\c4d_gv;..\..\resource\modules\Modeling\res\description;..\..\resource\res\description
を追加(そのままコピペでいける)して
書き込むボックスの右のほうの[...]を押して「親またはプロジェクトの規定値から継承」のチェックを外す

Main.cppの中身を以下のように書き換える

#define PLUGIN_ID 1000001 //デバッグ用は1000001~1000010で公式に申請することで個別IDが得られる
#define PLUGIN_NAME "Hello World" //プラグインの名前
#define PLUGIN_HELP "Hello World" //プラグインの説明
#include "c4d.h"

class MyPlugin : public CommandData
{
public:
virtual Bool MyPlugin::Execute(BaseDocument *doc)
{
MessageDialog("test");//メッセージボックス
GePrint("Hello World");//コンソール
return TRUE;
}
};

Bool PluginStart(void)
{
return RegisterCommandPlugin(PLUGIN_ID,
(String)PLUGIN_NAME,
0,
NULL,//Bitmap
(String)PLUGIN_HELP,
gNew MyPlugin);
}

void PluginEnd(void)
{
}

Bool PluginMessage(LONG id, void *data)
{
return TRUE;
}


最後に手を合わせながら心の中で「神様か仏様かそんな感じの人お願い!と縋る」
ビルドボタンをポチ
エラーが無かったらCinema4Dを立ち上げるとプラグインに勝手に登録されているはず
GoodLuck!


尚、上記の操作は「自己責任」でよろぴく
パソコンから煙とかひよことか出てきても私のせいではありません


ねよっと。

コメントの投稿

非公開コメント

プロフィール

あしゅ

Author:あしゅ
ぷぃぷぃ日常。
いつのまにか雑記ブログに。

カテゴリ
最新記事
検索フォーム
最新コメント
リンク
このブログをリンクに追加する
ブロとも申請フォーム

この人とブロともになる

カウンター
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。