Математика в школе кажется бесполезной пока ты сам по себе бесполезен.
Задача - узнать угол с которым наш предмет столкнулся с поверхность, где 0 параллель, а 90 перпендикуляр.
Начнем с прототипа.
Это работает, но это первое что пришло тогда в голову, и где я по какой то причине нормализую нормализованный вектор. 😂
Во второй попытке мы вспоминаем тригонометрию (гуглим короче) и понимаем, что арксинус от скалярного произведения сразу дает угол относительно поверхности. А так, как есть некоторые различия в названиях методов с++ / bp, то тут я чутка снова тупанул и решил что надо проверится на 0. Хотя нода Normalize - это и есть SafeNormal. (Т.е. Они сделали наоборот NormalizeUnsafe - это обычная нормализация, насколько я понял, в BP она работает чуть быстрее, но может дать ошибку при делении на 0 внутри метода)
Ну и собственно когда понял, что Normalize - это и есть безопасная нормализация (Подсказки в движке (ToolTips) максимально полезная вещь), ну потом уже дот - арксинус - и сделаем положительным. Четыре ноды делают всю работу за огромную цепь.
Вот собственно поэтому, лучше учиться, чем пить балтос и нюхать клей или че там щас молодежь делает прогуливая уроки.
Ну и финалочка перенос логики в с++ библиотеку, что само по себе делает код в десяток раз быстрее.
Математика в геймдеве, это то, что тебе нужно постоянно. 📚