Effect — различия между версиями
Dsyrovat (обсуждение | вклад) |
Dsyrovat (обсуждение | вклад) |
||
Строка 6: | Строка 6: | ||
=Эффект БЛЮР= | =Эффект БЛЮР= | ||
− | Эффект блюр позволяет создавать дребезжание | + | Эффект блюр позволяет создавать дребезжание объекта. Например, раздвоение объекта. |
==Механизм работы эффекта БЛЮР== | ==Механизм работы эффекта БЛЮР== | ||
Ситуация: | Ситуация: |
Версия 06:54, 4 октября 2017
Effect - объект редактора, предназначенный для создания различных визуальных эффектов, которые визуализируется (проявляются) в зависимости от частоты кликов пользователя по заданной области проявления эффекта.
Обьект Effect расположен в Main objects
Важное замечание!
Эффект БЛЮР и ДЫМ не могут быть вызваны одним экземляром класса Effect
Эффект БЛЮР
Эффект блюр позволяет создавать дребезжание объекта. Например, раздвоение объекта.
Механизм работы эффекта БЛЮР
Ситуация:
Пользователю необходимо отключить звенящий будильник. Пользователь на экране видит дребезжащий будильник. По клику на будильник дребезжание будильника прекращается.
Порядок действий:
- На сцене размещаем машину состояний с графическим ресурсом будильника. Назовем ее БУД. Обработка клика на машину состояний стандартная.
- На сцене размещаем объект Effect. Положение объекта Effect должно полностью совпадать с положением машины состояний БУД!
- Свойству Объект эффекта БЛЮР устанавливаем значение машину состояний БУД. Значения других свойств эффекта БЛЮР оставляем стандартными.
Параметры эффекта Блюр
Свойства объекта Блюр
- Объект (obj) - Объект, к которому будет применен эффект блюр.
- Продолжительность (tm) - продолжительность эффекта. По умолчанию 4000.
- Отклонение (dev)-. Чем больше отклонение, тем больше "отскакивает" в разные стороны от центра объекта По умолчанию 10. При задании значений больше 90 объект "скачет" по диагонали.
- Скорость (vel) -Скорость "дрожания" объекта. По умолчанию 1000.
- Прозрачность (al) - По умолчанию 0.5.
Состояния
- beg - включить проявление Блюра
- end - остановить проявление Блюра
Замечание! По умолчанию Блюр находится в состоянии end
Эффект ДЫМ
Физическое объяснение работы эффекта ДЫМ
Область проявления эффекта(ОПФ) — строго ограничена. (В данной версии редактора область только прямоугольная).ОПФ является непрерывной поверхностью и находится в ожидании клика пользователя.
При одинарном клике внутри ОПФ проявляется объект с набором параметров, установленными в свойствах объекта Effect, и параметров, определяемых частотой, силой кликов и координатами клика внутри ОПФ. Далее этот объект будем называть излучателем.
При одинарном клике по ОПФ , излучатель направляет во все направления частицы при этом большая часть частиц распространяется вдоль отрицательной оси У (вверх). Чем дальше частицы удаляются от центра излучателя , тем они становятся светлее. На рисунке отображена картинка, которую увидит игрок.
При наличии 2 и более излучателей, находящихся на достаточном малом расстоянии друг от друга, большая часть частиц излучателей будет распространяться по направленному отрезку, образованному двумя излучателями. На экране игрок увидит эффект как от движения ручки по бумаге.
При наличии на экране 2 и более излучателей, удаленных друг от друга на достаточно большом расстоянии внутри ОПФ, частицы излучателя начинают взаимодействовать друг с другом.
Пусть в области ОПФ есть 4 излучателя. На схеме цветными кружками отображены излучатели, и цветными полями отображены направления распространения частиц излучателя. Пусть необходимо определить яркость частицы в точке Z. Не вдаваясь в математические вычисления, яркость частицы в точке Z будет равна средневзвешенному значению яркости частиц, расположенных вблизи точки Z. Все частицы излучателя влияют на яркость соседних.
Механизм работы эффекта ДЫМ
При клике по заданной области на экране проявляется визуальный эффект, который распространяется в границах заданной области
- в зависимости от «силы» клика проявляется эффект
- в зависимости от координаты точки клика внутри ОПФ эффект будет распространяться по всем направлениям
- при одинарном клике эффект движется направленно верх.
- при увеличении частоты кликов эффект начинает двигаться направленно вверх при этом высота эффекта увеличивается
- при достижения верхней / нижней границы заданной области эффект может начать двигаться вдоль нее
- при достижении правой/левой границы эффект может начать двигаться внутрь заданной области
- при нажатии на кнопку мыши и начале движения в любую сторону внутри области эффект начнет вести себя как ручка по бумаге
- при резком отведении нажатой мышки к границе ОПФ в области , находящейся близко к границе ОПФ, создается несколько излучателей/
Взаимодействие с картинками эффекта ДЫМ
Пусть Effect лежит поверх картинки.
- После рассеивания всех частиц излучателей на картинке проявится граница ОПФ. Для устранения этого эффекта рекомендуется установить прозрачность объекту Effect.
- При необходимости добавления эффекта в строго ограниченные не прямоугольной области, например, создание эффекта воды в озере, необходимо области, на которых не должен проявляться эффект, "закрыть" фоном
- По умолчанию частица эффекта белого цвета. Есть возможность подгружать частицы любого размера.
Параметры эффекта ДЫМ
Внимание! Параметры обьекта будут уточняться!
Свойства объекта Дым
Название параметра на английском | Названия параметра на русском | Название параметра в xml | Характеристика параметра | Значение по умолчанию |
частица | smPart | Ресурс частицы | Цвет частицы - белый | |
w | Ширина распространения эффекта | w | Значения до 40. Увеличивает ширину излучения. Чем меньше значения, тем шире | 70 |
h | Высота распространения эффекта | h | До 200. Чем больше значение, тем выше | 70 |
Velocity diffusion | Скорость диффузии | Vd | Значение до 25. Больше скорость , больше температура | 0 |
Diffusion itterations | Количество итераций диффузии | di | До 400 | 0 |
Pressure diffusion | Давление диффузии | pd | Больше давление, больше частиц. Рекомендуется ставить до 10 | 0 |
Ink diffusion | Плотность газа | id | Плотность до 800 | 0 |
Velocity friction a | Квадратичное замедление | fva | Замедление распространения частиц. | 0 |
Velocity friction b | Линейное замедление | fvb | Замедление распространения частиц. | 0 |
Velocity friction c | Изменение скорости на заданную величину | fvc | Замедление распространения частиц. | 0 |
Vorticity | Завихренность | vort | Чем больше значение, тем больше вихрей | 0 |
Pressure acc | Давление в точке | pacc | Создаются маленькие излучатели вокруг излучателя. Рекомендуется ставить значение до 50 | 2 |
ink heat | плотность тепла ??? | ih | Вертикально вниз падают частицы | 0 |
Heat force | ???? | hf | Вертикальное падение частиц | 0.1 |
Heat friction a | Квадратичное трение | hfa | 0.5 | |
Heat friction b | Линейное трение Б | hfa | 0.2 | |
Heat friction с | Изменение скорости на заданную величину | hfa | 0.01 | |
Velocity advection | Скорость адвекции | va | Скорость распространения | 150 |
Pressure advection | Давление адвекци | padv | Параметр, влияющий на величину давления частиц | 150 |
Heat advection | Температура адвекции | ha | Моделируемая температура, при которой распространяются частицы | 150 |
Важное замечание
- Параметры Velocity friction a, Velocity friction b, Velocity friction c,Heat friction a,Heat friction b,Heat friction c позволяют управлять процессом распространения частиц по ОПФ. Хотя эффекты, создаваемые перечисленными параметрами можно получить с использованием других.
- Одновременное использование параметров групп Velocity friction или Heat friction приведет к замедлению распространению частиц. Рекомендуется подбирать значения параметров очень аккуратно при условии, что параметр А >B>C.
Состояния эффекта ДЫМ
В данной версии редактора состояний нет.
Параметры, записываемые в options.xml
В данной версии редактора такие параметры отсутствуют
Эффект AMBIENT WITH LIGHT
Параметры :
- awl - Тип эффекта.
- tag - Номер эффекта.
Состояния
- awl_beg - Активировать эффект AmbientWithLight.
- awl_run - Эффект AmbientWithLight работает.
- awl_upd - Обновить параметры эффекта AmbientWithLight.
- awl_end - Деактивировать эффект AmbientWithLight.
Замечание! По умолчанию AmbientWithLight находится в состоянии awl_end.
Примеры подборки коэффициентов:
Стартовая картинка:
1) Картинка перекрашивается в темно-синий цвет. Эффект ночи.
r="0.1, 0.0, 0.0, 0.0"
g="0.0, 0.1, 0.0, 0.0"
b="0.0, 0.0, 0.5, 0.0"
2) Цветной негатив.
r="-1.0, 0.0, 0.0, 1.0"
g="0.0, -1.0, 0.0, 1.0"
b="0.0, 0.0, -1.0, 1.0"
3) Черно-белая сепия.
r="1.0, 0.0, 0.0, 0.0"
g="1.0, 0.0, 0.0, 0.0"
b="1.0, 0.0, 0.0, 0.0"
4) Черно-белый негатив.
r="-1.0, 0.0, 0.0, 1.0"
g="-1.0, 0.0, 0.0, 1.0"
b="-1.0, 0.0, 0.0, 1.0"
Пример подключения эффекта AmbientWithLight:
Пример использования обьекта Effect
Примеры эффектов создаваемых с использованием обьекта Effect расположены по ссылке. В проекте 28 экранов, на каждом из которых расположен один пример эффекта с описанием применяемых параметров.
Перекрашивание графики
Для начала - перекрашиваемая графика должна быть максимально осветлённая ( чтобы точнее перекрасить цвет, чем темнее графика - тех меньше будет влиять перекрашивание).
Имеем графику:
Далее, производим махинации - узнаём при помощи пипетки ( Photoshop ) цвет эталлоного пикселя ( один и тот же пиксель, на нужной и на осветлённой графиках). Заносим полученные значения RGB каналов в таблицу, и для каждого канала узнаём процент цвета ( делим нужный цвет на эталонный).
Полученные % используем в объекте effect:
Далее всё по обычному - указываем тип эффекта awl, указываем номер эффекта и передаём сост. "awl_beg", результат: