GeometryInstance

Inherits: VisualInstance < CullInstance < Spatial < Node < Object

Inherited By: CPUParticles, CSGShape, ImmediateGeometry, MeshInstance, MultiMeshInstance, Particles, SpriteBase3D

基于几何图形的视觉实例的基础节点。

描述

基于几何图形的视觉实例的基础节点。分享一些共同的机制,如可见性和自定义材质。

属性

ShadowCastingSetting

cast_shadow

1

float

extra_cull_margin

0.0

bool

generate_lightmap

true

LightmapScale

lightmap_scale

0

float

lod_max_distance

0.0

float

lod_max_hysteresis

0.0

float

lod_min_distance

0.0

float

lod_min_hysteresis

0.0

Material

material_overlay

Material

material_override

bool

use_in_baked_light

false

方法

bool

get_flag ( Flags flag ) const

void

set_custom_aabb ( AABB aabb )

void

set_flag ( Flags flag, bool value )

枚举

enum LightmapScale:

  • LIGHTMAP_SCALE_1X = 0 —- 生成的光照贴图纹理将具有原始大小。

  • LIGHTMAP_SCALE_2X = 1 —- 生成的光照贴图纹理将是每个轴上的 2 倍。

  • LIGHTMAP_SCALE_4X = 2 —- 生成的光照贴图纹理将是每个轴上的 4 倍。

  • LIGHTMAP_SCALE_8X = 3 —- 生成的光照贴图纹理将是每个轴上的 8 倍。

  • LIGHTMAP_SCALE_MAX = 4


enum ShadowCastingSetting:

  • SHADOW_CASTING_SETTING_OFF = 0 —- 将不会投射任何阴影。

  • SHADOW_CASTING_SETTING_ON = 1 —- 将从GeometryInstance中的所有可见面投射阴影。

将考虑剔除,所以在投射阴影时,没有被渲染的面将不会被考虑在内。

  • SHADOW_CASTING_SETTING_DOUBLE_SIDED = 2 —- 将从GeometryInstance中的所有可见面投射阴影。

不会考虑剔除,所以在投射阴影时,所有的面都会被考虑在内。

  • SHADOW_CASTING_SETTING_SHADOWS_ONLY = 3 —- 只显示从这个物体投射出来的阴影。

换句话说,实际的网格将不可见,只有网格投影可见。


enum Flags:

  • FLAG_USE_BAKED_LIGHT = 0 —- 将允许在使用GIProbeBakedLightmap进行灯光烘焙时使用GeometryInstance几何实例。

  • FLAG_DRAW_NEXT_FRAME_IF_VISIBLE = 1 —- 在此类中未使用,公开以与 InstanceFlags 保持一致。

  • FLAG_MAX = 2 —- 表示Flags枚举的大小。

属性说明

Default

1

Setter

set_cast_shadows_setting(value)

Getter

get_cast_shadows_setting()

选择的阴影投射标志。转到 ShadowCastingSetting 来查看该属性可能的值。


Default

0.0

Setter

set_extra_cull_margin(value)

Getter

get_extra_cull_margin()

添加到 GeometryInstance 的包围盒(AABB)的额外距离,以增加其剔除盒。


  • bool generate_lightmap

Default

true

Setter

set_generate_lightmap(value)

Getter

get_generate_lightmap()

当禁用时,计算间接光照时将考虑网格,但产生的光照贴图不会被保存。适用于仅有发光材质或阴影投射器。


Default

0

Setter

set_lightmap_scale(value)

Getter

get_lightmap_scale()

生成的烘焙光照贴图的缩放系数。对增加某些网格实例的细节很有用。


Default

0.0

Setter

set_lod_max_distance(value)

Getter

get_lod_max_distance()

GeometryInstance3D的最大LOD距离。

注意: 这个属性目前没有任何作用。


  • float lod_max_hysteresis

Default

0.0

Setter

set_lod_max_hysteresis(value)

Getter

get_lod_max_hysteresis()

GeometryInstance3D的最大LOD 边距。

注意: 这个属性目前没有任何作用。


Default

0.0

Setter

set_lod_min_distance(value)

Getter

get_lod_min_distance()

GeometryInstance3D的最小LOD距离。

注意: 这个属性目前没有任何作用。


  • float lod_min_hysteresis

Default

0.0

Setter

set_lod_min_hysteresis(value)

Getter

get_lod_min_hysteresis()

GeometryInstance3D的最小LOD 边距。

注意: 这个属性目前没有任何作用。


Setter

set_material_overlay(value)

Getter

get_material_overlay()

The material overlay for the whole geometry.

If a material is assigned to this property, it will be rendered on top of any other active material for all the surfaces.


Setter

set_material_override(value)

Getter

get_material_override()

整个几何体的材质覆盖。

如果一个材质被分配给这个属性,它将会被用来代替在网格的任何材质槽中设置的任何材质。


  • bool use_in_baked_light

Default

false

Setter

set_flag(value)

Getter

get_flag()

如果 true,则在使用 GIProbeBakedLightmap 烘焙灯光时将使用此 GeometryInstance。

方法说明

返回为此对象设置的Flags


  • void set_custom_aabb ( AABB aabb )

用一个自定义的包围盒覆盖这个节点的包围盒。设置一个AABB,去删除它,所有字段设置为零。


设置指定的Flags。参阅Flags选项。