@sergejskolodkin

Поиск расстояние между объектами Unity3d?

У меня на сцене есть два объекта. При клике на объект из него появляется луч. При столкновении с другим объектом, второй объект также бросает луч в направлении первого объекта. Это нужно чтобы вычислить расстояние между не центрами, а между стенками объектов. Картинка для наглядности
62a860e381db8466695517.png

Создание лучей
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;
}


Пока что получается так

62a86155a94a8299578719.png
  • Вопрос задан
  • 258 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы