Сообщение от ABTOMAT
1. Берём 3 точки на поверхности террайна (и не говорите мне, что в юнити так нельзя) - сам куб + 2 любые рядом.
2. Из них делаем два вектора с началом в кубе.
3. Векторно перемножаем.
4. Нормаль готова, получите и распишитесь.
|
Да ладно, вообщем с высотой я уже разобрался.
А вот с нормалью тупик.
Делаю так:
Vector3 n=terrainData.GetInterpolatedNormal(x/1024,y/1024);
cube.transform.rotation = Quaternion.Euler(n);
GetInterpolatedNormal возвращает Vector3 я так понял в Радианах, но может быть и нет. А Quaternion.Euler должен быть вроде бы в градусах.
Кубики не ворочаются так как числа варьируются не от 0-360, а от ~0..1.
Как преобразовать?