Render.ru

Задавайте вопросы по Houdini!

Коллеги, прошу подсказать... Ситуация следующая: перебираю через ForEach примитивы, они все прямоугольные, но на некоторых встречаются вершины на прямых эджах (результат булина). Как от них избавиться, чтобы остались только 4 угловые? Номера и расположение у всех разные, так что надо процедурно как-то. Есть мысль, что можно задать проверку на дот продукт между эджами, и там где он равен -1, вершина , из которой эти вектора выходят, удаляется... вот вопрос состоит в том, как в вексе составить цикл для такой проверки? На экспрешнах, думаю, это будет что-то неконтролируемое в 8 этажей...
Посмотреть вложение 246657 вот такие
Спасибо!
Clean или polydoctor такое могут.
Проверку на дот легко сделать используя neighbours для получения точек соединенных с данной точкой построить вектора и вычислить.
 
Clean или polydoctor такое могут.
Проверку на дот легко сделать используя neighbours для получения точек соединенных с данной точкой построить вектора и вычислить.
В том и дело, что для меня это пока не легко. Хотя бы понять примерно алгоритм, что за чем следует... у меня с ним проблемы на данном этапе) а с кодом разберусь с помощью хелпа.
А в Clean и в Polydoctor что-то не получилось найти галку, за это отвечающую...
 
int n[] = neighbours(0,@ptnum);

Вот это подгон! Спасибо, добрый человек, а то я всю голову сломал, какую только чушь не перепробовал, и был близок уже))
Теперь вопросы для закрепления материала:
последний if я написал сразу, с ним вопросов нет;
первая строка - создание массива поинтов - нейборов с нашим птнумом, и они, оказывается могут локальные индексы приобретать n[0], n[1], а не согласно сквозной нумерации поинтов примитива, так? (жаль, что в хелпе не объясняется это подробно);
дальше, все, в принципе, понятно, только опять же не знал, что просто @P означает положение текущей точки.
Вопрос еще такой, смотрел еще в уроке, только там брали кросс между двумя эджами и заранее известно кол-во поинтов примитива, там перебирают все поинты циклом for...
то есть вот такая форма
vector pos[]
for (i=0; i<@numpt; i++);
{
pos=point(0, "P", i)
}
как я понимаю, этот код возвращает позицию каждой точки примитива? почему в нашем случае такая запись не нужна? мы же тоже позиции вычисляем? Вернее даже так: в каких случаях нужна подобная запись? Я так понимаю, не зря в уроке она появилась, т.к. там понятно, что человек разбирается в том, что пишет...
 

Tolmach12

Активный участник
Рейтинг
9
Этот код вернет только позишн последней точки. Честно я не знаю зачем нужна такая конструкция, возможно у вас ошибка в этой строчке?
pos [ i ] = point(0,"P",i);
Ну и в этом случае он вернет вам массив позиций всех поинтов геометрии, а не примитива.
 
Этот код вернет только позишн последней точки. Честно я не знаю зачем нужна такая конструкция, возможно у вас ошибка в этой строчке?
pos [ i ] = point(0,"P",i);
Ну и в этом случае он вернет вам массив позиций всех поинтов геометрии, а не примитива.
Дада, я там ошибся, pos нужно
Спасибо, уже что-то начинает проясняться
 
Последнее редактирование:

виталий антоновас

Модератор форума
Команда форума
Рейтинг
329
привет народ кто подскажет как соеденить симуляцию жыдкостьи в ocean tool типа как движение катера в океане


Отправлено с моего iPhone используя Tapatalk
https://www.sidefx.com/tutorials/houdini-16-ocean-tools/
https://www.sidefx.com/tutorials/h15-masterclass-flip-workflow-enhancements/
да и вообще, просто в поиске вбиваешь что-то типа Houdini FLIP ocean tutorials... и будет тебе счастье.
 

Whitecat

Активный участник
Рейтинг
13
подскажите как вывести все ноды на экран в рамках одного контекста(obj, ch и тд)?
 

Whitecat

Активный участник
Рейтинг
13
Еще вопрос как сохранить расположение менюшек и сделать шрифты иконки побольше ?
 

виталий антоновас

Модератор форума
Команда форума
Рейтинг
329
Еще вопрос как сохранить расположение менюшек и сделать шрифты иконки побольше ?
незнаю на счет "шрифт по-больше", но сохранить расположение менюшек, вроде как Build-> Save Current Desktop As...
 

Тридэшник

Активный участник
Рейтинг
11
Всем привет, на поли сферу хотел рассадить по точкам линии при помощи "copy", но проблема с нормалями, линии странно повернуты на сфере. Подзабыл экспрешн, который вписывается в point ноду, чтобы нормали (и линии) были как лучи, от центра. Не подскажите? Спасибо!
 

виталий антоновас

Модератор форума
Команда форума
Рейтинг
329
Всем привет, на поли сферу хотел рассадить по точкам линии при помощи "copy", но проблема с нормалями, линии странно повернуты на сфере. Подзабыл экспрешн, который вписывается в point ноду, чтобы нормали (и линии) были как лучи, от центра. Не подскажите? Спасибо!
ничего не надо, просто сделай, чтоб линии ДО копирования смотрели по оси Z
 

Seregapona

Активный участник
Рейтинг
9
Проверь на пересекающиеся полигоны, у меня в 16 все ок
Ещё displacement bound в шейдере слнлай больше. Это изза него такое
 
Последнее редактирование:

ALEX-LCL

Пользователь сайта
Рейтинг
2
подскажите, пожалуйста, такой вопрос: какие ноды нужно использовать чтобы нарисовать контур элемента по заданным размерам (см. скрин)? пробовал использовать ноду "curve" и далее нодой "extrude" выдавить элемент. но с нодой "curve" не могу з адать нужные размеры и радиусы.
 

Вложения

SquaLL

Знаток
Рейтинг
65
Сделай без скругления экструдом, а потом скругли нужные места через bevel. Там задашь радиусы.
 
Сверху