LightmapGIData

继承: Resource < RefCounted < Object

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

描述

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

属性

方法

void

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

void

clear_users()

int

get_user_count() const

ItemPath

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

阴影遮罩已启用。DirectionalLight.directional_shadow_max_distance之外的方向阴影将使用阴影遮罩纹理渲染。范围内的阴影将专门使用实时阴影渲染。这种模式允许近距离更精确的实时阴影,而不会在使用高纹理大小的光照贴图时出现潜在的“涂抹”效果。缺点是当摄像机快速移动时,实时光线和阴影遮罩之间的过渡可能很明显。此外,只有阴影烘焙在阴影遮罩中的对象(没有实时阴影)不会近距离显示任何阴影。

ShadowmaskMode SHADOWMASK_MODE_OVERLAY = 2

已启用阴影遮罩。方向阴影将被渲染为实时阴影覆盖在阴影遮罩纹理之上。当摄像机快速移动时,这种模式可以使阴影过渡更平滑,代价是方向阴影的潜在涂抹效果(由于实时阴影与低分辨率阴影遮罩混合)。只有阴影烘焙在阴影遮罩中的对象(没有实时阴影)将保持阴影靠近。


属性说明

TextureLayered light_texture 🔗

已弃用: 光照贴图集现在可以包含多个纹理。请参阅 lightmap_textures

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


Array[TextureLayered] lightmap_textures = [] 🔗

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


Array[TextureLayered] shadowmask_textures = [] 🔗

光照映射器生成的遮罩图集纹理。


方法说明

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

在此LightmapGIData中添加一个被认为是烘焙的对象。


void clear_users() 🔗

清除所有被认为在此LightmapGIData中烘焙的对象。


int get_user_count() const 🔗

返回被认为在此LightmapGIData中烘焙的对象数。


ItemPath get_user_path(user_idx: int) const 🔗

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


bool is_using_spherical_harmonics() const 🔗

如果true,则使用方向信息烘焙光照贴图。另请参阅Lightmass.directional


void set_uses_spherical_harmonics(uses_spherical_harmonics: bool) 🔗

如果uses_spherical_harmonicstrue,则告诉引擎将Lightmap数据视为带有方向信息的数据。

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