Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

LightmapGIData

继承: Resource < RefCounted < Object

包含用于 LightmapGI 的烘焙光照贴图和动态对象探测数据。

描述

LightmapGIData 包含用于 LightmapGI 的烘焙光照贴图和动态对象探测数据。在 LightmapGI 中每当光照贴图被烘焙时都会替换它。

属性

TextureLayered

light_texture

Array[TextureLayered]

lightmap_textures

[]

Array[TextureLayered]

shadowmask_textures

[]

方法

void

add_user(path: NodePath, uv_scale: Rect2, slice_index: int, sub_instance: int)

void

clear_users()

int

get_user_count() const

NodePath

get_user_path(user_idx: int) const

bool

is_using_spherical_harmonics() const

void

set_uses_spherical_harmonics(uses_spherical_harmonics: bool)


枚举

enum ShadowmaskMode: 🔗

ShadowmaskMode SHADOWMASK_MODE_NONE = 0

阴影遮罩已禁用。烘焙光照贴图时不会创建阴影遮罩纹理。烘焙时会移除现有的阴影遮罩纹理。

ShadowmaskMode SHADOWMASK_MODE_REPLACE = 1

阴影遮罩已启用。超出 DirectionalLight3D.directional_shadow_max_distance 范围的方向阴影会使用阴影遮罩纹理渲染。范围内的阴影只会使用实时阴影渲染。该模式能够让较近的实时阴影更加精确,不会出现使用高纹素大小的光照贴图时可能出现的“模糊”效果。缺点是当相机快速移动时,实时光照和阴影遮罩之间的过渡可能会很明显。此外,仅在阴影遮罩中烘焙阴影(没有实时阴影)的物体在距离较近时不会显示任何阴影。

ShadowmaskMode SHADOWMASK_MODE_OVERLAY = 2

阴影遮罩已启用。方向阴影在渲染时会在阴影遮罩纹理上叠加实时阴影。该模式在相机快速移动时可以实现更平滑的阴影过渡,但代价是近距离的方向阴影可能会出现模糊效果(因为实时阴影与低分辨率的阴影遮罩混合)。仅在阴影遮罩中烘焙阴影(没有实时阴影)的物体在距离较近时会保持阴影。


属性说明

TextureLayered light_texture 🔗

已弃用: The lightmap atlas can now contain multiple textures. See lightmap_textures.

由光照贴图器生成的光照贴图图集纹理。


Array[TextureLayered] lightmap_textures = [] 🔗

由光照贴图器生成的光照贴图图集纹理。


Array[TextureLayered] shadowmask_textures = [] 🔗

光照贴图器生成的阴影遮罩图集纹理。


方法说明

void add_user(path: NodePath, uv_scale: Rect2, slice_index: int, sub_instance: int) 🔗

添加一个在该 LightmapGIData 中被视为已烘焙的对象。


void clear_users() 🔗

清除在该 LightmapGIData 中被视为已烘焙的所有对象。


int get_user_count() const 🔗

返回在该 LightmapGIData 中被视为烘焙的对象的数量。


NodePath get_user_path(user_idx: int) const 🔗

返回索引 user_idx 处烘焙对象的 NodePath


bool is_using_spherical_harmonics() const 🔗

如果为 true,则光照贴图使用定向信息烘焙。另见 LightmapGI.directional


void set_uses_spherical_harmonics(uses_spherical_harmonics: bool) 🔗

如果 uses_spherical_harmonicstrue,则告诉引擎将光照贴图数据视为使用了定向信息烘焙的。

注意:在已烘焙的光照贴图上更改此值不会导致再次烘焙它们。这意味着在再次烘焙光照贴图之前,材质外观将看起来不正确,在这种情况下,此处设置的值将被丢弃,因为整个 LightmapGIData 资源被光照贴图器替换。