3Dモデルは以下のような親子のツリー構造になっています。
パスファインダーはBody(本体部分=RCXと機構部),FrontWheel(前輪),RearWheel(後輪),LightSensor(光センサーと機構部)をそれぞれ独立したパーツとしました。
2Dのときは、とても簡単なモデルだったので、頂点座標を計測して、それらを結んで多角形をつくってパスファインダーの外形にしましたが、3Dでは構造がとても複雑なので、頂点単位よりもっと大きな単位(たとえばBodyだけでも数千のポリゴンがあります。)で扱っています。
↑FrontWheelはLightSensorの回転と連動しますので、LightSensorの子になっています。実は逆でもよかったんですが。
親子関係をつけた状態でパーツごとに適当に動かしてみます。
ちゃんとそれぞれ連携して動きました。
前輪と後輪を速度から計算して回転させています。
ここのロジックは単純で、
v=rω v:速さ(mm) r:タイヤの半径 ω:角速度(rad/s)
なので、
ω=v/r
より計算しています。