Показать весь слой в After Effects с частичным перекрытием маски

Я ищу способ показать весь мой слой, когда часть моей маски покрывает слой. У меня есть композиция с несколькими отдельными слоями, которую я хочу раскрыть с помощью матовой маски. Однако скажем, когда 30 процентов слоя покрыто, я бы хотел, чтобы весь слой появился. Когда он меньше 30 процентов, слой не должен появляться.

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

Насколько я вижу, путь к этому будет через выражения. К сожалению, «выражения» AE, похоже, не имеют параметра для запроса отдельных точек маски и, таким образом, сбора данных для расчета размера, который они охватывают. Я думаю, было бы полезно, если бы вы описали, чего вы пытаетесь достичь, чтобы другие могли подумать, есть ли другой способ, чем вы себе это представляете.
Например, я не совсем понял, как (и почему) маска меняет свой размер, какая форма (квадратная, круглая, эллиптическая, сложная) и т.д.стр.
Конечно! Я делаю проект, который пытается объединить искусство и музыку. Есть столбцы картин в художественном произведении. Ключевые моменты маскирования извлекаются из аудиозаписи музыки, так что она становится больше в более громких точках. Маска, которую я создал, представляет собой прямоугольник, помещенный в центр рисунка. Поскольку произведение представляет собой группу отдельных композиций, я бы предпочел, чтобы части появлялись вместе.
Если провести аналогию, это было бы похоже на раскрытие блоков лего с маской. Вы хотите, чтобы они были видны с маской, но блок лего выглядит как единое целое, а не как части.
Итак, просто идея: уровни звука относительно эквивалентны размеру маски, верно? Поэтому, если вы не можете запросить размер маски, вы можете использовать значения уровня звука, чтобы дополнительно установить непрозрачность с помощью выражения, что было бы довольно просто...
motionscript.com/design-guide/basic-audio.html , что, вероятно, вы уже делаете, если размер маски соответствует уровню звука ... просто дополнительно добавьте его к непрозрачности! (если я неправильно понял, что вы хотите сделать;)
Правильно! Думаю, я понимаю, что вы имеете в виду, но я думаю, что пытаюсь сделать что-то немного другое. Я поставлю более подробную информацию в терминах лего, чтобы увидеть. В композиции есть стена из лего. Я раскрываю эти отдельные слои (по одному на каждый блок) с помощью прямоугольника маски (набора подложки) в центре, масштаб которого определяется аудиофайлом. Таким образом, чем громче звук, тем больше блоков раскрывается. Однако я хочу изменить то, что я хочу, чтобы лего появлялось или нет. Я не хочу, чтобы маска открывала части блока, как сейчас. Отличается ли это от того, что звучало раньше?
Я думаю, ваше описание того, что вы хотите, было бы намного проще с несколькими картинками/набросками/скриншотами - это немного сложно понять в виде текста!

Ответы (1)

Итак, если продолжить аналогию с блоками Лего:

  1. Сначала вам нужно добавить эффект включения и выключения для ваших блоков. Вы можете найти здесь, как.
  2. Затем вы должны добавить обнаружение столкновений. Вы можете найти об этом здесь .
  3. Теперь вам нужно вызвать эффект включения и выключения, когда ваш объект (маска?) сталкивается с блоком.

Сама не пробовала, а теперь очень хочу попробовать!

Спасибо огромное! Это здорово спасибо!! чтобы уточнить, как вы предлагаете, будет означать, что я копирую код из обнаружения столкновений в эффект включения/выключения? Кажется, код можно использовать сам по себе, чтобы иметь эффект включения/выключения, говоря, что он включен (100% непрозрачность), когда он обнаруживает столкновение, и выключен (30% непрозрачность) в противном случае. Если это возможно, то где в слое вы бы разместили код коллизии, если бы не использовали эффект включения-выключения?
Повторюсь, у меня нет опыта в этом. Вы должны попробовать это пару разных способов на 2-3 объектах, и когда вы найдете правильный способ, просто сделайте это для всего проекта.