Environment
Inherits: Resource < Reference < Object
用于定义多个渲染选项的环境节点(如 WorldEnvironment)的资源。
描述
环境节点(如 WorldEnvironment)的资源,这些节点定义了多个环境操作(如背景 Sky 或 Color、环境光、雾、景深……)。这些参数会影响场景的最终渲染。这些操作的顺序是:
景深模糊
辉光
色调映射(自动曝光)
调整
这些效果仅在 Viewport 的预期使用方法为“3D”或者“3D Without Effects”时生效。根视窗的预期使用方法可以通过 ProjectSettings.rendering/quality/intended_usage/framebuffer_allocation 调整,其他视窗通过 Viewport.usage 调整。
教程
属性
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
|
方法
is_glow_level_enabled ( int idx ) const | |
void | set_glow_level ( int idx, bool enabled ) |
枚举
enum BGMode:
BG_KEEP = 5 —- 在屏幕上保留背景中绘制的每个像素。这是最快的背景模式,但它只能在完全室内场景(没有可见的天空或天空反射)中安全使用。如果在背景可见的场景中启用,当移动相机时,”鬼影踪迹 “伪影将可见。
BG_CLEAR_COLOR = 0 —- 使用ProjectSettings.rendering/environment/default_clear_color中定义的底色清除背景。
BG_COLOR = 1 —- 使用自定义的底色清除背景。
BG_SKY = 2 —- 在背景中显示用户自定义的天空。
BG_COLOR_SKY = 3 —- 使用自定义的透明颜色清除背景,并允许定义天空的阴影和反射。这种模式比BG_SKY稍快,应是在可以看到反射,但天空本身不可见的场景中的首选,例如,自上而下的相机。
BG_CANVAS = 4 —- 在背景中显示CanvasLayer。
BG_CAMERA_FEED = 6 —- 在背景中显示相机源。
BG_MAX = 7 —- 表示BGMode枚举的大小。
enum GlowBlendMode:
GLOW_BLEND_MODE_ADDITIVE = 0 —- 添加glow混合模式。主要用于颗粒、辉光(光晕)、镜头眩光、亮源。
GLOW_BLEND_MODE_SCREEN = 1 —- 屏幕光晕混合模式。增加亮度,经常与光晕一起使用。
GLOW_BLEND_MODE_SOFTLIGHT = 2 —- 柔和的光晕混合模式。修改对比度,曝光阴影和高光(高质量光晕)。
GLOW_BLEND_MODE_REPLACE = 3 —- 替换光晕混合模式。用glow值替换所有像素的颜色。这可以通过调整glow参数来模拟全屏模糊效果,使其与原始图像的亮度相匹配。
enum ToneMapper:
TONE_MAPPER_LINEAR = 0 —- 线性音频映射器操作者。读取线性数据并不加修改地传递。
TONE_MAPPER_REINHARDT = 1 —- Reinhardt tonemapper运算器。通过这个公式对渲染像素的颜色进行变化。
color = color / (1 + color)
.TONE_MAPPER_FILMIC = 2 —- 胶片色调映射器运算符。
TONE_MAPPER_ACES = 3 —- Academy Color Encoding System(学院色彩编码系统)色调映射运算器。对ACES色调映射曲线进行近似计算。
TONE_MAPPER_ACES_FITTED = 4 —- 高质量的 Academy Color Encoding System(学院色彩编码系统)色调映射器,符合行业标准。执行更精确的物理曲线拟合,更好地模拟光线在现实世界中的工作方式。光线和发光材质的颜色会随着发光能量的增加而变浅,如果光线足够亮,足以使相机传感器饱和,最终会变成白色。
enum DOFBlurQuality:
DOF_BLUR_QUALITY_LOW = 0 —- 低质量景深模糊(最快)。
DOF_BLUR_QUALITY_MEDIUM = 1 —- 中等景深的模糊质量。
DOF_BLUR_QUALITY_HIGH = 2 —- 高质量景深模糊(最慢)。
enum SSAOBlur:
SSAO_BLUR_DISABLED = 0 —- 屏幕空间环境遮挡效果不模糊(最快)。
SSAO_BLUR_1x1 = 1 —- 1×1模糊的屏幕空间环境遮挡效果。
SSAO_BLUR_2x2 = 2 —- 2×2模糊的屏幕空间环境遮挡效果。
SSAO_BLUR_3x3 = 3 —- 3×3模糊的屏幕空间环境遮挡效果(最慢)。
enum SSAOQuality:
SSAO_QUALITY_LOW = 0 —- 低质量的屏幕空间环境遮挡效果(最快)。
SSAO_QUALITY_MEDIUM = 1 —- 低质量的屏幕空间环境遮挡效果。
SSAO_QUALITY_HIGH = 2 —- 低质量的屏幕空间环境遮挡效果(最慢)。
属性说明
- float adjustment_brightness
Default |
|
Setter | set_adjustment_brightness(value) |
Getter | get_adjustment_brightness() |
渲染场景的全局亮度值。只有当 adjust_enabled
为 true
时才有效。
- Texture adjustment_color_correction
Setter | set_adjustment_color_correction(value) |
Getter | get_adjustment_color_correction() |
应用所提供的 Texture 资源来影响渲染场景的全局颜色表现。只有在 adjustment_enabled
为 true
时才有效。
- float adjustment_contrast
Default |
|
Setter | set_adjustment_contrast(value) |
Getter | get_adjustment_contrast() |
渲染场景的全局对比度值(默认值为1)。只有当adjust_enabled
为true
时才有效。
- bool adjustment_enabled
Default |
|
Setter | set_adjustment_enable(value) |
Getter | is_adjustment_enabled() |
如果 true
,则启用此资源提供的 adjusting_*
属性。如果false
,对adjustment_*
属性的修改将不会对渲染的场景产生影响。
- float adjustment_saturation
Default |
|
Setter | set_adjustment_saturation(value) |
Getter | get_adjustment_saturation() |
渲染场景的全局色彩饱和度值,默认值为1。只有在adjustment_enabled
为true
时才有效。
- Color ambient_light_color
Default |
|
Setter | set_ambient_light_color(value) |
Getter | get_ambient_light_color() |
环境光的颜色。
- float ambient_light_energy
Default |
|
Setter | set_ambient_light_energy(value) |
Getter | get_ambient_light_energy() |
环境光的能量。值越高,光照越强。
- float ambient_light_sky_contribution
Default |
|
Setter | set_ambient_light_sky_contribution(value) |
Getter | get_ambient_light_sky_contribution() |
定义天空给场景带来的光照量。值为 0 表示天空的发光对场景照明没有影响,因此所有的环境照明都由环境光提供。相反,值为 1 表示所有影响场景的光线都由天空提供,因此环境光参数对场景没有影响。
- bool auto_exposure_enabled
Default |
|
Setter | set_tonemap_auto_exposure(value) |
Getter | get_tonemap_auto_exposure() |
如果true
,启用场景渲染器的色调映射自动曝光模式。如果true
,渲染器将自动确定曝光设置,以适应场景的照明和观察到的光线。
- float auto_exposure_max_luma
Default |
|
Setter | set_tonemap_auto_exposure_max(value) |
Getter | get_tonemap_auto_exposure_max() |
自动曝光的最大亮度值。
- float auto_exposure_min_luma
Default |
|
Setter | set_tonemap_auto_exposure_min(value) |
Getter | get_tonemap_auto_exposure_min() |
自动曝光的最小亮度值。
- float auto_exposure_scale
Default |
|
Setter | set_tonemap_auto_exposure_grey(value) |
Getter | get_tonemap_auto_exposure_grey() |
自动曝光效果的比例。影响自动曝光的强度。
- float auto_exposure_speed
Default |
|
Setter | set_tonemap_auto_exposure_speed(value) |
Getter | get_tonemap_auto_exposure_speed() |
自动曝光效果的速度。影响相机执行自动曝光所需的时间。
- int background_camera_feed_id
Default |
|
Setter | set_camera_feed_id(value) |
Getter | get_camera_feed_id() |
在背景中显示的相机源的ID。
- int background_canvas_max_layer
Default |
|
Setter | set_canvas_max_layer(value) |
Getter | get_canvas_max_layer() |
要显示的最大图层ID。只有在使用 BG_CANVAS 背景模式时有效。
- Color background_color
Default |
|
Setter | set_bg_color(value) |
Getter | get_bg_color() |
场景中清除区域显示的Color。仅在使用BG_COLOR或BG_COLOR_SKY背景模式时有效。
- float background_energy
Default |
|
Setter | set_bg_energy(value) |
Getter | get_bg_energy() |
背景发出的光的功率。
- BGMode background_mode
Default |
|
Setter | set_background(value) |
Getter | get_background() |
背景模式。请参阅BGMode了解可能的值。
- Sky background_sky
Setter | set_sky(value) |
Getter | get_sky() |
Sky 天空资源定义为背景。
- float background_sky_custom_fov
Default |
|
Setter | set_sky_custom_fov(value) |
Getter | get_sky_custom_fov() |
Sky 天空资源的自定义视野。
- Basis background_sky_orientation
Default |
|
Setter | set_sky_orientation(value) |
Getter | get_sky_orientation() |
- Vector3 background_sky_rotation
Default |
|
Setter | set_sky_rotation(value) |
Getter | get_sky_rotation() |
Sky 资源旋转的欧拉角,以弧度单位。
- Vector3 background_sky_rotation_degrees
Default |
|
Setter | set_sky_rotation_degrees(value) |
Getter | get_sky_rotation_degrees() |
Sky 天空资源旋转的欧拉角,单位为度。
- float dof_blur_far_amount
Default |
|
Setter | set_dof_blur_far_amount(value) |
Getter | get_dof_blur_far_amount() |
用于景深效果的远处模糊数量。
- float dof_blur_far_distance
Default |
|
Setter | set_dof_blur_far_distance(value) |
Getter | get_dof_blur_far_distance() |
远景模糊效果影响渲染的距离。
- bool dof_blur_far_enabled
Default |
|
Setter | set_dof_blur_far_enabled(value) |
Getter | is_dof_blur_far_enabled() |
如果true
,启用景深远景模糊效果。
- DOFBlurQuality dof_blur_far_quality
Default |
|
Setter | set_dof_blur_far_quality(value) |
Getter | get_dof_blur_far_quality() |
景深远处模糊的质量。较高的数值可以减轻在较高强度下看到的可见带状效应,但速度要慢得多。
- float dof_blur_far_transition
Default |
|
Setter | set_dof_blur_far_transition(value) |
Getter | get_dof_blur_far_transition() |
无模糊区域和远模糊区域之间的过渡长度。
- float dof_blur_near_amount
Default |
|
Setter | set_dof_blur_near_amount(value) |
Getter | get_dof_blur_near_amount() |
用于景深效果的近似模糊的数量。
- float dof_blur_near_distance
Default |
|
Setter | set_dof_blur_near_distance(value) |
Getter | get_dof_blur_near_distance() |
近似模糊效果影响渲染的地方与相机的距离。
- bool dof_blur_near_enabled
Default |
|
Setter | set_dof_blur_near_enabled(value) |
Getter | is_dof_blur_near_enabled() |
如果true
,启用景深近模糊效果。
- DOFBlurQuality dof_blur_near_quality
Default |
|
Setter | set_dof_blur_near_quality(value) |
Getter | get_dof_blur_near_quality() |
景深近模糊的质量。较高的数值可以减轻在较高强度下看到的可见带状效应,但速度要慢得多。
- float dof_blur_near_transition
Default |
|
Setter | set_dof_blur_near_transition(value) |
Getter | get_dof_blur_near_transition() |
近模糊和无模糊区域之间的过渡长度。
- Color fog_color
Default |
|
Setter | set_fog_color(value) |
Getter | get_fog_color() |
雾的Color。
- float fog_depth_begin
Default |
|
Setter | set_fog_depth_begin(value) |
Getter | get_fog_depth_begin() |
雾的深度开始距离相机的距离。
- float fog_depth_curve
Default |
|
Setter | set_fog_depth_curve(value) |
Getter | get_fog_depth_curve() |
雾深的强度曲线。在检查器中,通过右键点击曲线,可以获得一些预设。
- bool fog_depth_enabled
Default |
|
Setter | set_fog_depth_enabled(value) |
Getter | is_fog_depth_enabled() |
如果为true
,则启用深度雾效果。启用后,雾将出现在远处(相对于相机)。
- float fog_depth_end
Default |
|
Setter | set_fog_depth_end(value) |
Getter | get_fog_depth_end() |
雾的深度终点与摄像机的距离。如果此值被设置为0,则等于当前摄像机的Camera.far值。
- bool fog_enabled
Default |
|
Setter | set_fog_enabled(value) |
Getter | is_fog_enabled() |
如果true
,则启用雾化效果。必须将fog_height_enabled和/或fog_depth_enabled设置为true
,才能实际显示雾气。
- float fog_height_curve
Default |
|
Setter | set_fog_height_curve(value) |
Getter | get_fog_height_curve() |
高度雾的强度。在检查器中,通过右键点击曲线。
- bool fog_height_enabled
Default |
|
Setter | set_fog_height_enabled(value) |
Getter | is_fog_height_enabled() |
如果为true
,则启用高度雾化效果。启用后,无论与相机的距离有多远,雾气都会出现在规定的高度范围内。这可以用来模拟 “深水 “效果,与专用着色器相比,性能成本更低。
- float fog_height_max
Default |
|
Setter | set_fog_height_max(value) |
Getter | get_fog_height_max() |
雾气高度最强的Y坐标。如果这个值大于fog_height_min,雾气将从下往上显示。否则,将从上到下显示。
- float fog_height_min
Default |
|
Setter | set_fog_height_min(value) |
Getter | get_fog_height_min() |
雾气高度最弱的Y坐标。如果这个值大于fog_height_max,雾气将从上到下显示。否则,将从下往上显示。
- float fog_sun_amount
Default |
|
Setter | set_fog_sun_amount(value) |
Getter | get_fog_sun_amount() |
朝着太阳看时,深度雾颜色过渡的强度。太阳的方向是通过场景中的平行光节点自动确定的。
- Color fog_sun_color
Default |
|
Setter | set_fog_sun_color(value) |
Getter | get_fog_sun_color() |
朝太阳看时,深雾的Color。
- float fog_transmit_curve
Default |
|
Setter | set_fog_transmit_curve(value) |
Getter | get_fog_transmit_curve() |
雾光透射效果的强弱。雾的透光量。
- bool fog_transmit_enabled
Default |
|
Setter | set_fog_transmit_enabled(value) |
Getter | is_fog_transmit_enabled() |
启用雾的透光效果。如果true
,光线在雾中会更加明显,以模拟现实生活中的光散射。
- bool glow_bicubic_upscale
Default |
|
Setter | set_glow_bicubic_upscale(value) |
Getter | is_glow_bicubic_upscale_enabled() |
以牺牲性能为代价,消除由更高级别采样产生的块状效应。
注意: 使用 GLES2渲染器时,只有GPU支持 GL_EXT_gpu_shader4
扩展时才可用。
- GlowBlendMode glow_blend_mode
Default |
|
Setter | set_glow_blend_mode(value) |
Getter | get_glow_blend_mode() |
混合发光模式。
- float glow_bloom
Default |
|
Setter | set_glow_bloom(value) |
Getter | get_glow_bloom() |
bloom的强度。如果设置为大于0
的值,则将在比glow_hdr_threshold成员更暗的区域中显示辉光。 bloom:有时被称为光晕或辉光,是一种用于视频游戏、演示和高动态范围渲染(HDRR)的计算机图形效果,用于再现真实世界相机的成像工件。
- bool glow_enabled
Default |
|
Setter | set_glow_enabled(value) |
Getter | is_glow_enabled() |
如果为true
,则启用glow效果。
- float glow_hdr_luminance_cap
Default |
|
Setter | set_glow_hdr_luminance_cap(value) |
Getter | get_glow_hdr_luminance_cap() |
HDR glow的较高阈值。比这个阈值更亮的区域将被限制,以达到glow效果的目的。
- float glow_hdr_scale
Default |
|
Setter | set_glow_hdr_bleed_scale(value) |
Getter | get_glow_hdr_bleed_scale() |
HDR glow的裁切规模。
- float glow_hdr_threshold
Default |
|
Setter | set_glow_hdr_bleed_threshold(value) |
Getter | get_glow_hdr_bleed_threshold() |
HDR glow的下限。当使用GLES2渲染器(不支持HDR)时,需要低于1.0
才能看到glow。在这种情况下,值0.9
的效果很好。
- bool glow_high_quality
Default |
|
Setter | set_glow_high_quality(value) |
Getter | is_glow_high_quality_enabled() |
在辉光的下采样过程中获取更多的样本。这可以确保辉光捕捉到单个像素,使辉光在移动过程中看起来更平滑、更稳定。然而,它非常吃性能,使辉光的后期处理需要两倍的时间。
- float glow_intensity
Default |
|
Setter | set_glow_intensity(value) |
Getter | get_glow_intensity() |
发光强度。使用GLES2渲染器时,应将其增加到1.5以弥补HDR渲染的不足。
- bool glow_levels/1
Default |
|
Setter | set_glow_level(value) |
Getter | is_glow_level_enabled() |
如果为true
,则启用第1级glow。这是最 “局部 “的级别(最不模糊)。
- bool glow_levels/2
Default |
|
Setter | set_glow_level(value) |
Getter | is_glow_level_enabled() |
如果为true
,则启用第2级glow。
- bool glow_levels/3
Default |
|
Setter | set_glow_level(value) |
Getter | is_glow_level_enabled() |
如果true
,则启用第3几glow。
- bool glow_levels/4
Default |
|
Setter | set_glow_level(value) |
Getter | is_glow_level_enabled() |
如果true
,则启用第四级glow。
- bool glow_levels/5
Default |
|
Setter | set_glow_level(value) |
Getter | is_glow_level_enabled() |
如果true
,则启用第五级glow。
- bool glow_levels/6
Default |
|
Setter | set_glow_level(value) |
Getter | is_glow_level_enabled() |
如果true
,则启用第六级glow。
- bool glow_levels/7
Default |
|
Setter | set_glow_level(value) |
Getter | is_glow_level_enabled() |
如果true
,则启用第七级glow。这是最 “全局 “的级别(最模糊)。
- float glow_strength
Default |
|
Setter | set_glow_strength(value) |
Getter | get_glow_strength() |
辉光强度。当使用GLES2渲染器时,应将其提高到1.3,以弥补HDR渲染的不足。
- float ss_reflections_depth_tolerance
Default |
|
Setter | set_ssr_depth_tolerance(value) |
Getter | get_ssr_depth_tolerance() |
屏幕空间反射的深度公差。
- bool ss_reflections_enabled
Default |
|
Setter | set_ssr_enabled(value) |
Getter | is_ssr_enabled() |
如果true
,启用屏幕空间反射。屏幕空间反射比GIProbe或ReflectionProbe的反射更精确,但速度较慢,而且不能反射被其他物体遮挡的表面。
- float ss_reflections_fade_in
Default |
|
Setter | set_ssr_fade_in(value) |
Getter | get_ssr_fade_in() |
屏幕空间反射的淡入距离。影响从反射材质到屏幕空间反射的区域。
- float ss_reflections_fade_out
Default |
|
Setter | set_ssr_fade_out(value) |
Getter | get_ssr_fade_out() |
屏幕空间反射的淡出距离。影响从屏幕空间反射到 “全局 “反射的区域。
- int ss_reflections_max_steps
Default |
|
Setter | set_ssr_max_steps(value) |
Getter | get_ssr_max_steps() |
屏幕空间反射的最大步数。数值越高,速度越慢。
- bool ss_reflections_roughness
Default |
|
Setter | set_ssr_rough(value) |
Getter | is_ssr_rough() |
如果 true
,屏幕空间反射将考虑材质粗糙度。
- float ssao_ao_channel_affect
Default |
|
Setter | set_ssao_ao_channel_affect(value) |
Getter | get_ssao_ao_channel_affect() |
定义了AO纹理的材质的屏幕空间环境遮挡强度。高于0
的值将使SSAO效果在AO纹理变暗的区域可见。
- float ssao_bias
Default |
|
Setter | set_ssao_bias(value) |
Getter | get_ssao_bias() |
屏幕空间的环境遮挡偏差。该值应保持在足够高的水平,以防止 “平滑 “曲线受到环境遮挡的影响。
- SSAOBlur ssao_blur
Default |
|
Setter | set_ssao_blur(value) |
Getter | get_ssao_blur() |
屏幕空间环境遮挡质量。可能的值请参阅SSAOBlur。
- Color ssao_color
Default |
|
Setter | set_ssao_color(value) |
Getter | get_ssao_color() |
屏幕空间环境光遮蔽颜色。
- float ssao_edge_sharpness
Default |
|
Setter | set_ssao_edge_sharpness(value) |
Getter | get_ssao_edge_sharpness() |
屏幕空间环境遮挡边缘锐度。
- bool ssao_enabled
Default |
|
Setter | set_ssao_enabled(value) |
Getter | is_ssao_enabled() |
如果true
,启用屏幕空间环境遮挡效果。这将使物体的角落和空洞变暗,以模拟现实生活中环境光无法到达整个物体。这对于小型的动态物体来说效果很好,但在大型静态物体上,烘焙的照明或环境遮挡纹理会更好地显示环境遮挡。这是一个昂贵的效果,当遇到性能问题时,应该首先禁用。
- float ssao_intensity
Default |
|
Setter | set_ssao_intensity(value) |
Getter | get_ssao_intensity() |
主要的屏幕空间环境遮挡强度。参阅ssao_radius。
- float ssao_intensity2
Default |
|
Setter | set_ssao_intensity2(value) |
Getter | get_ssao_intensity2() |
主要的屏幕空间环境光遮挡强度。参阅 ssao_radius。
- float ssao_light_affect
Default |
|
Setter | set_ssao_direct_light_affect(value) |
Getter | get_ssao_direct_light_affect() |
直射光下的屏幕空间环境遮挡强度。在现实生活中,环境遮挡只适用于间接光,也就是说在直射光下无法看到其效果。高于0
的数值将使SSAO效果在直射光下可见。
- SSAOQuality ssao_quality
Default |
|
Setter | set_ssao_quality(value) |
Getter | get_ssao_quality() |
屏幕空间的环境遮蔽质量。更高的质量将更好地利用小物体进行环境遮蔽,但速度较慢。
- float ssao_radius
Default |
|
Setter | set_ssao_radius(value) |
Getter | get_ssao_radius() |
主屏空间环境遮挡半径。
- float ssao_radius2
Default |
|
Setter | set_ssao_radius2(value) |
Getter | get_ssao_radius2() |
次要屏幕空间环境遮蔽半径。如果设置为高于0
的值,则启用次要屏幕空间的环境遮蔽效果,可以用来改善效果表现,但以性能为代价。
- float tonemap_exposure
Default |
|
Setter | set_tonemap_exposure(value) |
Getter | get_tonemap_exposure() |
用于色调映射的默认曝光。
- ToneMapper tonemap_mode
Default |
|
Setter | set_tonemapper(value) |
Getter | get_tonemapper() |
要使用的色调映射模式。色调映射是“转换” HDR值以适合在LDR显示器上呈现的过程。 (Godot尚不支持在HDR显示器上进行渲染。)
- float tonemap_white
Default |
|
Setter | set_tonemap_white(value) |
Getter | get_tonemap_white() |
调色映射的白色参考值。只有当tonemap_mode没有设置为TONE_MAPPER_LINEAR时才有效。
方法说明
如果指定了发光等级 idx
,返回 true
,否则返回 false
。
启用或禁用索引 idx
处的发光级别。每个级别都依赖于前一个级别。这意味着启用较高的发光等级会减慢辉光效果的渲染速度,即使之前的等级没有启用。