Автор Тема: Blender 3.0 Geomentry Node Raycast. Проблема с нормалями  (Прочитано 1432 раз)

Оффлайн chjohn

  • Житель
Во вложение, скрин с нодами и результат работы.

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

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

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

В чем может быть причины, такого результата ?

Оффлайн Николай Николаев

  • Житель
  • emerge --keep-going
Re: Blender 3.0 Geomentry Node Raycast. Проблема с нормалями
« Ответ #1 : 13 Февраль 2022, 06:33:23 »
Вместо скрина выложи модель, так будет быстрее понять где проблема.

Оффлайн chjohn

  • Житель
Re: Blender 3.0 Geomentry Node Raycast. Проблема с нормалями
« Ответ #2 : 13 Февраль 2022, 07:59:37 »
Во вложение

Оффлайн Николай Николаев

  • Житель
  • emerge --keep-going
Re: Blender 3.0 Geomentry Node Raycast. Проблема с нормалями
« Ответ #3 : 13 Февраль 2022, 08:37:34 »
Похоже на баг, некорректно отрабатывает Raycast+Align Euler
Временное решение сделать подразделение для Plane.001 -  в режиме редактирования сделать два раза Ctrl+E D и Ctrl+E D (или добавить модификатор подразделения в начало стека модификаторов для автоматического дробления)

Оффлайн chjohn

  • Житель
Re: Blender 3.0 Geomentry Node Raycast. Проблема с нормалями
« Ответ #4 : 13 Февраль 2022, 11:01:47 »
Subdivide для наклонной плоскости мне не помогает.

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

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


Оффлайн Николай Николаев

  • Житель
  • emerge --keep-going
Re: Blender 3.0 Geomentry Node Raycast. Проблема с нормалями
« Ответ #5 : 13 Февраль 2022, 12:47:59 »
посмотри файл во вложении

Оффлайн chjohn

  • Житель
Re: Blender 3.0 Geomentry Node Raycast. Проблема с нормалями
« Ответ #6 : 17 Февраль 2022, 23: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" для нормали.