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

хорошее дело курвой не назовут ..

Тема в разделе "RenderMan", создана пользователем sergey toktarov, 31 июл 2002.

Модераторы: Moderator.
  1. sergey toktarov

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

    С нами с:
    09.01.2001
    Сообщения:
    73
    Симпатии:
    0
    Баллы:
    7
    проблема в следующем. после того как натравливаешь на кривульку MtorCurveAttribute в риб генерится что-то вроде
    ====
    Curves "cubic" [9] "nonperiodic" "P" [0 0.0219941 0.02199410 0.0219941
    0.0219941 0 0.0219941 0.0219941 0 0.967742 0.483871] "constantwidth" [0.1]
    ====
    естественно рендерится кривая с постоянной толщиной 0.1.после исправления ручками "constantwidth" на "width" и прописывания параметров толщины все нормально . рендерится кривулька с переменной толщиной.
    так вот. каким макаром генерить риб из майи с кривой переменной толщины ?

    P.S. передача атрибута "width"через риббокс прманом благополучно игнорируется.
    P.P.S. я допускаю, что разгадка где-то на поверхности ибо умного человека de_billом не назовут :))
     
  2. Guest

    Если человеческого решения сей проблемы нет то
    вкрайняк можно это зафэйкать это дело на уровне шейдера.
    Поскольку u - ползет вдоль курвы а v - поперек то соответственно
    путем бесхитростных манипуляций можно просчитать прозрачность
    по v в зависимости от u. Кстати так будет даже лучше ибо кривизну можно
    занойсить.
     
  3. sergey toktarov

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

    С нами с:
    09.01.2001
    Сообщения:
    73
    Симпатии:
    0
    Баллы:
    7
    наверное я так бы и сделал, но проблема носит исключительно экспериментально-лабораторный характер :)
     
  4. Guest

    Дык в доке прописано:
    Currently we support only a constant width curves.
     
  5. sergey toktarov

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

    С нами с:
    09.01.2001
    Сообщения:
    73
    Симпатии:
    0
    Баллы:
    7
    ага. но хочется верить, что хитрым способом это можно обойти :)
     
  6. Guest

    Типа залезть в .mll-ку и расхакать ее нафик :) Вообще-то рулить в шейдере Oi - самый тазик, так что я сильно сомневаюсь, что им есть смысл имплементить "честную" переменную толщину...
     
  7. Guest

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

    surface hair (float Ka = 1, Kd = .6, Ks = .35, roughness = .15;
    color rootcolor = color (.109, .037, .007);
    color tipcolor = color (.519, .325, .125);
    color specularcolor = (color(1) + tipcolor) / 2;
    )
    {
    vector T = normalize (dPdv); /* tangent along length of hair */
    vector V = -normalize(I); /* V is the view vector */
    color Cspec = 0, Cdiff = 0; /* collect specular & diffuse light */
    float cosang;

    /* Loop over lights, catch highlights as if this was a thin cylinder */
    illuminance (P) {
    cosang = cos (abs (acos (T.normalize(L)) - acos (-T.V)));
    Cspec += Cl * v * pow (cosang, 1/roughness);
    Cdiff += Cl * v;
    /* We multipled by v to make it darker at the roots. This
    * assumes v=0 at the root, v=1 at the tip.
    */
    }

    Oi = Os;
    Ci = Oi * (mix(rootcolor, tipcolor, v) * (Ka*ambient() + Kd*Cdiff)
    + (Ks * Cspec * specularcolor));
    }

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

    Переписал сам, так чтобы нормали кривить, картинки прилагаются:
    http://www.r-m-c.ru/alex/PixHair.jpg - "их" шейдер
    http://www.r-m-c.ru/alex/MyHair.jpg - мой

    Вот теперь сижу и думаю, а может у них там мысль какая глубокая есть, а я так ее и не просек :-(
     
  8. sergey toktarov

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

    С нами с:
    09.01.2001
    Сообщения:
    73
    Симпатии:
    0
    Баллы:
    7
    привет, земляк :)
    незнаю что имел ввиду пиксар, но твой шейдерок правильней имхо . был бы раз увидеть его тут .
    Общая идея по поводу кривых разных толщин такова. коль скоро мы не можем назначить аттрибут курве, мы можем кинуть риббокс на кубик какой-нить :) осталось только написать выгружалку рибов ( по типу пререндера фура) . дело за малым встало :)) Если получится , то Нитисара Монстрович обещал поэксперементировать в этом направлении.

    Кстати. Майямен вроде как умеет вешать этот атрибут. Возможный выход ..генерить рибы майяменов и запихивать их в мтор через риббокс.

    P.S. "Салават Юлаев" - чемпион :)))
     
  9. Guest

    > привет, земляк :)

    Здаров! :)

    > незнаю что имел ввиду пиксар, но твой шейдерок правильней
    > имхо . был бы раз увидеть его тут .

    Шейдер ниже, а с пиксаровским я тоже разобрался. Рульный результат проявляется на общем плане и густых волосах примерно параллельных друг другу - и он мне сильно напоминает волосы у ТойСторевских девочек/мальчиков :) Хотя для полной рульности его надо доводить, конечно, ну типа все же учитывать направление источника и backlight...

    surface hair (float Ka = 1, Kd = .6, Ks = .35, roughness = .15;
    color rootcolor = color (.109, .037, .007);
    color tipcolor = color (.519, .325, .125);
    color specularcolor = (color(1) + tipcolor) / 2;
    )
    {
    vector T = normalize (dPdv); /* tangent along length of hair */
    normal Nf = faceforward( normalize(N), I);
    normal Nn = rotate(vector(Nf), (u - 0.5) * PI, point(0), point(T));

    Oi = Os;
    Ci = Os * (mix(rootcolor, tipcolor, v) * (Ka*ambient() + Kd*diffuse(Nn)) +
    specularcolor * Ks * specular(Nn, -normalize(I), roughness));
    }

    > Общая идея по поводу кривых разных толщин такова. коль скоро
    > мы не можем назначить аттрибут курве, мы можем кинуть риббокс
    > на кубик какой-нить :) осталось только написать выгружалку
    > рибов ( по типу пререндера фура) . дело за малым встало :))

    А нужно ли все это?..

    > P.S. "Салават Юлаев" - чемпион :)))

    Дык всяко! :) Приходи знакомиться кстати :))
     
  10. sergey toktarov

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

    С нами с:
    09.01.2001
    Сообщения:
    73
    Симпатии:
    0
    Баллы:
    7
    > Дык всяко! :) Приходи знакомиться кстати :))
    рад бы, да четвертый год уж живу в столице. хотя..не факт, что мы не знакомы :)
     
  11. Guest

    > рад бы, да четвертый год уж живу в столице.

    Ну воот :-(
     
  12. Guest

    А что Вам мешает пропарсить рибы Perl'ом (или чем Вам больше нравиться) после RIB - генерации и прописать нужные атрибуты?
     
  13. Guest

    Идея такова ....

    По видимому нужно два типа шейдеров для волос

    1. Котрые дают хороший вариант на нормальной крупности ..Тоесть когда толшина волоса в кадре меньше чем 1-3 пикселя.. Это файковый римлайт и подобные идеи такогоже толка..

    2. И втрой тип для супер крупных планов .... С явно выраженным изврашение нормали .... Как у alex'a .. Конечно можно предположить что это будут работать вседа ..Но чесно пионерское ... Такого не произойдет ..Блик нафиг уйдет в небытие ... Что видно в средней и левой чести картинки ...(даже если ставить очень большие самплы..) (http://www.r-m-c.ru/alex/MyHair.jpg) Еще лучше сделать тест псрото с преью волос и все станет на свои места .... :)


    Вообшем тут как раза иглок (это тоже "волосы") вар. 2, а для нормального фура вар. 1 ...Обе реализации шейдеров от JinnDos (Женька Барулин), Моделинг + Лайтинг + настройки этих шейдеров - Тема

    http://www.dream.com.ua/viagra/teko/012_Bird_PROCESS/
    (ежики :) )
     
  14. Guest

    Картинки - супер!!! Браво!!! Костик, Женя, а можно подробнее? Что за проект, что за шейдеры, чем курвы генерили? Ну если не секрет, конечно :)
     
  15. Guest

    Да ни чекрет вообшем .... Ну точнее сказать частично не секрет ...

    Вон сейчас женька слева сидит ..Типа не спавши хрен знает сколько, работу дляелет для сдачи первого этапа ... :)
    Ладно это все не важно ... Проект короткометрыжный фильм на 15 минут ... Там есть совмешенка + чистая CG ...

    Чистой CG около 5 -6 минут ... Ну вообшем там персонажи и они тусуются в парке в сумеречное время (есть много деревьев - будет доклад наверно на виагре)... Вообшем все .. Все это для кино ...

    Кое о чем я вобшем расказывал на семинаре ..Ну на виагре ...
    + наверное раскажу и в ее инет версии ... Когда блин допишу... :)

    Так генерили волосы + еголки ...Досточно сильно переписаным Mtor Utra Fur Generator'ом (Женька + вовчик - програмист ) Дописанным в сторону клампирования (тобиш свалявшиеся волосы - см. стуар литтл) + подекржка более быстрой (бинарный файл вместо текствого) и более правильной выгрузки волос (возможность вставки при помощи "функции density" по поверхности) + с подеркой специально обученного шейдера для волос ....

    Скоро возможно можно будет показать: кота и крысу ....
     
  16. Guest

    Костик как всегда скромно о себе умолчал. А сколько он мне мозги... мял по поводу фура - и так надо и этак...., что Костик не уже забыл? ;))

    Идея взята, понятное дело, у Стюарта Л. (в личной беседе выведал;)) Только наши клампы с волосами лучше (стоооолько настроек, вот Тема уже несколько недель меня переспрашивает за что какой коэффициент отвечает... а я уж и не помню:)
     
  17. Guest

    > Кое о чем я вобшем расказывал на семинаре ..Ну на виагре ...
    > + наверное раскажу и в ее инет версии ... Когда блин
    > допишу... :)

    Скорее бы :)

    > Дописанным в сторону клампирования (тобиш свалявшиеся волосы
    > - см. стуар литтл) + подекржка более быстрой (бинарный файл
    > вместо текствого) и более правильной выгрузки волос
    > (возможность вставки при помощи "функции density" по
    > поверхности) + с подеркой специально обученного шейдера для
    > волос ....

    То есть - это плагин писали под майку или мел?.. А скомканная бумага - суперская? Процедурный шейдер или все же текстуры?
     
  18. Guest

    1. Есть плагин под мтор (он немного отличается от плагина под майку) - он для создания вызова в рибе + для иницилизанции выдачи волос и т.д - Женька

    2. Есть плагин под Maya - для работы функций выгрузки волос с денсити и без нее ну у оригинального плагина от пиксара - Вовчик

    3.Типа процедурный DSO (уже прман) - Женька


    Так бумажка .... Ну там вообшем много всего ... И то и другое в перемежку ...

    Стоп ты так говориш будто остальные матерьялы не видел ...
    Ну там форд + азазель + "hdri" + ...
    http://www.dream.com.ua/viagra/teko/

    А вот тут "плагинов" и скриптов хоть одним местом жуй ...
    http://www.dream.com.ua/viagra/teko/05_tree/ -деревья + трава
     
  19. Guest

    Блин, и точно не видел ведь :( Елки-палки, заработался совсем, надо все бросать и на следующую виагру приезжать обязательно! А HDRI - это как - DSO или шейдер?
     
  20. Guest

    Да нет ..Я там вобшем больше расказывал ..Что собсвенно про сьемку Ref. шарики + ит.д..

    А про то как это использовать в реальности я приводил примеры просто рефлекшен мап ... Ну и простые шейдеров ... Чесное слово...

    Ну мультик вообшем с часами... Модель для рекламы SVLux..

    http://www.dream.com.ua/viagra/teko/21_hdri/9_ClockTest.avi
     
Модераторы: Moderator.

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