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

Difference Key

Тема в разделе "Apple Shake", создана пользователем -, 2 сен 2002.

Модераторы: Григорий Чаленко
  1. Guest

    Подскажите, кто знает, пожалуста, технику процесса "Разностного Ключа" :) Пытался в Shake сделать нечто вроде LayerX
    alpha=r2-r+g2-g+b2-b или то же, но в модуле (abs), или наоборот отнимать r-r2 ... В любом случае, в альфе получается черно-белая смесь двух картинок.

    Постановка задачи: есть снимок клавиш, на которые затем нажимают пальцы. Нужны просто пальцы, без клавиш.
     
  2. Guest

    Собственно экспрешшен

    (r+g+b)!=(r2+g2+b2)?(abs(r2-r)+abs(g2-g)+abs(b2-b)):0

    можешь сам дальше додумать, например давать не точное соответствие, а, типа так:

    abs((r+g+b)-(r2+g2+b2))<(сюда можно local variable повесить и рулить процессом)?1(просто и тупо - 1, маска в этом случае будет грубая):0

    Вот тестовый скрипт, в "идеальных" условиях пашет, для реальных условий надо, конечно рихтовать.
    PS Хотел у ребят на Хайенде поспрошать, тема то действительно полезная, но Хайенд который день в дауне, мож кто знает что там у "Большого Вилли" стряслось?



    Checker1 = Checker(720, 486, 1, 32, xSize);
    Color1 = Color(720, 486, 1, 1, 1, 0, 1, 0);
    Over1 = Over(Color1, Checker1, 1, 0, 0);
    QuickShape1 = QuickShape(720, 486, 1, 0, 0, 0, 1, 1, xScale,
    width/2, height/2, 0, 0.5, 0, 128, 144, 171, 1, 0, 1, 0,
    1, 1, 252, 351, 1, 0, 1, 0, 1, 1, 494, 321, 1, 0, 1, 0, 1,
    1, 526, 214, 1, 0, 1, 0, 1, 1, 404, 128, 1, 0, 1, 0, 1, 1,
    266, 89, 1, 0, 1, 0, 1, 1);
    SetAlpha2 = SetAlpha(Checker1, 1);
    Mask(Color1, QuickShape1, "A", 100, 0, 1);
    SetAlpha1 = SetAlpha(Over1, 1);
    LayerX1 = LayerX(SetAlpha1, SetAlpha2, r, g, b, (r+g+b)!=(r2+g2+b2)?(abs(r2-r)+abs(g2-g)+abs(b2-b)):0,
    z);


    // User Interface settings

    SetKey(
    "nodeView.Checker1.x", "301.25",
    "nodeView.Checker1.y", "273.5",
    "nodeView.Color1.x", "186.25",
    "nodeView.Color1.y", "273.5",
    "nodeView.LayerX1.x", "331.75",
    "nodeView.LayerX1.y", "66.5",
    "nodeView.Over1.x", "247.25",
    "nodeView.Over1.y", "204.5",
    "nodeView.QuickShape1.x", "65",
    "nodeView.QuickShape1.y", "338.75",
    "nodeView.SetAlpha1.x", "217.25",
    "nodeView.SetAlpha1.y", "135.5",
    "nodeView.SetAlpha2.x", "392.25",
    "nodeView.SetAlpha2.y", "135.5"
    );
     
  3. Guest

    Если тупо, то можно и так :)

    LayerX1 = LayerX(0, 0, r==r2?0:1, g==g2?0:1, b==b2?0:1, a, z);
    Reorder1 = Reorder(LayerX1, "rgbl");
    Expand1 = Expand(Reorder1, 0, rLo, rLo, 0, 1, rHi, rHi, 0);
     
  4. Guest

    Можно заменить твой LayerX на два iSub-a и потом один iAdd (у iSub-ов меняются fg и bg) вот так:

    Checker1 = Checker(720, 486, 1, 32, xSize);
    Color1 = Color(720, 486, 1, 1, 1, 0, 1, 0);
    Blur1 = Blur(Color1, 61.3, xPixels, 0, "gauss", xFilter, "rgba");
    QuickShape1 = QuickShape(720, 486, 1, 0, 0, 0, 1, 1, xScale,
    width/2, height/2, 0, 0.5, 0, 128, 144, 171, 1, 0, 1, 0,
    1, 1, 252, 351, 1, 0, 1, 0, 1, 1, 494, 321, 1, 0, 1, 0, 1,
    1, 526, 214, 1, 0, 1, 0, 1, 1, 404, 128, 1, 0, 1, 0, 1, 1,
    266, 89, 1, 0, 1, 0, 1, 1);
    SetAlpha2 = SetAlpha(Checker1, 1);
    Mask(Color1, QuickShape1, "A", 100, 0, 1);
    Over1 = Over(Blur1, Checker1, 1, 0, 0);
    SetAlpha1 = SetAlpha(Over1, 1);
    ISub1 = ISub(SetAlpha2, SetAlpha1, 1, 100);
    ISub2 = ISub(SetAlpha1, SetAlpha2, 1, 100);
    IAdd1 = IAdd(ISub2, ISub1, 1, 100);
    Reorder2 = Reorder(IAdd1, "rgbl");
    Expand2 = Expand(Reorder2, 0, 0, 0, 0, 1, rHi, rHi, 0.049);

    В этом случае можно даже некое подобие "мягкой маски" сотворить, если Expand-om порулить :))
     
  5. Guest

    И там, кстати давно лежит diffKeyRGB v1.0

    http://www.highend2d.com/shake/macros/?group=shakemacros&section=keying

    Самый смех, что работает эта штуковина, именно как мы с тобой, Костик, общими усилиями написали выше (два iSub-a и потом iAdd, я уже ее "распотрошил" :), только управы всякой побольше, но это уже дело техники. Умные мы, все же, мужики :)))))))))))))))))
     
  6. Guest

    Wpiggy привет!
    Тут все ругали Огрызок (Mac), я и сам его бы...в белых тапочках, но в "маковой" версии
    этот дифференс кей есть штатный :)
     
  7. Guest

    Стас, привет!

    Может найдутся добрые люди и под PC что-то похожее откомпилят, извраты с ColorX, LayerX и WarpX тормозят по определению :) Проблема в том, что SDK нет в свободном доступе (и, наверное, не будет). А то так бы на Хайенде откомпиленые (читай, гораздо более быстрые) скрипты бы лежали :)
     
  8. Guest

    Большое спасибо! Пошел пробовать...
     
Модераторы: Григорий Чаленко

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