2008-03-01から1ヶ月間の記事一覧
次はいよいよmain関数を読みにかかります。
traitsでは、デフォルトパラメータの定義も行います。 大体のものはインスタンスごとに上書き可能ですが、 デフォルトではここで定義したものが使われます。適当に推奨値を書いておきますが、物体の大きさや速度などで まったく話が変わってくるので気休め程…
partixでは、プラットフォーム非依存にするため、 実数・ベクトル・行列などの型を外部から与えることになっています。 例えば、partixの利用は物理世界であるWorldの生成から 始まりますが、このWorldはテンプレートクラスであり、 生成時にはテンプレート…
ではまず、partix/examples/sample0からみていきましょう。sample0はプラットフォーム非依存のサンプルで、これだけは linuxでもビルドできるようになっています。 (他のサンプルはレンダリング・GUIを伴うのでDirectX専用です)。 内容は、「地面(固定平面)…
どうやらsubversionを使ってのソースのダウンロードは可能なようですね。 thx for なまえさんpartix tutorial 第0回 - プログラミンギング
物理特性を取り入れたゲームを作ろうとすると、 物理によって勝手にルールが決まって楽なこともある反面 難しいこともあったりします。 例えば、上の図のような状態で、 ちいさい自機が大きい岩を押したりするのは ゲーム的にはさほどとっぴなことではありま…
SoftShellとSoftVolumeのあたり判定(≒地形とオブジェクトの当たり判定)を spatial hashに書き換えたら5倍くらい早くなった。 はちゅねボーリング程度なら処理落ちしなくなった。 つーかいままでがチョンボだなこれ……
で、仮にチェックアウトがうまくできたとすると、 チェックアウトしたディレクトリはだいたいこんな感じになっています。 partix |---documents |---examples |---sample0 |---sample1 |---sample2 |---sample3 |---include |---partix |---zw とりあえずpar…
partixのコードはgoogle code projectsにホスティングされており、 アーカイブは用意してないので、 TortoiseSVNかなにかのsubversionクライアントを利用してゲットすることになります。TortoiseSVNの使い方に関してはこのあたりを参考にしてください。http:…
ではpartixのチュートリアルを漫然とはじめます。
caperのバージョンアップをしました。 C#版の出力コードを変更しました。インターフェイスが変わっています。thx for colilicaさん
ムービー作るのはエンジンのメンテナンスのモチベーションになって いいですね。実際のところ、このサンプルはムービー用に作ったものなので 本当にボーリングとして遊ぼうとするとちょっと変な動きをする 部分があります。おそらくピン(はちゅね)の当たり…
これはちゅね山積みと組み合わせたいっすね
ニコニコ動画でプログラミングっておもしろいねえ 普通孤独な作業だからなこれとか気に入りました(作ったの私じゃないよ) とても大変そうなので私はやりませんけど……
とはいえ、tetgenはどんなメッシュでも tetrahedral meshにしてくれるわけではありません。 いくつか制約があります。 英語を読むのが苦でない方は http://tetgen.berlios.de/plc.html を読んでください。 得意でない方のためにかいつまんで説明すると、 「…
.smeshをtetgenにかけると.ele, .node, .faceファイルが出力されるわけですが、 これらもごく単純なフォーマットで、次の程度のもので読み込むことが可能です。 template < class Traits > void make_softvolume( const char* basename, float mass, partix:…
さて、tetrahedral meshが必要と分かったので、その作り方を 知る必要があります。 partixは基本的にI/Oの類には一切関知しないので、 ファイルから読み込んでpartix内部でもちいるデータ形式に 変換する、といったようなことは渡す側でする必要があります。…
tetrahedral meshとは、三角錐を充填した空間のことで、 よく医療などの3次元データの処理に使われる(らしい) データ構造です。中空のポリゴンメッシュと違って 中の方までデータが詰まっているので、 すり抜けが起こりにくいという利点があります。 SoftShe…
partixには2種類の任意形状プリミティブが存在します。 SoftShellとSoftVolumeです。 SoftShellは通常のポリゴンモデルに用いるプリミティブです。 基本的に普通のポリゴンメッシュ(.objとか.mqoとか)と同じような データ構造を持っています。このタイプのプ…
partixはC++のtemplateを用いたプラットフォーム非依存の 物理エンジンで、レンダリングとは完全に切り離されています。 partixでは物理エンティティはすべて任意形状として扱う ことになっているので*1、モデルが複雑だとそのぶん演算にも 時間がかかります…
チュートリアルから書き出そうかと思っていたのですが、 質問をいただいたのでそのお答えから。 と思いましたが、その前に基本設計を説明しないと説明困難なので まずはそこから。
http://www.blue.sky.or.jp/grass/doc_ja.html大好きw
リアルタイムやわらか物理シミュレーションエンジン「partix」を オープンソースで公開しようと準備中なのですが、 とりあえずそれに先駆けて紹介ムービーを公開しました。 よかったら見てみてください。はちゅねミクのモデルは保管庫@七葉からおかりしまし…
gccの方がtypenameまわり厳しいっすね。 直しておきました。
再びcaperのバージョンアップを行いました。http://tinyurl.com/yefoxa主にBUGFIXです。 例によって動かなかったらごめんなさい。 ルートから連結していないルールが存在していたときに強制終了していたのを修正。 %access_modifer ;宣言を追加。C#ジェネレ…
これまた久しぶりですがmeshtoyのバージョンアップを行いました。 細かいBUGFIXです。 修正点は以下のとおりです。 undo時に法線計算がうまくいっていなかったのを修正 マテリアルのないファイルをセーブしたときに読み直せなくなっていたのを修正 ウィンド…