図を参照してください:
box2D では、ピボット アームを青いボックスに取り付けて、ピボット アームを伸縮させる方法を考えています。
青いボックスは、プリズマティック ジョイントを使用して左右に移動し、トラック/レールとして機能するように設定されています。青いボックスが左右に動くと、その勢いでスイングアームがスイングします。私はこれでうまくいきました。
私の問題は、一番下の緑色のボックスをスイング アームの上下に移動する方法を確実に思いつかないことです。プレーヤーが押し上げた場合、下の緑色のボックスがスイング アームを上に移動するようにします。プレーヤーが押し上げるのをやめると、下部の緑色のボックスが停止し、スイング アームに沿っていた場所に残ります。やりたいけどスイングアームの勢いをキープ。
青いボックスと下の緑のボックスの間の線だけをレンダリングするので、伸びたり縮んだりしているように見えます。
プリズマティック ジョイントとディスタンス ジョイントを試しましたが、ジョイントに新しい制限または距離を設定すると、滑らかな動きになりません。関節の剛性が十分ではありません。たとえば、プリズマティック ジョイントを短くするとき、新しいジョイントの長さの最後に下の緑色のボックスを再配置する方法がわかりませんが、以前の運動量と回転を維持したままです。
何か案は?