Форум » Вопрос-Ответ » Помогите с эффектом, plz =) » Ответить

Помогите с эффектом, plz =)

ALIEN XIII: Дорогие друзья-игроделы! В общем, делаю игру и прошу вашей помощи. Не знаю, зачем мне это понадобилось, но вдруг захотел, чтобы на протяжении прохождения уровня поверх экрана проходил плавный дым, в некоторых местах затемняющий локацию. Пробовал делать через стандартные эффекты, в виде серии скриптов effect_create_below(ef_cloud,view_xview,view_yview,0.8,c_black), но они жутко тормозят процесс игры, к тому же на них остаются следы от пересекающихся с ними объектов. Ну так вот, как добиться этого эффекта, чтобы не возникало проблем с производительностью и глюками в самой игре? Заранее спасибо ^^ PS: Примерно это должно выглядеть так:

Ответов - 9

zuko: ALIEN XIII пишет: но они жутко тормозят процесс игры Попробуй пореже создавать дым раза в 4 если допустим у тебя каждый шаг дым создается и скорость комнаты 30 то за секунду от 5 обьектов дым создасться 150 раз.. с этим нужно быть поокуратнее ALIEN XIII пишет: остаются следы от пересекающихся с ними объектов Странно у меня такого не наблюдалось..ты случаем не отключал цвет фона?

ALIEN XIII: zuko пишет: Странно у меня такого не наблюдалось..ты случаем не отключал цвет фона? Как я понял, объекты "перекрашивают" облака из-за того, что у меня игра блюр использует.. zuko пишет: Попробуй пореже создавать дым раза в 4 если допустим у тебя каждый шаг дым создается и скорость комнаты 30 то за секунду от 5 обьектов дым создасться 150 раз.. с этим нужно быть поокуратнее По идее через effect_clear() можно их "перезагрузить", но дело в том, что если прописывать создание облаков Step'e, то опять же мешает блюр (а его убирать не хочется), а в create они слишком прозрачны и быстро исчезают (а чтобы не исчезали нужно создать по нескольку в разных координатах, и получаются те же 50-100объектов). Вот, к тому же эти облака находятся в статичном положении, можно с таким же успехом создать полупрозрачный спрайт (появилась идея анимирования прозрачного спрайта)) Но нет какого-нибудь другого способа сразу перекрыть экран своего рода чёрной облачной рябью? PS: Изначально я задумывал, что участки, где размещены эти облака станут чёрно-белыми, но я абсолютно не представляю как это сделать на Game Maker.

Ban Forever: ALIEN XIII пишет: Но нет какого-нибудь другого способа сразу перекрыть экран своего рода чёрной облачной рябью? сам же и ответил на свой вопрос сделай большую такую текстутру дыма(высота = высота окна, ширина= несколько окон). сделай её закольцованной. оответсвенно расставь прозрачность. и просто накладывай поверх картинки. правда, если захочется эффектор рассевания дыма или резкого появления, придётся покрутиться(но и тут есть способ, подсказка - разные значения прозрачности для черных пикселей)


Ban Forever: ALIEN XIII пишет: Изначально я задумывал, что участки, где размещены эти облака станут чёрно-белыми, но я абсолютно не представляю как это сделать на Game Maker. для таких эффектов надо своё двиг программировать... или шейдеры. хотя не уверен, я шейдеры не писал ни разу и не знаю, что они могут, а что нет... боюсь, что в ГМ, если такие эффекты и будут, то не раньше 8й версии

ALIEN XIII: Ban Forever пишет: сам же и ответил на свой вопрос сделай большую такую текстутру дыма Да, я уже написал, что: появилась идея анимирования прозрачного спрайта Просто все эти текстуры весят много. Либо мучаться с "затиркой" швов на рисунке 100*100px, либо делать полные 800*600, что при анимировании даст резкий толчок по весу в игре. Ну, на крайний случай так и сделаю, но, возможно, есть и другой более простой способ это реализовать. Ban Forever пишет: боюсь, что в ГМ, если такие эффекты и будут, то не раньше 8й версии Это немного огорчает. Хотя, с другой стороны, должно быть что-то вроде обесцвечивания изображения, а там уже можно поэкспериментировать с отдельными участками локации.

Ban Forever: ALIEN XIII пишет: возможно, есть и другой более простой способ это реализовать. не программными методами, только аппаратными, а ГМ их не предоставляет(без доп. библиотек) ALIEN XIII пишет: Просто все эти текстуры весят много. сколько весит двухцветная текстура 800x600 в png?

Mikozoid: http://gmakers.ru/index.php?action=dlattach;topic=154.0;attach=356 Вот тут есть черно-белый фильтр, может пригодится. Но работает небыстро

Likantrop: Хм, ну если и стандартные эффекты на фоне остаются, тогда частицы я думаю нет смысла пробовать... Блюр у тебя же через сурфейсы? Вот и попробуй ченть с сурфейсами, может бленд моды попробовать...

ALIEN XIII: Ban Forever пишет: не программными методами, только аппаратными, а ГМ их не предоставляет(без доп. библиотек) В некоторые моменты поражаюсь возможностям Game Maker'а Mikozoid пишет: Вот тут есть черно-белый фильтр, может пригодится. Но работает небыстро Спасибо за пример, думаю, смогу настроить это под себя.) Likantrop пишет: Блюр у тебя же через сурфейсы? Вот и попробуй ченть с сурфейсами, может бленд моды попробовать... Да, через сурфейсы. Честно, с визуальными эффектами у меня туговато, т.к. никогда до этой игры их не использовал. Думаю, поступлю так: создам анимированную картину с "облаками", присвою ей альфа значение, а поверх проведу координаты фильтра..). Всем большое спасибо! =)



полная версия страницы