ブログ@kaorun55

HoloLensやKinectなどのDepthセンサーを中心に書いています。

TouchDesigner で C++のモジュールを使う

以前書いた「プロジェクションマッピングに入門しました」では、「TouchDesigner」というアプリケーションを利用しています。TouchDesignerは非商用で利用できる無償の「FTE」と、商用で利用できる有償の「FTE Commercial」、さらにサポートがついた有償の「Pro」があるようです(現状のTouchDesignerではnVidiaのグラフィックチップを搭載したWindows PCのみサポートしているようです)。

TouchDesignerのFTE Commercial以上ではC++を使ってモジュールを作成し、TouchDesignerで利用できるようになっています(Pythonで書ける方法もあるようです)。

ここでは有償の「FTE Commercial」を利用してC++のモジュールを動作させる方法を載せます。

最後に載せている参考サイトをみるとVisual Studio 2005でやってね。と書いていますが、今回はVisual  Studio 2012でやっています。

ざっくり手順としては「サンプルアプリケーションをビルド」して、「TouchDesignerにC++モジュールを配置」します。

サンプルアプリケーションをビルドする

サンプルのプロジェクトが「C:\Program Files\Derivative\TouchDesignerFTE.077\touch\CPlusPlus」または「C:\Program Files (x86)\Derivative\TouchDesignerFTE.077\touch\CPlusPlus」にあるので、デスクトップやドキュメントフォルダなどProgram Filesフォルダ以外にコピーします。

フォルダにはCHOPとTOPのサンプルがあります。今回はCHOPを取り上げますが、TOPも同様の操作になります。

コピーしたCHOPのフォルダを開くとソースファイルおよびVisual Studioのソリューション(sln)を開きます。

Visual Studioが開きます。画面真ん中上あたりのビルドの設定が「Debug」になっているので、「Release」に変更し、メニューの「ビルド|ソリューションのリビルド」を選択します。ビルドがエラーなく終わればOKです。

TouchDesignerにC++モジュールを配置する

TouchDesignerを起動し、CHOPのCPlusPlusモジュールを設置します。

「DLL Path」の「+」ボタンを押し、C++のCHOPフォルダの下のReleaseフォルダにあるDLLファイルを選択します。

選択したDLLがTouchDesignerに読み込まれ、データが表示されます。DLLを実行中は上書きができないので、プログラムを変更してビルドする際は「Unload DLL」を「1」にすると、ビルドできるようになります。再度TouchDesignerで利用するには「Unload DLL」を「0」にします。

参考サイト