1. Пользоваться форумом на планшетах и телефонах стало удобнее благодаря Tapatalk

Динамическая вязкость жидкости.

Тема в разделе "Houdini", создана пользователем Shiva, 18 май 2012.

Модераторы: виталий антоновас
  1. Shiva

    Shiva Мастер

    С нами с:
    18.10.2001
    Сообщения:
    67
    Симпатии:
    0
    Баллы:
    204
    Нужно динамически менять вязкость жидкости.
    Для этого подключаю vopsop регулирующую вязкость для нужных частиц в жидкости к ноде солвера жидкости.
    Все работает но не понимаю как сделать историкозависимое изменение.
    Т.е. так чтобы изменения вносились относительно предидущего состояния. Ведь у позиции и других параметров есть история - Pos previous.
    Подскажите Как?
    Пока единственная мысль - как-то передавать частицы из жидкости в партиклы и там пытатся изменять параметры вязкости для каждой отдеьной частицы а потом как то переносить эти параметры на жидкость. =\
     
  2. sanchoflat

    sanchoflat Активный участник

    С нами с:
    07.02.2011
    Сообщения:
    190
    Симпатии:
    0
    Баллы:
    11
    а если включить viscosity у партиклов и потом либо как говоришь - voppop или попробуй viscosity by attribute, к примеру меняй вязкость по цвету, где белый - вязкость 100%, где черный - 0%
     
  3. Shiva

    Shiva Мастер

    С нами с:
    18.10.2001
    Сообщения:
    67
    Симпатии:
    0
    Баллы:
    204
    зачем по цвету? почему не создать кастомный атрибут? Тем более сам viscosity тоже можно менять.
    Собственно вопрос не в этом был. Ответ нашел уже. Оказывается vopsop подключенный к FlipSolver уже все умеет. Просто create attributre надо писать експрешен с сылкой на этот же атрибут т.е. $VISCOSITY + 100 например. и так каждый TimeIcrement будет меняться и вязкость.
    Только вот считается это все на реальной задаче безумно долго. (((
     
  4. виталий антоновас vip

    виталий антоновас Moderator Команда форума

    С нами с:
    02.11.2006
    Сообщения:
    620
    Симпатии:
    67
    Баллы:
    280
    to sanchoflat
    А можно в двух словах раскрыть этот вопрос? Я буквально вот на днях рыпнулся в эту вкладку увидел by attribute а вот как прикрутить аттрибут из SOP`a в DOP что-то с наскоку не придумал((
    Мож эта тема была бы многим интересна?
     
  5. sanchoflat

    sanchoflat Активный участник

    С нами с:
    07.02.2011
    Сообщения:
    190
    Симпатии:
    0
    Баллы:
    11
    смотри, я пока конечно особо не заморачивался, но по идеи - ты создаешь атрибут , к примеру для плейна, изменяешь его ( paint'ом) чтобы увидеть результат и уже в самих флюидах вписываешь этот атрибут. По крайней мере с pop'ами работало.
     
  6. виталий антоновас vip

    виталий антоновас Moderator Команда форума

    С нами с:
    02.11.2006
    Сообщения:
    620
    Симпатии:
    67
    Баллы:
    280
    хм,да вот как раз-таки вот и делал именно так((( пишет что "...attribute is missing..." хотя вязкость всё работает.Я тут нарыл инфу,что в ДОП"е можно юзать експрешн для выдергивания аттрибутов из СОПа тоже point(),но синтаксис там немного другой point( $OBJID, 0, "Cd", 0)
    То есть,я так понимаю,что в переменную $OBJID надо как то "запхать" объект,с которого читается этот аттрибут.Мож как-то проще можно?
     
  7. виталий антоновас vip

    виталий антоновас Moderator Команда форума

    С нами с:
    02.11.2006
    Сообщения:
    620
    Симпатии:
    67
    Баллы:
    280
    Продолжу свои изыскания. Меня немного понесло не в ту степь.Всё проще.В DOP создаём SOP Solver,втыкаем его во FLIP Solver,заходим туда там создаём аттрибут,с названием viscosity, во FLIP Solver ставим галочку by attribute, там уже по умолчаниию написано "viscosity" и наш солвер уже начинает для вязкости использовать аттрибут из SOP Solver, а если в значении аттрибута вбить,например $T то жидкость будет твердеть со временем.
     
  8. виталий антоновас vip

    виталий антоновас Moderator Команда форума

    С нами с:
    02.11.2006
    Сообщения:
    620
    Симпатии:
    67
    Баллы:
    280
    собственно вот, что получилось.Сделал давно,но видя тишину на форуме,решил немного разбавить молчание)))

     
    форин нравится это.
  9. sanchoflat

    sanchoflat Активный участник

    С нами с:
    07.02.2011
    Сообщения:
    190
    Симпатии:
    0
    Баллы:
    11
    такой вопрос, не могу никак разобраться. если я создаю эммитер с помощью геометрии, а не через поинты и в сопсолвере подклюнном к флипсолверу пытаюсь добавить к флиам атрибут, то солвер его не сохраняет, если я использую вдальнейшем атрибт трансфер, единственный вариант - создать атрибут креэйт на референсной геометрии, прописать значения по дефолту и трансфернуть на мою геометрию, но таким образом не работает парамер blend width чтобы сгладить края. и не очень понятно как к примеру создать и передать, ЧТОБЫ еще и сохранился атрибут цвета.
    Если же я превращаю геометрию в партиклы и потом импортирую во флипы, то проблем нету, я в сопе создаю атрибут и он передается и все отлично работает.
    Почему если к партиклам в соп солвере прикрутить новый атрибут и начать его трансферить - он не сохрняется?
     
Модераторы: виталий антоновас

Поделиться этой страницей