PhysicalSkyMaterial

Наследует: Material < Resource < RefCounted < Object

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

Описание

PhysicalSkyMaterial использует аналитическую модель дневного света Preetham для рисования неба на основе физических свойств. Это приводит к существенно более реалистичному небу, чем ProceduralSkyMaterial, но он немного медленнее и менее гибкий.

PhysicalSkyMaterial поддерживает только одно солнце. Цвет, энергия и направление солнца берутся из первого DirectionalLight3D в дереве сцены.

Свойства

float

energy_multiplier

1.0

Color

ground_color

Color(0.1, 0.07, 0.034, 1)

float

mie_coefficient

0.005

Color

mie_color

Color(0.69, 0.729, 0.812, 1)

float

mie_eccentricity

0.8

Texture2D

night_sky

float

rayleigh_coefficient

2.0

Color

rayleigh_color

Color(0.3, 0.405, 0.6, 1)

float

sun_disk_scale

1.0

float

turbidity

10.0

bool

use_debanding

true


Описания свойств

float energy_multiplier = 1.0 🔗

  • void set_energy_multiplier(value: float)

  • float get_energy_multiplier()

Множитель общей яркости неба. Более высокие значения дают более яркое небо.


Color ground_color = Color(0.1, 0.07, 0.034, 1) 🔗

  • void set_ground_color(value: Color)

  • Color get_ground_color()

Изменяет Color в нижней половине неба, чтобы отобразить землю.


float mie_coefficient = 0.005 🔗

  • void set_mie_coefficient(value: float)

  • float get_mie_coefficient()

Управляет силой Mie scattering для неба. Рассеивание Ми (Mie scattering) происходит при столкновении света с более крупными частицами (например, водой). На Земле рассеивание Ми приводит к появлению белесого цвета вокруг солнца и горизонта.


Color mie_color = Color(0.69, 0.729, 0.812, 1) 🔗

  • void set_mie_color(value: Color)

  • Color get_mie_color()

Управляет Color эффекта рассеивания Ми. Хотя это и не является физически точным, это позволяет создавать планеты, похожие на инопланетян.


float mie_eccentricity = 0.8 🔗

  • void set_mie_eccentricity(value: float)

  • float get_mie_eccentricity()

Управляет направлением Mie scattering. Значение 1 означает, что когда свет попадает на частицу, он проходит прямо вперед. Значение -1 означает, что весь свет рассеивается назад.


Texture2D night_sky 🔗

Texture2D для ночного неба. Это добавляется к небу, так что если оно достаточно яркое, то может быть видно днем.


float rayleigh_coefficient = 2.0 🔗

  • void set_rayleigh_coefficient(value: float)

  • float get_rayleigh_coefficient()

Управляет силой Рэлеевского рассеяния. Рэлеевское рассеяние возникает при столкновении света с мелкими частицами. Оно отвечает за голубой цвет неба.


Color rayleigh_color = Color(0.3, 0.405, 0.6, 1) 🔗

  • void set_rayleigh_color(value: Color)

  • Color get_rayleigh_color()

Управляет Color рэлеевского рассеяния. Хотя это и не является физически точным, это позволяет создавать планеты, похожие на инопланетян. Например, если установить для этого параметра красный Color, то получится атмосфера, похожая на Марс, с соответствующим синим закатом.


float sun_disk_scale = 1.0 🔗

  • void set_sun_disk_scale(value: float)

  • float get_sun_disk_scale()

Устанавливает размер солнечного диска. Значение по умолчанию основано на воспринимаемом размере Солнца с Земли.


float turbidity = 10.0 🔗

  • void set_turbidity(value: float)

  • float get_turbidity()

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


bool use_debanding = true 🔗

  • void set_use_debanding(value: bool)

  • bool get_use_debanding()

Если true, включается размытие полос. Размытие полос добавляет небольшое количество шума, что помогает уменьшить полосатость, которая появляется из-за плавных изменений цвета в небе.