Рецепты Houdini. Выровнять объект по осям

Очень часто после фотоскана объект расположен в пространстве как попало

 Очень часто после фотоскана объект расположен в пространстве как попало   Чтобы вернуть в точку 000 достаточно подключить ноду "Match Size" Уже лучше, но очень часто хочется объект расположить по...

Чтобы вернуть в точку 000 достаточно подключить ноду "Match Size"

 Очень часто после фотоскана объект расположен в пространстве как попало   Чтобы вернуть в точку 000 достаточно подключить ноду "Match Size" Уже лучше, но очень часто хочется объект расположить по...-2

Уже лучше, но очень часто хочется объект расположить по осям - верх должен смотреть вверх )

Для решения этой задачи предлагаю вот такое решение

 Очень часто после фотоскана объект расположен в пространстве как попало   Чтобы вернуть в точку 000 достаточно подключить ноду "Match Size" Уже лучше, но очень часто хочется объект расположить по...-3

После matchsize мы выбираем две точки на объекте на плоскости по которой хотим выровнять

 Очень часто после фотоскана объект расположен в пространстве как попало   Чтобы вернуть в точку 000 достаточно подключить ноду "Match Size" Уже лучше, но очень часто хочется объект расположить по...-4

Так как модель высокополигональная, то проще взять в ноду бласт не точки, а две области.

Эти области надо превратить в две точки, настройки Fuse

 Очень часто после фотоскана объект расположен в пространстве как попало   Чтобы вернуть в точку 000 достаточно подключить ноду "Match Size" Уже лучше, но очень часто хочется объект расположить по...-5

Теперь надо из точек получить вектор, можно использовать нормали или просто вспомнить алгебру и из одной точки отнять вторую и запишем в новую точку p3

 Очень часто после фотоскана объект расположен в пространстве как попало   Чтобы вернуть в точку 000 достаточно подключить ноду "Match Size" Уже лучше, но очень часто хочется объект расположить по...-6
vector p1 = point(0,"P",0);
vector p2 = point(0,"P",1);
vector p3 = normalize(p1-p2);
addpoint(0, p3);

И последний шаг - задаем точку p3 (точка 2) в качестве параметра в ноде MatchAxis

point(-1,2,"P",0)
point(-1,2,"P",1)
point(-1,2,"P",2)
point(-1,2,"P",0) point(-1,2,"P",1) point(-1,2,"P",2)

Готово! Объект смотрит вверх