Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Свет в Godot

melon ask Lolov Ученик (111), открыт 4 недели назад
Здравствуйте, работаю с источниками света в Godot 2d и возник такой вопрос: как сделать так, чтобы в твердых блоках( на картинке земля с камушками) свет распрастранялся хуже, тоесть проходил меньшее расстояние перед тем как стать прозрачным, а в обычной среде свет оставался ярким. Грубо говоря чтобы небыло XRay

2 ответа
Adil Molodezhnyi Мыслитель (7589) 4 недели назад
Ни чем не могу помочь
melon ask LolovУченик (111) 4 недели назад
зачем тогда писал
CPT Просветленный (20562) 4 недели назад
Для того чтобы свет в Godot 2D не проходил сквозь твердые объекты, такие как земля с камнями, вы можете использовать узел LightOccluder2D. Этот узел создает тени и блокирует свет, что позволяет избежать эффекта XRay. Вам нужно прикрепить узел LightOccluder2D к вашим твердым объектам и настроить его форму так, чтобы она соответствовала контуру объекта. Таким образом, когда узел Light2D освещает эти объекты, он будет создавать реалистичные тени, предотвращая проникновение света.

Вот пример кода, который поможет вам настроить LightOccluder2D:
 # Создаем LightOccluder2D и добавляем его как дочерний узел к твердому объекту 
var occluder = LightOccluder2D.new()
occluder.set_polygon(your_polygon_shape)
your_solid_object.add_child(occluder)

# Настройка Light2D
var light = Light2D.new()
light.set_texture(your_light_texture) # Установите текстуру света
light.set_enabled(true) # Включаем свет
light.set_energy(1.0) # Устанавливаем интенсивность света
light.set_color(Color(1, 1, 1, 1)) # Устанавливаем цвет света
light.set_range(200) # Устанавливаем дальность света
light.set_layer_range(1, 1) # Устанавливаем слои, на которых будет работать свет
light.set_shadow_enabled(true) # Включаем тени
add_child(light)
Этот код создаст узел LightOccluder2D и настроит его, чтобы свет не проходил сквозь твердые объекты. Убедитесь, что вы настроили форму полигона в соответствии с формой вашего объекта.
melon ask LolovУченик (111) 4 недели назад
респект
Похожие вопросы