Metaballs. Вода
Пару недель отдохнул, можно продолжить с каплями…
Итак, типа капли чернил у нас есть, теперь на основе этого метода сделаем капли воды. Вода отличается от чернил тем, что она прозрачная (глубокомысленно!). А чтобы ее такую прозрачную было все-таки видно, надо ей добавить способность преломлять свет и положить ее (а точнее, конечно, налить) на неодноцветный фон. Изобразить рефракию у нас есть единственный разумный способ – использовать фильтр DisplacemntMapFilter, не делать же полноценный рэй-трэйсинг, в самом деле! В качестве карты для фильтра будем брать спрайт с метаболами, но нужны еще некоторые дополнительные действия.
Итак, теперь поподробнее. На сцене у нас бедет лежать спрайт фона. В примере я использую крупные черно-белые шашечки, чтобы было хорошо видно как именно в каплях искажается фон. К фону прикрепляется DisplacementMapFilter с картой, на которой нарисованы капли. Капли в этот раз будут не черные, а среднесерые. К самому спрайту капель кроме BlurFilter и ColorMatrixFilter (используемых так же, как и в програме с чернилами, для получения эффекта сглаживания формы) добавляется еще GlowFilter:
GlowFilter( 0x000000, 1, 16, 16, 2, BitmapFilterQuality.MEDIUM, true )
У серых капель появляется плавный переход цвета от черного к изначальному cреднесерому от границ к центру. Благодаря этому фильтру спрайт капель в качестве карты для фильтра дисплэйсмента и начинает работать как карты рефракции. Сложное предложение, но не знаю как объяснить иначе. Вообще, DisplacementMapFilter – штука мощная, но нельзя сказать, что интуитивно понятно как работающая. Например, сначала я пытался использовать вместо GlowFilter BevelFilter. Вроде тоже что-то искажается, но видно, что неправильно.
Like this:
Entry filed under: эксперименты. Tags: flash, metaballs, фильтры, эксперименты.
Metaballs. Чернила Metaballs. Кляксы
2 Comments Add your own
Leave a Reply Cancel reply
Trackback this post | Subscribe to the comments via RSS Feed


1.
cruncher | 15/11/07 at 17:17
здорово
а еще есть что-нибудь в этом роде?
2.
watabou | 19/11/07 at 0:42
в этом роде еще предыдущий и следующий посты =)