Bulletで穴を作る
そういえば今までBulletでは凸型形状でしか物体を作ったことがなかったんだよね。
つまり、btCollisionShapeオブジェクトはbtConvexHullShapeやbtBoxShapeなどで作っていたんだわ。
これらは凹んでいる部分は考慮されないので穴を作ることはできないはず。
どうやって穴を作ればいいのかなと思って調べるとこういう記事を発見。
btBvhTriangleMeshShape - OOgtech.org
ここにあるようにbtTriangleMeshオブジェクトに三角形の座標を突っ込んでそれでbtBvhTriangleMeshShapeを作る、という方法でどうやら成功。頂点の数、三角形の数、データの数とか何かと注意しないとおかしなことになるよね。

↑緑のオブジェクトは中空になってる。
ちなみにbtTriangleIndexVertexArrayで頂点データをまとめるサンプルも見たけど、こちらはなぜかうまくいかなかったな。
つまり、btCollisionShapeオブジェクトはbtConvexHullShapeやbtBoxShapeなどで作っていたんだわ。
これらは凹んでいる部分は考慮されないので穴を作ることはできないはず。
どうやって穴を作ればいいのかなと思って調べるとこういう記事を発見。
btBvhTriangleMeshShape - OOgtech.org
ここにあるようにbtTriangleMeshオブジェクトに三角形の座標を突っ込んでそれでbtBvhTriangleMeshShapeを作る、という方法でどうやら成功。頂点の数、三角形の数、データの数とか何かと注意しないとおかしなことになるよね。

↑緑のオブジェクトは中空になってる。
ちなみにbtTriangleIndexVertexArrayで頂点データをまとめるサンプルも見たけど、こちらはなぜかうまくいかなかったな。
スポンサーサイト
<< iPhoneカメラ入力画像を60FPSで画像処理したいが TopPage ナガシマスパーランドの絶叫マシンに乗ってみた >>
トラックバック
トラックバックURL
https://ringsbell.blog.fc2.com/tb.php/920-4fa04940
https://ringsbell.blog.fc2.com/tb.php/920-4fa04940