前回 の続き。
- PHScene に PHSolid を作成すると physical simulation 対象になるが debug=true のときに表示される。 wireframe と solid 表示を切り替えたり色を付けたり(SetWireMaterial() SetSolidMaterial() GRRenderBaseIf::{reserved_color_name})が可能。 (簡単なデモだとこれでも充分だが texture が貼れないのと debug=false で PHScene が表示されない。)
- debug=false で表示させるには GRMesh 等で vertices に color を付けるか texture (texCoords と texname) を設定する必要がある。
- GRMesh を表示させるには GRScene で GRFrame を作成し(GRScene の world に追加。 parent=NULL (省略時) または parent=grScene->GetWorld() ちなみに world は GRScene の最初の Child として造られている。)、さらに FWSdk の Scene(N) で予め作成した FWObject に PHSolid と GRFrame を bind すると physical simulation と連動してくれる。
ソース途中経過
(GRMeshDesc で meshd.faces の指定を間違うとコンパイルは通っても実行時に落ちるのはもちろんだが、落ちる場所が不定。new (alloc) で落ちたり delete で落ちたり。結果的に原因は違っていたが meshd.vertices 等の頂点数や GRFrame が多過ぎるのかと思って嵌った。バグを追うのが大変なので meshd の中身をいつでも表示出来る関数を用意した。)
今後の目標
- アプローチからボール投球とARATの制御
- レンコンでボールの軌道を変化させる
- ボールの材質
- ローリングトラックやボール軌道の表示
- ボール通過でレンコンを変化させる
- ボール回収とリターンラック
まだまだ続く