Ode.NETプログラミング解説

.NET対応のODEライブラリです。drawstuff用のDrawstuff.NETも付属します。

セットアップ

入手

SourceForge.netのページから、ode-src-0.9.zipをダウンロードします。

解凍後のode-0.9\contrib\Ode.NETディレクトリには、以下のようなディレクトリが含まれます。

ディレクトリ 内容
Ode Ode.NET.dllを作成するためのプロジェクトとコード
Drawstuff Drawstuff.NETを作成するためのプロジェクトとコード
Tests 下図のようなサンプルプログラム

ODE サンプル実行画面
BoxStack.cs

ビルド

Ode.NET.dllとDrawstuff.NETはただのラッパーなので、それぞれ元になるライブラリが必要となります。

先に解凍したファイルのode-0.9\build\vs2005には、Visual Studio用のプロジェクトが用意されています。ここにある「ode.vcproj」と「drawstuff.vcproj」から、「ode.dll」と「drawstuff.dll」をビルドできます。(所望のプロジェクトが存在しない場合には、Premakeを使用して「premake.lua」ファイルから作成できます)

配置と参照

これらのファイルをプロジェクトの出力ディレクトリに配置します。プロジェクトに追加して[出力ディレクトリにコピー]を有効にしておくと、自動的に配置されるようになります。
そして参照設定にOde.NETなどを追加すれば、.NETからODEを使用できるようになります。

実数型の変更

ODEの実数型 (dReal) をdouble型にするには、コンパイルシンボルに「dDOUBLE」を定義します。ただし次に示すようにDrawstuff.NETには問題があり、double型には対応できません。

Drawstuff.NETの問題

以下の問題により、実数型をdoubleとしたときに正しく機能しません。

  • dsDrawBox()などの関数は、double型を引数とするときにはdsDrawBoxD()などを呼び出す必要があるが、そのようにされていない。
  • SetViewpoint()の引数がd.Vector3とされているためdouble型が渡されるが、dsSetViewpoint()はfloat型を引数に取る。