Я пытаюсь сделать снаряд, выпущенный моим игроком, в рикошет, если он поражает объект под достаточно низким углом.
Я уже пытался использовать RaycastHit2D.normal для расчета угла отскока, но результаты противоречивы.
lastPos = currentPos;
RaycastHit2D hit = Physics2D.Raycast(transform.position, transform.up,
data.stepDistance * Time.deltaTime, layers);
if (!hit)
{
transform.position += transform.up * data.stepDistance;
}
else {
transform.position = hit.point;
}
currentPos = transform.position;
//graphic display code
trail.SetPositions(new Vector3[] { lastPos, currentPos });