У меня на сцене есть два объекта. При клике на объект из него появляется луч. При столкновении с другим объектом, второй объект также бросает луч в направлении первого объекта. Это нужно чтобы вычислить расстояние между не центрами, а между стенками объектов. Картинка для наглядности
Создание лучей
private void CreateRays()
{
GameObject m_selectObj = this.SelectedObj;
Vector3 m_rayEndObj = g_SecondObj.transform.position;
Vector3 m_startPosition = m_selectObj.transform.position;
Vector3 clashSecondObj = CreateRay(m_startPosition, m_rayEndObj);
Vector3 clashFirstObj = CreateRay(m_rayEndObj, m_startPosition);
ViewDistRay(g_lineRenderer, clashSecondObj, clashFirstObj);
Vector3 g_oldStartPos = clashFirstObj;
Vector3 g_oldFinishPos = clashSecondObj;
}
Создание луча
private Vector3 CreateRay(Vector3 m_startPosition, Vector3 m_endPosition)
{
RaycastHit hit;
Vector3 result = Vector3.zero;
Ray ray = new Ray(m_startPosition, m_endPosition);
if (Physics.Raycast(ray, out hit))
{
result = hit.transform.position;
}
return result;
}
Пока что получается так