Этот вопрос касается проекта Unity C #.
Я знаю луч от камеры и вектор нормали в точке попадания.
Луч от камеры использует Camera.main.ScreenPointToRay ();
Я хочуполучить пересечение значений оси Y с различными векторами луча и нормали.
Код и результаты следующие.
Ray ray3 = Camera.main.ScreenPointToRay(new Vector3(540, 0));
Debug.DrawRay(ray3.origin, ray3.direction * 10f, Color.yellow, 5f);
Ray ray4 = Camera.main.ScreenPointToRay(new Vector3(540, 499));
Debug.DrawRay(ray4.origin, ray4.direction * 10f, Color.yellow, 5f);
if (Physics.Raycast(ray3, out hit, Mathf.Infinity))
{
var normal = hit.normal;
Vector3 cyanLine = hit.point + normal * 100f;
}
ray3 - нижняя желтая линия. ray4 - это указанная выше желтая линия.
голубая линия - нормальный вектор.
Значения по оси x одинаковы, отличаются только значения по оси y, поэтому две линии пересекаютсядруг друга.
Я хотел бы знать координаты пересечения голубой линии и вышеупомянутого желтого луча.
Как я могу получить это значение. Заранее спасибо.