Пуля должна отскакивать на тот же угол, с которого она прилетела через нормаль.
У меня пуля отскакивает, но видимо из-за того, что на ней circle collider угол немного отличается от того, что рисуется рейкастом. Нужно, чтобы было 1 в 1.
Создание пули при выстреле
Синтаксис:
Используется csharp
Rigidbody2D clone = Instantiate(Shells[SelectedShell].bullet, gunPoint.position, gunPoint.rotation) as Rigidbody2D;
clone.velocity = gunPoint.right * speed;
clone.transform.right = gunPoint.right;
Поведение при коллизии
Синтаксис:
Используется csharp
Vector3 heading = transform.position - startPosition;
Vector3 dir = Vector3.Reflect(heading, collision.contacts[0].normal);
Rigidbody2D shot = GetComponent<Rigidbody2D>();
// GetComponent<AudioSource>().PlayOneShot(MyAudio);
startPosition.x = transform.position.x;
startPosition.y = transform.position.y;
// shot.velocity = dir;
//shot.velocity = dir;
transform.right = dir;
shot.velocity = transform.right * player.speed;
Можно ли как то реализовать движение пули вдоль рейкаста, также рефлектить?
Готов заплатить за консультацию.