3d форум по Blender

Blender => Моделирование => Тема начата: chjohn от 13 Февраль 2022, 01:16:44

Название: Blender 3.0 Geomentry Node Raycast. Проблема с нормалями
Отправлено: chjohn от 13 Февраль 2022, 01:16:44
Во вложение, скрин с нодами и результат работы.

Делаю сетку, проецирую ее на плоскость, заменяю точки на конусы и разворачиваю их по нормали.

Но по какой-то причине не все нормали корректно корректируются, часть конусов повернуто не верно.

Если тоже самое делать через Distribute Point on Face то все конусы становятся точно по нормалям.

В чем может быть причины, такого результата ?
Название: Re: Blender 3.0 Geomentry Node Raycast. Проблема с нормалями
Отправлено: Николай Николаев от 13 Февраль 2022, 07:33:23
Вместо скрина выложи модель, так будет быстрее понять где проблема.
Название: Re: Blender 3.0 Geomentry Node Raycast. Проблема с нормалями
Отправлено: chjohn от 13 Февраль 2022, 08:59:37
Во вложение
Название: Re: Blender 3.0 Geomentry Node Raycast. Проблема с нормалями
Отправлено: Николай Николаев от 13 Февраль 2022, 09:37:34
Похоже на баг, некорректно отрабатывает Raycast+Align Euler
Временное решение сделать подразделение для Plane.001 -  в режиме редактирования сделать два раза Ctrl+E D и Ctrl+E D (или добавить модификатор подразделения в начало стека модификаторов для автоматического дробления)
Название: Re: Blender 3.0 Geomentry Node Raycast. Проблема с нормалями
Отправлено: chjohn от 13 Февраль 2022, 12:01:47
Subdivide для наклонной плоскости мне не помогает.

У Вас получилось ?

В Blender 3.1 аналогичная ситуация, неверится что такую очевидную проблему не заметили, может все не так не до применять Align Euler.

Название: Re: Blender 3.0 Geomentry Node Raycast. Проблема с нормалями
Отправлено: Николай Николаев от 13 Февраль 2022, 13:47:59
посмотри файл во вложении
Название: Re: Blender 3.0 Geomentry Node Raycast. Проблема с нормалями
Отправлено: chjohn от 18 Февраль 2022, 00:36:35
Простите я так и не посмотрел Ваш вариант.

Я параллельно задал вопрос на Blender Stack Exchange.

https://blender.stackexchange.com/questions/253609/raycast-align-euler-to-vector-wrong-hit-normals/254052#254052

Ошибка заключается в том - что при выполнение "Instance on Points" происходит повторный расчет "Raycast" но в качестве точки начала проекции (от куда проецируется) берется уже "спроецированная" точка на плоскости из "Set Position" и тут как заметил "Markus von Broady" начинаются "quirkiness of the floating point calculations" - т.е. нормаль будет "ошибкой" вычисления.

Надо добавлять "Capture Attribute" который будет выступать как кэш от расчетов "Raycast" для нормали.