Render.ru

Помогите с Pflow Data Operator

Nordicheskiy

Пользователь сайта
Рейтинг
4
#1
В общем, начал изучать Data Operator, есть цель - создать что-то вроде Plexus эффекта. Т.е. нужно, чтобы каждый партикл соединялся с другими, находящимися на определенном расстоянии от него. Пока что получается соединить только пары близлежащих партиклов с помощью субоператора "Closest Particle Index", а вот как найти расстояние от одного партикла до всех остальных - я не понимаю.



 

Вложения

maiden666

Мастер
Рейтинг
112
#4
к сожалению,Пфлоу не работает с массивами и циклами, но чисто теоретически можно так - найдя ближайшую частицу, строим к ней мостик и запоминаем её ID, далее копируем по цепочке Дата Оператор, но с маленьким изменением - на логический триггер оператора Closest Particle... ( треугольник справа вверху) подаём условие, что ID найденной частицы не равен ранее сохранённому ID, и теоретически тогда должна искаться следующая ближайшая частица
Я пытался сделать нечто подобное, но у меня не получилось, попробуй ты
 

Nordicheskiy

Пользователь сайта
Рейтинг
4
#5
к сожалению,Пфлоу не работает с массивами и циклами, но чисто теоретически можно так - найдя ближайшую частицу, строим к ней мостик и запоминаем её ID, далее копируем по цепочке Дата Оператор, но с маленьким изменением - на логический триггер оператора Closest Particle... ( треугольник справа вверху) подаём условие, что ID найденной частицы не равен ранее сохранённому ID, и теоретически тогда должна искаться следующая ближайшая частица
Я пытался сделать нечто подобное, но у меня не получилось, попробуй ты
Спасибо за совет, попробую
 
Рейтинг
33
#6
Нужно использовать инструментарий под задачу. У ПФ есть своя ниша, но делать чтото более менее сложное лучше с помощью ТП. Тем более есть три ДВД по ТП которіе дают отличніе базовіе знания, чего не скажешь о дата опреаторе в ПФ. Еслибі разработчки ПФ не уволили из автостола может біть все біло бі намного лучше, но имеем т очто имеем...
 

moreeasy

Знаток
Рейтинг
25
#7
что ID найденной частицы не равен ранее сохранённому ID, и теоретически тогда должна искаться следующая ближайшая частица
По какой теории?!
Было четко указано - искать ближайшую частицу в пространстве, ограниченном сферой с таким то радиусом и телесным углом во столько то градусов!?
Нашли? - Нашли!
А теперь еще и булевую операцию добавляем триггером:
ID частицы найденной, соответствует само себе?
- Если да, то False
- А если даже и True (в гипотетическом случае несоответствия) то, все равно, все в корзину! Крантик то откроется, но схема сольет все те же координаты ближайшей частицы.
 
Последнее редактирование:

maiden666

Мастер
Рейтинг
112
#8
возможно. Я-же написал, что у меня эта схема не сработала, и я не стал ковыряться дальше, были идеи сохранять в New и потом считывать, но не стал закручивать себе мозги, учитывая, что в ТР это можно сделать проще
 

maiden666

Мастер
Рейтинг
112
#9
и кстати, столкнувшись с проблемой "поиска самой себя", я просто сделал две системы, и искал ближайшую из соседней
И возвращаясь к дискуссии по поводу "универсальной программы" - в той же Гудини или Кси мы получаем массив частиц внутри заданного радиуса, а не одну, как в ПФлоу, и жизнь резко упрощается
 
Последнее редактирование:

Nordicheskiy

Пользователь сайта
Рейтинг
4
#10
- А если даже и True (в гипотетическом случае несоответствия) то, все равно, все в корзину! Крантик то откроется, но схема сольет все те же координаты ближайшей частицы.
Да, так и выходит.
Для теста пытался сделать 2 дата оператора, в первом нашел ближайшие ID партиклов и соединил их, а во втором взял просто рандомные ID вместо ближайших, но при этом макс просто зависает)
 

moreeasy

Знаток
Рейтинг
25
#11
были идеи сохранять в New и потом считывать
На мой взгляд, очень даже верная идея! Не могу утверждать (равно как и отрицать), что это единственный путь, но при всей его громоздкости другого пока не нахожу...
Приношу свои извинения за то, что перечу своим правилам не предоставляя доказательства. Но если честно, я сейчас не в состоянии проштудировать весь алгоритм в data_plexus_test2.max, любезно предоставленный Nordicheskiy.
 
Сверху