Освещение персонажа в изометрии

техническая поддержка по Construct 2

Сообщение Освещение персонажа в изометрии
» 28 янв 2022, 21:19

Привет я реализовал изометрический свет через наложение Destination out на темный слой.
Это вполне пригодно выглдит если надо осветить игровую плоскость.

Теперь надо равномерно освещать персонажей и объекты. Не найду решения как это сделать. Персонаж должен ровно освещаться в зависимости от близости к источнику света. Условно смотреть себе под ноги, опредлять уровень света на пикселе и освещаться в этот пиксель но как такое сделать я не знаю. При том что бы это касалось света не искажений от того что на полу, например цвет травы. Если просто поверх класть освещение, то тогда будут например ярко освещены ноги, а голова будет в темноте, или наоборот.

Из очевидного, я мог бы проводить поиск источников света и математически вычислять какой источник ближе и какова его интенсивность, но ищу способа попроще и может быть уже это давно известно как реализовать?
В любом случае рад любой помощи, если вы может сделаете свой вариант или по свойму, ибо источников света может быть много, как и объектов.

Скриншоты Было и стало как пример:
Изображение
Изображение

К вопросу прикладываю так же сцену с своим персонажем для оказания помощи
Light and Person.capx
(287.14 КБ) Скачиваний: 73
 Этим людям я благодарен за помощь
Этим людям я благодарен за помощь:

Bishop
paradine
smebor - очень глубоко разбирается в теме работы с с2, помогал почти в каждом вопросе
DeX
rokstars
nagval333
ReviveR200
repkino
Reficul
Vyntershtoff
bromgeksin8 - подсказал инфу с генерацией миров
Xrono - поделился личным опытом по сервер клиент приложениям
Aventiy - Активно рассказывал о работоспособности клиент-сервера и как с ними работать



Они здесь, что бы я никого не забыл указать в благодарностях.
Аватара пользователя

Участник
Сообщений: 618
Я тут с 12 июл 2014
Репутация 9 [ ? ]

Сообщение Освещение персонажа в изометрии
» 29 янв 2022, 01:54

И чё тут голову ломать? расстояние от источника света до объекта - менять эффект света = хоть на прямую, хоть через эффекты нормалмап или бамп или вообще стороннем плагином - есть описание на форуме, поищи.
А так делать только в платформере или тдс что очень примитивно. (к стати реализация у тебя кривая - посмотри примеры)
Аватара пользователя

Игродел
Сообщений: 3070
Я тут с 24 окт 2014
Откуда: Москва
Двиг: C2
Лицензия: Personal
Репутация 604 [ ? ]

Сообщение Освещение персонажа в изометрии
» 29 янв 2022, 03:33

smebor писал(а):И чё тут голову ломать? расстояние от источника света до объекта - менять эффект света = хоть на прямую, хоть через эффекты нормалмап или бамп или вообще стороннем плагином - есть описание на форуме, поищи.
А так делать только в платформере или тдс что очень примитивно. (к стати реализация у тебя кривая - посмотри примеры)

Если не сложно, пожалуйста сошлись на конкретный исходник. Я много трачу времени на поиски ответов, смотрю исходники, старые темы. И если попадаю в тупик, не нахожу ответов, то задаю вопрос здесь.

На счет кривости сцены, я был бы рад на акцентирование в чем ошибка. Сцена отрендерена в 3D, и по кусочкам собрана, включая пятно света.

Нормал мап и подобные эффекты, все примеры что я находил имитируют плоское пространство. Вид сверху или сбоку. Как спрятать свет за объект или заставить его крутиться вокруг? Своими силами пытался реализовать изометрию, но, безуспешно. Так же, замечу что этот эффект требует указать конкретные источники света в пропертис. Бесконечно добавлять источники не выйдет. Поправьте если заблуждаюсь

На счет своих тестов, я пока что нашел только эффект, методом тыка, называется Exposure.
Однако пока не очень удалось математически привязать, к яркости света и удалению от света. Ибо источник света может быть рассеяным или наоборот очень интенсивным как от прожектора. Темнота может иметь значения -200, а скажем первые нотки света -50

Покопавшись ,нашел в плагине канвес, действие помогающее определить степень прозрачности пикселя. То есть можно уже под ноги смотреть.
Однако все равно эффект не удалось стабилизировать, что бы в темноте персонаж был очень темным, а на свету становился освещенным равномерно. Я чувствую что близок к ответу, но все равно нехватает словно дополнительного перекрытия персонажа темной мглой
Последний раз редактировалось Aizark 29 янв 2022, 13:34, всего редактировалось 4 раз(а).
 Этим людям я благодарен за помощь
Этим людям я благодарен за помощь:

Bishop
paradine
smebor - очень глубоко разбирается в теме работы с с2, помогал почти в каждом вопросе
DeX
rokstars
nagval333
ReviveR200
repkino
Reficul
Vyntershtoff
bromgeksin8 - подсказал инфу с генерацией миров
Xrono - поделился личным опытом по сервер клиент приложениям
Aventiy - Активно рассказывал о работоспособности клиент-сервера и как с ними работать



Они здесь, что бы я никого не забыл указать в благодарностях.
Аватара пользователя

Участник
Сообщений: 618
Я тут с 12 июл 2014
Репутация 9 [ ? ]

Сообщение Освещение персонажа в изометрии
» 29 янв 2022, 11:16

Пока отдыхал пришел к выводу, что раз канвас дает показания прозрачности, значит можно создать белую маску поверх персонажа и указывать ей эту прозрачность через opacity. Нет времени затестить, но мысль запишу.
Но, было бы хорошо, если кто то подскажет как эту маску создать через эффекты на самом спрайте персонажа, что бы не грузить дополнительные изображения, и уж темболее не рисовать их в фотошопе.

Ну, или пример изометрического освещения скинуть
 Этим людям я благодарен за помощь
Этим людям я благодарен за помощь:

Bishop
paradine
smebor - очень глубоко разбирается в теме работы с с2, помогал почти в каждом вопросе
DeX
rokstars
nagval333
ReviveR200
repkino
Reficul
Vyntershtoff
bromgeksin8 - подсказал инфу с генерацией миров
Xrono - поделился личным опытом по сервер клиент приложениям
Aventiy - Активно рассказывал о работоспособности клиент-сервера и как с ними работать



Они здесь, что бы я никого не забыл указать в благодарностях.
Аватара пользователя

Участник
Сообщений: 618
Я тут с 12 июл 2014
Репутация 9 [ ? ]

Сообщение Освещение персонажа в изометрии
» 29 янв 2022, 13:03

Тоже делал освещённость через Exposure, пока не отказался от эффектов. На одном персонаже нагрузки не заметно. Если освещать нескольких и динамически менять освещение в комнате, планка нагрузки подскакивает на четверть. Правда, если пикселарт, то опять-таки норм, там допустима любая вакханалия на экране )
Аватара пользователя

Игродел
Сообщений: 1295
Я тут с 31 май 2017
Репутация 253 [ ? ]

Сообщение Освещение персонажа в изометрии
» 29 янв 2022, 13:24

Ну хотя бы так. Нагрузка минимальна - эффект всего один ( Exposure )
2022-01-29_13-25-23.jpg
свет и тень.capx
(330.92 КБ) Скачиваний: 54
Аватара пользователя

Игродел
Сообщений: 3070
Я тут с 24 окт 2014
Откуда: Москва
Двиг: C2
Лицензия: Personal
Репутация 604 [ ? ]

Сообщение Освещение персонажа в изометрии
» 29 янв 2022, 14:21

Чтоб без пересвета персонажа изменить строку на
Код: Выделить всё
(light.Value-distance(reflection.X, reflection.Y,human.X, human.Y)+radius.Value*100)>100? 100  :  (light.Value-distance(reflection.X, reflection.Y,human.X, human.Y)+radius.Value*100)
Аватара пользователя

Игродел
Сообщений: 3070
Я тут с 24 окт 2014
Откуда: Москва
Двиг: C2
Лицензия: Personal
Репутация 604 [ ? ]

Сообщение Освещение персонажа в изометрии
» 29 янв 2022, 19:42

smebor писал(а):Ну хотя бы так. Нагрузка минимальна - эффект всего один ( Exposure )

Я посмотрел спасибо что уделил мне время и помогаешь с вопросом.
На счет самого примера хочу отметить что данный спрайт невозможно дублировать, и создавать больше источников света. Возможно им стоит применять особый эффект, незнаю, покрайней мере из коробки реализовать их не уверен что можно грамотно, если говорить конкретно об источнике света.
Сам же персонаж да, круто изменяется, пример весьма работает. спасибо большое, хз как будет его тяжело привинтить к несбалансированному света, но за пример спасибо!
 Этим людям я благодарен за помощь
Этим людям я благодарен за помощь:

Bishop
paradine
smebor - очень глубоко разбирается в теме работы с с2, помогал почти в каждом вопросе
DeX
rokstars
nagval333
ReviveR200
repkino
Reficul
Vyntershtoff
bromgeksin8 - подсказал инфу с генерацией миров
Xrono - поделился личным опытом по сервер клиент приложениям
Aventiy - Активно рассказывал о работоспособности клиент-сервера и как с ними работать



Они здесь, что бы я никого не забыл указать в благодарностях.
Аватара пользователя

Участник
Сообщений: 618
Я тут с 12 июл 2014
Репутация 9 [ ? ]

Сообщение Освещение персонажа в изометрии
» 29 янв 2022, 20:21

Aizark писал(а):данный спрайт невозможно дублировать, и создавать больше источников света.

Создаешь семью и на неё эффект Exposure - все в спрайты и их копии будут изменять свою освещенность в зависимости от расстояния. Тоже и с источниками света разного цвета, яркости. Тень от спрайта отдельным спрайтом с зависимостью от угла источника света вращается. Тень тоже в семье эффекта. Окружение (стены, предметы и т.д.) тоже в семью, но разбитые на светлые и темные фрагменты по кадрам или анимации или просто разные спрайты их подмена в зависимости положения источника света по XY.
В общем пробуй, но не лезь в дебри - чем проще тем и лучше, иначе тормоза наступят незаметно и будет жаль потеренного времени. Удачи.
Аватара пользователя

Игродел
Сообщений: 3070
Я тут с 24 окт 2014
Откуда: Москва
Двиг: C2
Лицензия: Personal
Репутация 604 [ ? ]

Сообщение Освещение персонажа в изометрии
» 29 янв 2022, 21:26

Aizark писал(а):невозможно дублировать, и создавать больше источников света

Обрати внимание на сам спрайт света, его blend mode и параметры слоя, на котором он находится, а именно - прозрачность и force own texture.
=light_sources.capx
(121.34 КБ) Скачиваний: 33
Аватара пользователя

Игродел
Сообщений: 1381
Я тут с 06 июл 2015
Репутация 346 [ ? ]



Вернуться в Вопрос-Ответ по Construct 2

Сейчас эту тему просматривают

Зарегистрированные пользователи: нет зарегистрированных пользователей

Наверх