前回 の補足。
今までの流れでは先に PHSolid を造ったので、それに対応する GRFrame-GRMesh を改めて造っていたが、本家 Springhead では FWObject 内に GenerateCDMesh() が存在していた。
つまり、 GRFrame-GRMesh を先に造っておけば、 PHSolid に必要な CDConvexMeshDesc を自動で生成して(中身は vertices をコピーしてるだけ) CDShape を造って Pose の設定までやってくれるので、利用者側の手順としては、空の PHSolid を造って SetPHSolid() して GenerateCDMesh() を呼べば良いということらしい。
ただし、形状によっては(特に凹型) CDConvexMeshDesc が適用出来ないケースがありそう(詳細は未確認)なので、ボウリングのピンの場合は凸型を保証出来る区間毎に別の CDConvexMesh から PHSolid を複数造って joint している(PHHingeJoint を生成し joint パーツ同士の衝突の物理演算は省略)。この場合でも GRFrame-GRMesh は一つで良い。 FWObject の SetPHSolid() には joint した内の一つの PHSolid を指定する。(Pose が一致するように注意。)
まだまだ続く