1
逆運動学を使用して2Dゲームを作成しています。私はこの単純なアルゴリズムを使用しています:2D逆運動学角度の制約
let angleToParent = angleBetweenPoints(parent, child)
child.x = parent.x + distance*Math.cos(angleToParent)
child.y = parent.y + distance*Math.sin(angleToParent)
child.rotation = angleToParent
子どものための角度制約の実装方法は?
親の回転が180度を越えたときにこのコードが間違って動作します。
let implementBound = (lowerBound, upperBound, input) => {
return Math.min(Math.max(lowerBound, input), upperBound)
}
let constraint = (Math.PI/180)*15
let left = parent.rotation - constraint
let right = parent.rotation + constraint
angleToParent = implementBound(left, right, angleToParent)
あなたはどのような意味では意味ですか? 'angleToParent'をクランプできますか? – pingul