Урок Houdini "Основы VEX" - Часть 2

แชร์
ฝัง
  • เผยแพร่เมื่อ 2 ม.ค. 2025

ความคิดเห็น • 43

  • @КостяТейлор
    @КостяТейлор 4 ปีที่แล้ว +5

    Вы великолепны, спасибо вам.

  • @aarrsseennyy
    @aarrsseennyy 4 ปีที่แล้ว +1

    Спасибо. Подумал как можно проще это реализовать и сделал через pop solver, задавая случайно одно из 8 направлений частицам

  • @vitaliikravchuk4202
    @vitaliikravchuk4202 4 ปีที่แล้ว +3

    Да, я ещё не посмотрел, но лайк поставил

  • @Ly4nik1Bowman1
    @Ly4nik1Bowman1 4 ปีที่แล้ว +5

    у меня для этих целей припасена целая тетрадка с набором разноцветных ручек, рекомендую)

  • @aleksandrchatsky5373
    @aleksandrchatsky5373 11 หลายเดือนก่อน +1

    смещение по y не происходит
    :(

  • @СтаниславХохлов-ъ7ы
    @СтаниславХохлов-ъ7ы 4 ปีที่แล้ว

    Супер!

  • @bladealient34
    @bladealient34 4 ปีที่แล้ว

    Хм, думаю по этому принципу я пущу машинки по городу из предыдущей части :) Пока домики до ума доведу и пропробую их спрецировать на настоящий кусок города, только бы понять как правильно считать данные об этажности из соответствующего атрибута :) Но пока домики долеплю :) Уже сделал балконы, чердаки, наметки тротуаров :) Осталось разобраться ещё с несколькими моментами. Может даже сделать вариации зданий. Ещё подъезды. Газоны. В общем у кого-то майнкрафт, а у меня гудини :))))

  • @ЭмильМансуров-с8й
    @ЭмильМансуров-с8й 3 ปีที่แล้ว

    как в sublime сделать чтобы команды разными цветами подсвечивались?

  • @WPSoul
    @WPSoul 4 ปีที่แล้ว +3

    хорошо бы урок с подробным описанием функций с координатами: minpos, xyzdist, primuv,prim, создания геометрии: addpoint, addvertex, polyline, и поиска точек nearpoints, point clouds В 99% случаев именно эти функции используются в вранглах и постоянно приходится лезть на вики чтобы освежить память

    • @bladealient34
      @bladealient34 4 ปีที่แล้ว

      Можно или даже нужно завести тетрадку и выписать себе значения функций и их применение. Ну или Документ, хоть в том же гугл докс.

  • @tauron7777
    @tauron7777 4 ปีที่แล้ว +2

    Ох что-то жестко скакнула сложность с первой части))

    • @hipnc
      @hipnc  4 ปีที่แล้ว

      Да вроде не так много новых сведений. Если что-то осталось непонятным - спрашивайте.

    • @tauron7777
      @tauron7777 4 ปีที่แล้ว

      @@hipnc боюсь вопросов будет слишком много и в моём случае это видимо пока лишние дебри) Из первой части показалось, что будет векс для новичков в гудини в целом, а тут уже кажется, что скорее для новичков именно в вексе, которые хотя бы с вопом нормально освоились)

    • @hipnc
      @hipnc  4 ปีที่แล้ว +2

      Да, перед тем, как погружаться в Векс, лучше освоиться с другими вещами, поэтому я всегда и говорю, что программирование - дело опциональное.

  • @cjidjdbckkfoewlqpqppp7319
    @cjidjdbckkfoewlqpqppp7319 3 ปีที่แล้ว

    А обязательно учить vex, разве не достаточно vop?

  • @yozhbig8191
    @yozhbig8191 4 ปีที่แล้ว +2

    как номер точки +100 и умноженное на 3, может равняться от 0 до 2???

    • @yuriylazutin697
      @yuriylazutin697 4 ปีที่แล้ว +3

      Возможно тут у автора ошибка, а может быть и нет. Это зависит от того, включена ли 1 в диапазон генерируемых псевдослучайных чисел или нет (в хелпе про это ничего не сказано :( ). Но даже если ошибка есть, она будет проявляться крайне-крайне редко, так как вероятность того, что генератор сгенерирует крайние значения очень мала. А работает всё следующим образом:
      1) Функция rand генерирует псевдослучайное дробное число в диапазоне от 0 до 1, и в качестве параметра принимает так называемый seed (семя) - число, которое используется для инициализации генератора псевдослучайных чисел. Если seed задать одинаковый, то псевдослучайное число будет одним и тем же. Во многих языках программирования в качестве seed используется текущая дата и время, так как это значение является достаточно случайным, но в Гудини время не используется и seed нужно придумать самим. Автор использует в качестве seed номер точки + 100. В результате мы будем получать числа вида:
      0, 0.334 ... 0.7354, 0.9453, 1
      Вероятность появления крайних значений 0 и 1 крайне мала.
      2) Далее результат полученный от функции ранд умножается на 3 и числа превратятся в числа из диапазона от 0 до 3:
      0, 1.002, ... 2.2062, 2.8359, 3
      3) Далее floor округляет вниз до ближайшего целого, т.е. получим:
      0, 1, ... , 2, 2, 3
      Т.е. все правильно, за исключением случая когда генератор выдаст крайнее значение = 1.

    • @hipnc
      @hipnc  4 ปีที่แล้ว

      Эта сумма является сидом для псевдослучайного числа. О том, как работает рандом, я рассказываю в этом видео: th-cam.com/video/L3CD6OAKC-4/w-d-xo.html

    • @hipnc
      @hipnc  4 ปีที่แล้ว

      Я никогда не сталкивался с единицей как результатом рандома. В данном случае это не важно, потому что мы просто пойдем в последний else и выполним диагональный вариант сдвига.

    • @yozhbig8191
      @yozhbig8191 4 ปีที่แล้ว

      @@hipnc я к тому, что например номер точки 6, тогда (6+100)×3 это ведь ну ни как не от 0 до 2

    • @hipnc
      @hipnc  4 ปีที่แล้ว +2

      На три домножается уже результат функции rand, то есть число от 0 до 1.

  • @izvarzone
    @izvarzone 4 ปีที่แล้ว

    Можно ли еще как-то сделать, чтоб было минимальное количество шагов в определенном направлении? Например, как минимум 3 точки будут идти по диагонали.

    • @hipnc
      @hipnc  4 ปีที่แล้ว

      Да, можно завести переменную-счетчик или даже использовать номер итерации и операцию %3, и потом, если этот счетчик не дошел до трех, используем старое значение. Проще всего брать рандом не от номера итерации, а от floor(i/3) - так рандом будет одинаковый для группы из трех точек.

  • @ЕвгенийЗенкевич-э8у
    @ЕвгенийЗенкевич-э8у 4 ปีที่แล้ว

    Спасибо за уроки. Вопрос. Как в attribwrangle менять параметры геометрии? Например, задать высоту тюба. Пробовал с помощью команды setdetailattrib(geoself(), "height", 0.6);. Не работает :( Идея в том, чтобы с помощью if задавать разные размеры геометрии

    • @hipnc
      @hipnc  4 ปีที่แล้ว +1

      Чтобы менять высоту геометрии нужно двигать точки, то есть сдвигать их атрибут @P. Если речь идет о примитивных элементах типа Tube, Sphere и т.п., то их размеры нужно будет задавать через интринсики.

  • @АлександрЗайков-щ6ж
    @АлександрЗайков-щ6ж 4 ปีที่แล้ว

    Стас привет,хотел спросить.вот создал cферу,добавил нормали и в ноде" polyframe", у меня нормали смотрят по касательной под углом (к примеру),45 градусов и нет возможности этот угол изменять,затем добавил vop.там с помошью трансформ матрикс повернул нормали на сколько мне нужно,но со сферой получился казус,нормали которые выше нулевых координат по оси Y,смотрят и поворачиваются как надо,а вот уже ниже нулевых координат,нормали как бы смотрят "внуть сферы".как это исправить?

    • @hipnc
      @hipnc  4 ปีที่แล้ว +2

      Надо поворачивать не на абсолютный угол, а крутить вокруг какой-то оси. Например вокруг исходной нормали, которая смотрит перпендикулярно. Для этого есть функция Rotate.

  • @dj_multiple_one
    @dj_multiple_one 4 ปีที่แล้ว

    хоть убей не пойму, почему в primuv("P" - в кавычках(хотя это же атрибут тоже), а всё остальные атрибуты после собаки). Спасибо за урок)

    • @hipnc
      @hipnc  4 ปีที่แล้ว +3

      Потому что здесь мы передаем не значение атрибута, а его название. Мы говорим функции primuv, что хотим прочитать атрибут с названием "P".

  • @TheLenaelochka
    @TheLenaelochka 4 ปีที่แล้ว

    Здравствуйте! как то можно к вам попасть на курс по vex для нулячих? сколько это стоит?

    • @hipnc
      @hipnc  4 ปีที่แล้ว +1

      Увы, нет. Сейчас я не провожу занятия.

  • @MrDimkok
    @MrDimkok 4 ปีที่แล้ว

    Здравствуйте. Что думаете о качестве курсо на скиллбоксе? skillbox.ru/course/special-effects/ думаю вот пойти к ним учится

    • @hipnc
      @hipnc  4 ปีที่แล้ว +4

      Не имею представления и вообще стараюсь не давать оценок другим учителям. Эффективность любых курсов прямо пропорциональна заинтересованности ученика, даже с самым плохим учителем можно чему-то научиться, если для тебя это важно. И наоборот, самый крутой курс не даст ничего тем, кто ждет мгновенного результата и не хочет работать.

  • @dddmod6596
    @dddmod6596 4 ปีที่แล้ว

    Отличное объяснение! но несмотря на это все еще остается большой зазор между реальной работой в гудини и данной информацией. То что показано в видео действительно разжовано и понятно. Ну и грубо говоря все - теперь я просто понимаю как работает код из видео. Но вот заходиш в хелп чтобы скопировать себе шаблон похожего кода и переделать на свой лад и просто понимаеш что тебе показалось и ничего ты не понял. Возьмите нескольких из ваших новых студентов и дайте им какое то универсальное задание и посмотрите во что конкретно упираются новички. Научите правильно мыслить, когда непонятно что нужно сделать, какими категориями думать чтобы добраться до результата и т п. Вплоть до того чтобы листать хелп и бубнеть про себя в слух, или чтото такого плана чтобы было понятно как профи решают загвоздки. Потому что - вот ты уже знаеш код из видео, но все что ты теперь можеш сделать нового это такой же ассет или похожий. И это все никак не помогает когда ты береш другой кусок кода из хелпа и пытаешся подложить значения а они почему то не работают. Вот где реальная проблема - свежая задача и ступор когда не понятно что дальше сделать и как правильно. Надо код расчехлить на логичные самые мелкие части и как то обяснить взаимосвязи. Еще хелп этот написан себе на уме - никаких примеров, списка терминов, нормальной навигации - все гдето там есть в этом винигрете но только для галки, ну и для прохаваных. Вот что такое функция - в хелпе она то в круглых скобках то в фигурных, то еще как то - и каши становится только больше. Это же код блин а не стихотворение, все можно систематизировать и запихнуть в какую то таблицу, сам хелп сделать удобным, интерактивным и т п. Но этого не будет скорее всего. Если бы не этот канал можно было бы вообще рехнуться

    • @hipnc
      @hipnc  4 ปีที่แล้ว +1

      Это типичная проблема при изучении программирования вообще. Нужно постепенно ставить простые задачи и решать их вексом. Нужна практика, со временем все нужные связки функций закрепятся в памяти.

  • @slavadojdewick6368
    @slavadojdewick6368 3 ปีที่แล้ว

    Когда сложность первого урока возросла..полностью.

  • @svetlanasmolina5299
    @svetlanasmolina5299 2 ปีที่แล้ว

    Интересный урок, сложный VEX

  • @LizaStricka
    @LizaStricka 4 ปีที่แล้ว +1

    th-cam.com/video/dldgf0Dph60/w-d-xo.html Название атрибута)

  • @dmitryloshkov1372
    @dmitryloshkov1372 4 ปีที่แล้ว

    Я не хочу быть патроном :( Хочу остаться человеком.

    • @hipnc
      @hipnc  4 ปีที่แล้ว +1

      Ну хотя бы на треть!