2008-03-01から1ヶ月間の記事一覧

次回予告

次はいよいよmain関数を読みにかかります。

デフォルトパラメータ

traitsでは、デフォルトパラメータの定義も行います。 大体のものはインスタンスごとに上書き可能ですが、 デフォルトではここで定義したものが使われます。適当に推奨値を書いておきますが、物体の大きさや速度などで まったく話が変わってくるので気休め程…

traits

partixでは、プラットフォーム非依存にするため、 実数・ベクトル・行列などの型を外部から与えることになっています。 例えば、partixの利用は物理世界であるWorldの生成から 始まりますが、このWorldはテンプレートクラスであり、 生成時にはテンプレート…

プラットフォーム非依存のサンプル

ではまず、partix/examples/sample0からみていきましょう。sample0はプラットフォーム非依存のサンプルで、これだけは linuxでもビルドできるようになっています。 (他のサンプルはレンダリング・GUIを伴うのでDirectX専用です)。 内容は、「地面(固定平面)…

partix tutorial 第1回

どうやらsubversionを使ってのソースのダウンロードは可能なようですね。 thx for なまえさんpartix tutorial 第0回 - プログラミンギング

物理とゲーム

物理特性を取り入れたゲームを作ろうとすると、 物理によって勝手にルールが決まって楽なこともある反面 難しいこともあったりします。 例えば、上の図のような状態で、 ちいさい自機が大きい岩を押したりするのは ゲーム的にはさほどとっぴなことではありま…

SoftShellとSoftVolumeのあたり判定

SoftShellとSoftVolumeのあたり判定(≒地形とオブジェクトの当たり判定)を spatial hashに書き換えたら5倍くらい早くなった。 はちゅねボーリング程度なら処理落ちしなくなった。 つーかいままでがチョンボだなこれ……

sample0

で、仮にチェックアウトがうまくできたとすると、 チェックアウトしたディレクトリはだいたいこんな感じになっています。 partix |---documents |---examples |---sample0 |---sample1 |---sample2 |---sample3 |---include |---partix |---zw とりあえずpar…

partixのダウンロード

partixのコードはgoogle code projectsにホスティングされており、 アーカイブは用意してないので、 TortoiseSVNかなにかのsubversionクライアントを利用してゲットすることになります。TortoiseSVNの使い方に関してはこのあたりを参考にしてください。http:…

partix tutorial 第0回

ではpartixのチュートリアルを漫然とはじめます。

caperバージョンアップ

caperのバージョンアップをしました。 C#版の出力コードを変更しました。インターフェイスが変わっています。thx for colilicaさん

新作ムービーをうpしました。

ムービー作るのはエンジンのメンテナンスのモチベーションになって いいですね。実際のところ、このサンプルはムービー用に作ったものなので 本当にボーリングとして遊ぼうとするとちょっと変な動きをする 部分があります。おそらくピン(はちゅね)の当たり…

これを組み合わせたい

これはちゅね山積みと組み合わせたいっすね

ニコニコプログラミング

ニコニコ動画でプログラミングっておもしろいねえ 普通孤独な作業だからなこれとか気に入りました(作ったの私じゃないよ) とても大変そうなので私はやりませんけど……

tetrahedral meshを作るときの注意

とはいえ、tetgenはどんなメッシュでも tetrahedral meshにしてくれるわけではありません。 いくつか制約があります。 英語を読むのが苦でない方は http://tetgen.berlios.de/plc.html を読んでください。 得意でない方のためにかいつまんで説明すると、 「…

tetrahedral meshの読み込み方

.smeshをtetgenにかけると.ele, .node, .faceファイルが出力されるわけですが、 これらもごく単純なフォーマットで、次の程度のもので読み込むことが可能です。 template < class Traits > void make_softvolume( const char* basename, float mass, partix:…

tetrahedral meshの作り方

さて、tetrahedral meshが必要と分かったので、その作り方を 知る必要があります。 partixは基本的にI/Oの類には一切関知しないので、 ファイルから読み込んでpartix内部でもちいるデータ形式に 変換する、といったようなことは渡す側でする必要があります。…

tetrahedral meshとは

tetrahedral meshとは、三角錐を充填した空間のことで、 よく医療などの3次元データの処理に使われる(らしい) データ構造です。中空のポリゴンメッシュと違って 中の方までデータが詰まっているので、 すり抜けが起こりにくいという利点があります。 SoftShe…

partixで用いる当たり判定モデル

partixには2種類の任意形状プリミティブが存在します。 SoftShellとSoftVolumeです。 SoftShellは通常のポリゴンモデルに用いるプリミティブです。 基本的に普通のポリゴンメッシュ(.objとか.mqoとか)と同じような データ構造を持っています。このタイプのプ…

partixの基本設計

partixはC++のtemplateを用いたプラットフォーム非依存の 物理エンジンで、レンダリングとは完全に切り離されています。 partixでは物理エンティティはすべて任意形状として扱う ことになっているので*1、モデルが複雑だとそのぶん演算にも 時間がかかります…

partixについて

チュートリアルから書き出そうかと思っていたのですが、 質問をいただいたのでそのお答えから。 と思いましたが、その前に基本設計を説明しないと説明困難なので まずはそこから。

なんだこのひでえ言語

http://www.blue.sky.or.jp/grass/doc_ja.html大好きw

紹介ムービー

リアルタイムやわらか物理シミュレーションエンジン「partix」を オープンソースで公開しようと準備中なのですが、 とりあえずそれに先駆けて紹介ムービーを公開しました。 よかったら見てみてください。はちゅねミクのモデルは保管庫@七葉からおかりしまし…

linuxでコンパイル通らなくなってた

gccの方がtypenameまわり厳しいっすね。 直しておきました。

caperバージョンアップ

再びcaperのバージョンアップを行いました。http://tinyurl.com/yefoxa主にBUGFIXです。 例によって動かなかったらごめんなさい。 ルートから連結していないルールが存在していたときに強制終了していたのを修正。 %access_modifer ;宣言を追加。C#ジェネレ…

meshtoyバージョンアップ

これまた久しぶりですがmeshtoyのバージョンアップを行いました。 細かいBUGFIXです。 修正点は以下のとおりです。 undo時に法線計算がうまくいっていなかったのを修正 マテリアルのないファイルをセーブしたときに読み直せなくなっていたのを修正 ウィンド…