ГлавнаяРегистрацияВход Четверг
18.10.2018
10:34
Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форумы - общение на любые темы! » Construct Classic » Уроки пользователей » Объект Light (Основы работы с объектом света)
Объект Light
SanchesДата: Вторник, 13.12.2011, 15:28 | Сообщение # 1
Лейтенант
Сообщений: 40
Награды: 2
Репутация: 11
Статус: Offline
Доброго времени суток всем читающим)
В этом небольшом уроке мы узнаем о параметрах объекта Light и настройке поведения ShadowCaster.
Этих настроек и параметров не так уж много, но эффекты света получаются достаточно реалистичные и красивые.
Начнём. Для урока нам понадобятся спрайты главного героя (в моём случае это просто чёрный кружок) и объекта, отбрасывающего тень (для начала подойдёт и квадратный спрайт не очень большого размера)
Вставляем в игру спрайт главного героя, и добавляем ему поведение 8direction.
В графе Rotation выбираем None, это нужно, чтобы впоследствии не было проблем с поворотом ГГ за мышью.
Скорости поставьте по желанию.

Теперь добавим свет: добавляем объект Light, он находится в категории Game и выглядит как жёлтая лампочка smile
Вылетевшее окошко с изображением закрываем - это текстура объекта Light, она никак не влияет на тени, отбрасываемые объектом, а просто накладывается сверху.
Посмотрим на параметры объекта.
Вроде бы все настройки ничем не отличаются от спрайтовых, но есть вкладка Properties

Это и есть все настройки света (вернее, источника света). Рассмотрим их:
Shadow filter - цвет теней, отбрасываемых источником света.
Shadow opacity - прозрачность теней, отбрасываемых данным "светом".
Image - изображение, которое мы могли подредактировать при добавлении света в программу.
Пока можете оставить настройки по умолчанию, всегда можно вернуться и изменить параметры.
Добавим теперь объект, который будет отбрасывать тени.
Для этого загрузим спрайт (для начала лучше квадратный) и добавим ему поведение Shadow caster.
Также в атрибутах можете включить "Solid", чтобы ГГ не проходил сквозь этот объект.
Рассмотрим настройки поведения:

Name - название поведения.
Shadow depth - множитель длины теней, длина теней равна расстоянию до источника света, умноженному на значение этого параметра, по умолчанию 1.
Collision Mask - форма отбрасываемых теней, если стоит значение Bounding box, то тени просчитываются для прямоугольника со сторонами высоты и длины спрайта, при значении Custom можно самим настроить форму.
Custom collision - переход в режим редактирования маски теней.
Я поставил значение параметра Shadow depth равное 35, этого будет достаточно для создания ощущения, что свет и объект находятся на одной плоскости, например, если объектом являются стены, сквозь которые свет ну уж точно не пройдёт.
Раскопируйте объект стены по уровню, чтобы придать разнообразия теням.
Время создавать событие. Для демонстрации света достаточно будет всего одного.
Прикрепляем свет к ГГ, для этого создаём событие:
Always - Light - Set Position another object - Sprite
Light - объект света, Sprite - герой.
Если у вас другие названия объектов, укажите их.
Теперь заставим ГГ следить за мышью. Добавим действие (в это же событие):
Sprite - Set angle towards position - в поле Х пишем MouseX, в поле Y - MouseY.

Поворот за мышью нужен, если вы хотите создать луч света, например, исходящий от фонарика (т.е. не на 360 градусов), чем мы сейчас и займёмся.
Если вы запустите уровень, то, когда вы будите бегать, ГГ будет "светиться", а стены будут отбрасывать тени (если вы всё правильно сделали).
Нам нужен эффект фонарика, это достигается простым редактированием маски теней.
Добавим Герою поведение Shadow caster, и в поле Shadow depth впишем число около 200 - так как свет находится всегда очень близко к герою, то и тени должны быть длиннее.
Перейдём к настройке маски, для этого нажмём "Edit" около параметра Custom collision, и нарисуем примерно такую маску:

Запустив уровень, мы увидим луч света, исходящий от героя.

Результат урока - в файле Light.cap
Прикрепления: 1530143.jpg(25.1 Kb) · 6495681.jpg(26.2 Kb) · 9086824.jpg(21.2 Kb) · 0026527.jpg(26.5 Kb) · 4424090.jpg(10.2 Kb) · 8364812.cap(71.9 Kb)


Сообщение отредактировал Sanches - Четверг, 15.12.2011, 16:14
 
RaflДата: Вторник, 13.12.2011, 18:49 | Сообщение # 2
Подполковник
Сообщений: 126
Награды: 8
Репутация: 201
Статус: Offline
А если добавить объекту Light эффекты Blur Horшzontal и Blur Vertical, то пулучится эффект так называемых Soft Shadows (мягких теней). smile



Сообщение отредактировал Rafl - Вторник, 13.12.2011, 18:51
 
AHTuCTATuKДата: Вторник, 13.12.2011, 21:28 | Сообщение # 3
добрый модер
Сообщений: 281
Награды: 3
Репутация: 151
Статус: Offline
Да, но есть одно но, с этими блюрами начинает фпс падать... !


ЧИТАЕМ ПРАВИЛА ФОРУМА
 
SanchesДата: Вторник, 13.12.2011, 21:31 | Сообщение # 4
Лейтенант
Сообщений: 40
Награды: 2
Репутация: 11
Статус: Offline
Да ладно уж, если источников света не так много - то смело ставим размытие.
 
RaflДата: Среда, 14.12.2011, 06:08 | Сообщение # 5
Подполковник
Сообщений: 126
Награды: 8
Репутация: 201
Статус: Offline
Quote
Да, но есть одно но, с этими блюрами начинает фпс падать... !


Можно поставить эффект Soft, он менее размытый, и кушает меньше. smile




Сообщение отредактировал Rafl - Среда, 14.12.2011, 06:08
 
Форумы - общение на любые темы! » Construct Classic » Уроки пользователей » Объект Light (Основы работы с объектом света)
  • Страница 1 из 1
  • 1
Поиск:


thevic.ru © 2018Хостинг от uCoz