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

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 下図のようなサンプルコード

のようなディレクトリが含まれます。


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型を引数に取る。