フォト

Google AdSense

  • AdSense
無料ブログはココログ

« 準備中 | トップページ | 最近では »

2008.01.15

COLLADA Physicsなネタ

Cp
クリックすると大きなサイズになります

そんなわけで、ソースを置いておきます。とにかく、ソースが目茶苦茶で、Blenderのデータに依存してるので色々と期待できない出来です(そもそもBlenderで作業することもしんどいですからねぇ)。

http://www.shader.jp/xoops/html/modules/mydownloads/singlefile.php?cid=5&lid=18

実行ファイルも付属しています。実行ファイルだけ起動したい場合には、以下が必要です。

・DirectX エンドユーザランタイム(11月版のSDK入ってれば無くてもOK)
http://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3

・PhysXランタイム
http://www.ageia.com/drivers/drivers.html

・GPU
SM 2.0以降ならOKのハズ。

まず、必要なものは以下、

・DirectX SDK(最近のならOK。具体的には、DXUTフォルダ内がCoreとOptionalに別れてるもの)
・COLLADA DOM (1.4.1)
・AGEIA PhysX(2.6.4以降)

それぞれのセットアップに関しては割愛。

COLLADA関連は、daeLoader.hに記載があります。

以下のBlenderで出力したCOLLADAドキュメントをサンプルとして付属しています。

・boxandsphere.dae
ボックスと球のサンプル。空中に静止したボックスが配置されそこに球やボックスが落ちてきて衝突します。

このサンプルでは、Staticな物体(一般にゲームだと壊れたりしないオブジェクト。)とDynamicな物体のそれぞれを識別しています。

・newseasow.dae(上の画像の例)
シーソーの例。左がわに2つのオブジェクト右に小さな1つのオブジェクトが載ってます。つまり、左の2つのオブジェクトの質量の合計と右のオブジェクトの質量が同じです。Blender側で質量を定義したものをそのまま持ち込んでいます。

あと、左のオブジェクトの1つはConvexMeshをつかっています。

・pb.dae
空中に浮かんだ斜面を球が転がり落ちる。

・seasow6.dae
シーソーの例。今度は、全ボックスの質量が同じです。

・sikake.dae
ちょっとしたドミノみたいな例。

・slope.dae
斜面を転がる球とボックス。摩擦が効いた例。

・transform_test.dae
ハノイの塔みたいなもの。

実行ファイルの操作

キー操作
D・・・DebugRendererのON、OFF
R・・・シーンのリセット
SPACE・・・シミュレーションの停止

マウス
左クリック・・・ドラッグでオブジェクトの操作。ただし、Staticなアクターは動きません。
右クリック・・・視点回転
ホイール・・・ズーミング

動作ビデオ

« 準備中 | トップページ | 最近では »

Programming」カテゴリの記事

画像付き」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

« 準備中 | トップページ | 最近では »