Описание
Вектор нормали к поверхности, на которую падает луч.
Вектор нормали поверхности – это вектор, который перпендикулярно направлен наружу в заданной точке этой поверхности. Этот вектор может быть полезен в рейкастинге как способ определения отражений или рикошетов от снарядов или для выравнивания персонажа так, чтобы он стоял вертикально на поверхности.
using UnityEngine;
public class Example : MonoBehaviour
{
public GameObject sprite;
void Update()
{
if (Input.GetMouseButton(0))
{
Vector2 worldPoint = Camera.main.ScreenToWorldPoint(Input.mousePosition);
RaycastHit2D hit = Physics2D.Raycast(worldPoint, sprite.transform.position);
if (hit.collider != null)
{
// Рисует линию от нормали объекта, по которому вы щелкнули
Debug.DrawLine(sprite.transform.position, hit.normal, Color.yellow, 10.0f);
}
}
}
}
Примечание. Если столкновение происходит внутри коллайдера, нормаль столкновения является направлением, противоположным направлению запроса линии/луча.