Освещение через картинки

Программист Ruby Разработчик Проект месяца 3 место Проект месяца 2 место Проект года 1 место Проект года 3 место Учитель Оратор Паладин Проект месяца 1 место 2 место Готв 3 место Организатор конкурсов Ветеран
Больше
11 года 4 мес. назад - 10 года 6 мес. назад #76402 от caveman
Этот простой урок посвящен настройке освещения помещений при помощи картинки, устанавливаемой через Overlay либо картинку.

Для урока понадобятся:
- Мейкер VxAce (XP)
- Фотошоп
- Терпение

1) Первое. Делаем скрин нашей комнаты, лучше прямо в мейкере, вырезаем ВСЮ рабочую область карты


2) Заливаем её в фотошоп

3) Добавляем новый слой для общей темноты (Layer2 на скрине). Его заливаем черным цветом (Alt+BackSpace) и ставим Opacity примерно на 40%, смотря как темно будет в общем, в комнате. Этот слой должен быть на самом верху.


4) Теперь добавляем слой для полной черноты - это, например, окантовка комнаты по краям. На скрине - Layer1. Его opacity = 100%.
Берем кисть большого диаметра и самую мягкую и закрашиваем черным нужное - края комнаты.


5) Теперь добавляем слой для сильных теней (Layer3 на скрине), ставим ему Opacity=35% и той же кистью закрашиваем тени в углах и других местах, где, по логике есть тени.

6) Еще один слой для слабых теней (Layer4 на скрине), ставим ему Opacity=25% и той же кистью закрашиваем светлые тени, например, за столами или ящиками.


7) Наконец, освещение. Добавляем новый слой (Layer5 на скрине), ставим ему Opacity=40% и той же кистью аккуратно ставим и разводим пятна света, не забывая выставлять цвет, соответствующий источнику освещения.


8) У нас получился psd файл с освещением комнаты, уберем видимость самого нижнего слоя - вырезанной комнаты - и сохраним остаток в PNG


9) Теперь его можно накладывать на карту как картинку, но я предпочитаю (в асе) делать это через оверлей, чтобы настройки не действовали на другие открывающиеся картинки (верней, не пришлось мучаться с порядком).

10) Для этого нам нужен скрипт Yami Engine Ace - Overlay Mapping
(можно взять здесь yadi.sk/d/tdc7LcEUfCUmi )
Ставим его в скрипты, добавляем в графику (Graphics) папку Overlay, а в нее будем кидать наши созданные файлы освещения, называя их специфическим образом.
Так, для карты под номером 1, назовем её освещение "par1-1.png"

Тут
- par это префикс (см строку в скрипте PARALLAX = "par" # Parallax layer's filename prefix)
- первая 1, это ID карты
- вторая 1 - номер оверлея, значение переменной под номером, что вы укажете тут (PARALLAX_VARIABLE = 6 # Switch to another parallax). У меня, например, 6.
Меняя значение этой переменной в игре, можно менять и оверлей, например, сохранив в папке Overlay файлы par1-1.png и par1-2.png, для утра и вечера в комнате.

Все, теперь при заходе в игре в помещение, проставится соответствующий значению этой переменной файлик.


Вот примерный результат (евенты добавил поздно, и заметил, что промазал с желтым :laugh: ).
Последнее редактирование: 10 года 6 мес. назад пользователем caveman.
Спасибо сказали: AnnTenna, Cerberus, Lekste, I_LORD, Sypherot, DeadElf79, Ren310, Демий, RastaManGames, poca и ещё 11 человек сказали спасибо.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Оратор Паладин Даритель Стимкея Проект месяца 1 место Проект месяца 2 место Проект месяца 3 место 2 место Готв 2 место За 3 место на конкурсе маппинга
Больше
11 года 3 мес. назад #77280 от Sypherot
От себя немножко добавлю: вместо выпиливания рабочей области можно просто сделать снимок карты с помощью скрипта Map Screenshot , и от него уже и "танцевать".

Всего хорошего, и спасибо за рыбу
Спасибо сказали: Cerberus, I_LORD, caveman, Демий

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Проект месяца 1 место Даритель Стимкея Поддержка Фонда Проект года 2 место Проект месяца 2 место 2 место
Больше
11 года 3 мес. назад #77316 от Ginyang
У меня были страшные мучения с правильным отображением overlay. Я запарился выверять show/erase picture комманды для каждой карты! Видел этот скрипт раньше, но не смог разобраться и он "вешал" мне игру при запуске. Caveman, спасибо преогромнейшее за толковое объяснение! Всё работает! :laugh:

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Проект месяца 1 место Проект года 2 место Проект года 3 место Ветеран Проект года 1 место Проект месяца 3 место Проект месяца 2 место Разработчик
Больше
11 года 2 мес. назад #77983 от Nalia
Кроме скрипта от Ями, можно использовать скрипт Fix Picture to Map от modern algebra (rmrk.net). Гуглите, мне он достался на распродаже в Стиме вместе с паком сай-фаевской графики.
Спасибо сказали: Ginyang

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Даритель Стимкея Проект месяца 2 место 1 место в Готв 3 место Готв 3 место Ветеран
Больше
11 года 1 мес. назад #78814 от MaltonTheWarrior
Заметил тут, что скрипт от Ями не пашет, если

в параметрах карты выбрать либо "горизонтальное", либо "оба замыкания".

Почему - не знаю, и это заставляет грустить.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Программист Ruby Разработчик Проект месяца 3 место Проект месяца 2 место Проект года 1 место Проект года 3 место Учитель Оратор Паладин Проект месяца 1 место 2 место Готв 3 место Организатор конкурсов Ветеран
Больше
11 года 1 мес. назад #78817 от caveman
Хм... не делал такие карты, и в магии скрипта не ковырялся.
У меня были глюки с мультилейером, когда карты были узкие (до 20ти), ситуация чем-то похожа, попробуй выставить 20 и проверить.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Проект месяца 1 место Даритель Стимкея Поддержка Фонда Проект года 2 место Проект месяца 2 место 2 место
Больше
11 года 1 мес. назад #78851 от Ginyang
Есть задача - чтобы при нажатии переключателей на карте менялся и overlay. Таким образом, появлялись бы области раньше скрытые от игрока. Хочу добиться эффекта как на этой картинке.
[img


Поэтому мне очень нужна помощь сведущих людей. Как этого добиться имея скрипт Yami Overlay Mapping, как заставить конкретные variables менять картинку именно на ту что я хочу? Пока это остаётся для меня тайной.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Программист Ruby Организатор конкурсов Даритель Стимкея 2 место Сбитая кодировка Переводчик 2 место
Больше
11 года 1 мес. назад #78852 от strelokhalfer
Демо собери, поглядим.

"Стрелок, что-то ты неочень похож на свой аватар..."(с)

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Проект месяца 1 место Даритель Стимкея Поддержка Фонда Проект года 2 место Проект месяца 2 место 2 место
Больше
11 года 1 мес. назад #78854 от Ginyang
Вот демоверсия с тремя параллакс-слоями, которые хочется взаимозаменять.
yadi.sk/d/A5yd2Tp9fFEzj

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Программист Ruby Разработчик Проект месяца 3 место Проект месяца 2 место Проект года 1 место Проект года 3 место Учитель Оратор Паладин Проект месяца 1 место 2 место Готв 3 место Организатор конкурсов Ветеран
Больше
11 года 1 мес. назад - 11 года 1 мес. назад #78855 от caveman
PARALLAX_VARIABLE = 1 # Switch to another parallax
проставь этому параметру номер переменной, которую ты будешь менять, например, магическую 69
а в игре меняй

потестил на твоей демке - все прекрасно меняется
Последнее редактирование: 11 года 1 мес. назад пользователем caveman.
Спасибо сказали: Ginyang

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Проект месяца 1 место Даритель Стимкея Поддержка Фонда Проект года 2 место Проект месяца 2 место 2 место
Больше
11 года 1 мес. назад #78856 от Ginyang
Пещерный, мой крошечный мозг не справляется с этой задачей.
Вот есть 71я строка в скрипте: PARALLAX_VARIABLE = 21 # Switch to another parallax. И чего? Вот я завожу variable под номером 21, назваю его "смена параллакса". Теперь по идее я вставляю этот varibale в ивент переключателя и делаю ему set=21. Так что ли? Но при этом у меня нафиг сносятся вообще все параллаксы по всей игре. Я так и не могу понять как связан номер переменной, её значение и где прописывать картинку на которую она меняет.
Видимо меня спасут только пошаговый инструкции для тупых. Желательно ещё и с картинками.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Программист Ruby Организатор конкурсов Даритель Стимкея 2 место Сбитая кодировка Переводчик 2 место
Больше
11 года 1 мес. назад - 11 года 1 мес. назад #78857 от strelokhalfer
Code:
LIGHT_VARIABLE = 2 # Switch to another light SHADOW_VARIABLE = 2 # Switch to another shadow PARALLAX_VARIABLE = 1 # Switch to another parallax GROUND_VARIABLE = 1 # Switch to another ground
Тут надо указать, какие переменные отвечают за номер оверлея и прочего.
У тебя они забиты на Паук-волк и Заплатить.
Замени на какие-нибудь свободные и меняй их.
С тебя благодарность за помощь в игре :P
Ссыль

"Стрелок, что-то ты неочень похож на свой аватар..."(с)
Последнее редактирование: 11 года 1 мес. назад пользователем strelokhalfer.
Спасибо сказали: Ginyang

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Программист Ruby Разработчик Проект месяца 3 место Проект месяца 2 место Проект года 1 место Проект года 3 место Учитель Оратор Паладин Проект месяца 1 место 2 место Готв 3 место Организатор конкурсов Ветеран
Больше
11 года 1 мес. назад #78859 от caveman

Теперь по идее я вставляю этот varibale в ивент переключателя и делаю ему set=21. Так что ли? Но при этом у меня нафиг сносятся вообще все параллаксы по всей игре. Я

почти так, но сет не 21, а 1, 2 или 3 (судя по тому, что у тебя в папке с картинками)
Спасибо сказали: Ginyang

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Проект месяца 1 место Программист Ruby Писатель 3 место 3 место Учитель Организатор конкурсов 1 место в Готв Ветеран Проект месяца 2 место
Больше
10 года 11 мес. назад #81057 от DeadElf79
Картинки померли. Кейв, перезальешь?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
10 года 8 мес. назад #84356 от Wind@
Нельзя ли поподробней про накладывание как картинку?

Im back.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Оратор Паладин Даритель Стимкея Проект месяца 1 место Проект месяца 2 место Проект месяца 3 место 2 место Готв 2 место За 3 место на конкурсе маппинга
Больше
10 года 8 мес. назад #84358 от Sypherot

Wind@ пишет: Нельзя ли поподробней про накладывание как картинку?

все просто: качаешь скрипт Yami overlay mapping (ссылка, по идее, должна быть в первом посте топика), в папке Graphics создаешь папку Overlay, куда в дальнейшем и будешь сохранять картинки в png или jpeg, и сохраняешь их под название parX-Y (параллакс поверх карты), groundX-Y (поверхность), shadowX-Y (тень), lightX-Y (свет).
X - id карты (смотри его в свойствах карты, нажав "пробел" на ее имени в списке), Y - значение соответствующей переменной (номер переменных можно посмотреть в скрипте). Теоретически, параллакс, свет, тень и землю можно применять одновременно. И размер картинки должен соответствовать размеру карты.

Всего хорошего, и спасибо за рыбу
Спасибо сказали: I_LORD, Wind@

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
10 года 8 мес. назад - 10 года 8 мес. назад #84359 от Wind@
Спасибо,Сиф,всё понятливо и доходчиво объяснил,до мох маленьких извилин дошло :) .

Im back.
Последнее редактирование: 10 года 8 мес. назад пользователем Wind@.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Оратор Паладин Даритель Стимкея Проект месяца 1 место Проект месяца 2 место Проект месяца 3 место 2 место Готв 2 место За 3 место на конкурсе маппинга
Больше
10 года 8 мес. назад #84364 от Sypherot

Wind@ пишет: Спасибо,Сиф,всё понятливо и доходчиво объяснил,до мох маленьких извилин дошло :) .

Еще этот скрипт скачай, с его помощью можно скрин всей карты (или просто скрин игры) сделать, что поможет тебе в работе, поскольку будет сразу виден конечный результат, а значит, можно будет сразу поправить ошибку или что-то, что тебе не понравилось.

Всего хорошего, и спасибо за рыбу

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

3 место 3 место в Кодировке 2 место Организатор конкурсов
Больше
10 года 7 мес. назад #85366 от Волчонок
Пещерный, картинки отвалились.

Ленивый волчонок с большими амбициями

Рассказ "Рождение мага" , периодически обновляется
РПГ История Егеря . Основной текущий проект.

ВНИМАНИЕ: Спойлер!
Спасибо сказали: DesKarD

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Программист Ruby Разработчик Проект месяца 3 место Проект месяца 2 место Проект года 1 место Проект года 3 место Учитель Оратор Паладин Проект месяца 1 место 2 место Готв 3 место Организатор конкурсов Ветеран
Больше
10 года 6 мес. назад #86608 от caveman
Поднял картинки (не обольщайтесь пока, это стандартный плагин Foreground и он не лочит картинки - надо его допилить)
Спасибо сказали: Wind@

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Время создания страницы: 0.135 секунд
Работает на Kunena форум