protected override void UpdateShape(GameObject root) { Fix64 radius = CalculateRadius(); Fix64 height = CalculateHeight(); CalculatePoints(height, radius, ref v1, ref v2); if (v1 != Fix64Vec2.zero && v2 != Fix64Vec2.zero) { Fix64 angle = Fix64.zero; Fix64Vec2 center = Fix64Vec2.zero; if (gameObject != root) { angle = Fix64.DegToRad(_pTransform.localEulerAngles.z); center = (Fix64Vec2)_pTransform.localPosition; } Parallel2D.UpdateCapsule(_shape, _fixture, v1, v2, radius, center, angle); } }