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.

BaseMaterial3D

继承: Material < Resource < RefCounted < Object

派生: ORMMaterial3D, StandardMaterial3D

用于定义网格 3D 渲染属性的抽象基类。

描述

这个类提供了默认的材质,具有多种渲染功能和属性,无需编写着色器代码。详情见下面的教程。

教程

属性

Color

albedo_color

Color(1, 1, 1, 1)

Texture2D

albedo_texture

bool

albedo_texture_force_srgb

false

bool

albedo_texture_msdf

false

float

alpha_antialiasing_edge

AlphaAntiAliasing

alpha_antialiasing_mode

float

alpha_hash_scale

float

alpha_scissor_threshold

float

anisotropy

0.0

bool

anisotropy_enabled

false

Texture2D

anisotropy_flowmap

bool

ao_enabled

false

float

ao_light_affect

0.0

bool

ao_on_uv2

false

Texture2D

ao_texture

TextureChannel

ao_texture_channel

0

Color

backlight

Color(0, 0, 0, 1)

bool

backlight_enabled

false

Texture2D

backlight_texture

bool

billboard_keep_scale

false

BillboardMode

billboard_mode

0

BlendMode

blend_mode

0

float

clearcoat

1.0

bool

clearcoat_enabled

false

float

clearcoat_roughness

0.5

Texture2D

clearcoat_texture

CullMode

cull_mode

0

DepthDrawMode

depth_draw_mode

0

Texture2D

detail_albedo

BlendMode

detail_blend_mode

0

bool

detail_enabled

false

Texture2D

detail_mask

Texture2D

detail_normal

DetailUV

detail_uv_layer

0

DiffuseMode

diffuse_mode

0

bool

disable_ambient_light

false

bool

disable_fog

false

bool

disable_receive_shadows

false

float

distance_fade_max_distance

10.0

float

distance_fade_min_distance

0.0

DistanceFadeMode

distance_fade_mode

0

Color

emission

Color(0, 0, 0, 1)

bool

emission_enabled

false

float

emission_energy_multiplier

1.0

float

emission_intensity

bool

emission_on_uv2

false

EmissionOperator

emission_operator

0

Texture2D

emission_texture

bool

fixed_size

false

bool

grow

false

float

grow_amount

0.0

bool

heightmap_deep_parallax

false

bool

heightmap_enabled

false

bool

heightmap_flip_binormal

false

bool

heightmap_flip_tangent

false

bool

heightmap_flip_texture

false

int

heightmap_max_layers

int

heightmap_min_layers

float

heightmap_scale

5.0

Texture2D

heightmap_texture

float

metallic

0.0

float

metallic_specular

0.5

Texture2D

metallic_texture

TextureChannel

metallic_texture_channel

0

float

msdf_outline_size

0.0

float

msdf_pixel_range

4.0

bool

no_depth_test

false

bool

normal_enabled

false

float

normal_scale

1.0

Texture2D

normal_texture

Texture2D

orm_texture

int

particles_anim_h_frames

bool

particles_anim_loop

int

particles_anim_v_frames

float

point_size

1.0

float

proximity_fade_distance

1.0

bool

proximity_fade_enabled

false

bool

refraction_enabled

false

float

refraction_scale

0.05

Texture2D

refraction_texture

TextureChannel

refraction_texture_channel

0

float

rim

1.0

bool

rim_enabled

false

Texture2D

rim_texture

float

rim_tint

0.5

float

roughness

1.0

Texture2D

roughness_texture

TextureChannel

roughness_texture_channel

0

ShadingMode

shading_mode

1

bool

shadow_to_opacity

false

SpecularMode

specular_mode

0

bool

subsurf_scatter_enabled

false

bool

subsurf_scatter_skin_mode

false

float

subsurf_scatter_strength

0.0

Texture2D

subsurf_scatter_texture

float

subsurf_scatter_transmittance_boost

0.0

Color

subsurf_scatter_transmittance_color

Color(1, 1, 1, 1)

float

subsurf_scatter_transmittance_depth

0.1

bool

subsurf_scatter_transmittance_enabled

false

Texture2D

subsurf_scatter_transmittance_texture

TextureFilter

texture_filter

3

bool

texture_repeat

true

Transparency

transparency

0

bool

use_particle_trails

false

bool

use_point_size

false

Vector3

uv1_offset

Vector3(0, 0, 0)

Vector3

uv1_scale

Vector3(1, 1, 1)

bool

uv1_triplanar

false

float

uv1_triplanar_sharpness

1.0

bool

uv1_world_triplanar

false

Vector3

uv2_offset

Vector3(0, 0, 0)

Vector3

uv2_scale

Vector3(1, 1, 1)

bool

uv2_triplanar

false

float

uv2_triplanar_sharpness

1.0

bool

uv2_world_triplanar

false

bool

vertex_color_is_srgb

false

bool

vertex_color_use_as_albedo

false

方法

bool

get_feature(feature: Feature) const

bool

get_flag(flag: Flags) const

Texture2D

get_texture(param: TextureParam) const

void

set_feature(feature: Feature, enable: bool)

void

set_flag(flag: Flags, enable: bool)

void

set_texture(param: TextureParam, texture: Texture2D)


枚举

enum TextureParam: 🔗

TextureParam TEXTURE_ALBEDO = 0

指定每个像素颜色的纹理。

TextureParam TEXTURE_METALLIC = 1

指定每个像素金属度值的纹理。

TextureParam TEXTURE_ROUGHNESS = 2

指定每个像素粗糙度值的纹理。

TextureParam TEXTURE_EMISSION = 3

指定每个像素自发光颜色的纹理。

TextureParam TEXTURE_NORMAL = 4

指定每个像素法向量的纹理。

TextureParam TEXTURE_RIM = 5

指定每个像素边缘值的纹理。

TextureParam TEXTURE_CLEARCOAT = 6

指定每个像素清漆值的纹理。

TextureParam TEXTURE_FLOWMAP = 7

指定每个像素流图方向的纹理,用于 anisotropy

TextureParam TEXTURE_AMBIENT_OCCLUSION = 8

指定每个像素环境光遮蔽的纹理。

TextureParam TEXTURE_HEIGHTMAP = 9

指定每个像素高度的纹理。

TextureParam TEXTURE_SUBSURFACE_SCATTERING = 10

指定每个像素次表面散射的纹理。

TextureParam TEXTURE_SUBSURFACE_TRANSMITTANCE = 11

指定每个像素用于次表面散射的透射率的纹理。

TextureParam TEXTURE_BACKLIGHT = 12

指定每个像素背光颜色的纹理。

TextureParam TEXTURE_REFRACTION = 13

指定每个像素折射强度的纹理。

TextureParam TEXTURE_DETAIL_MASK = 14

指定每个像素细节蒙版混合值的纹理。

TextureParam TEXTURE_DETAIL_ALBEDO = 15

指定每个像素细节颜色的纹理。

TextureParam TEXTURE_DETAIL_NORMAL = 16

指定每个像素细节法线的纹理。

TextureParam TEXTURE_ORM = 17

保存环境光遮蔽、粗糙度和金属度信息的纹理。

TextureParam TEXTURE_MAX = 18

代表 TextureParam 枚举的大小。


enum TextureFilter: 🔗

TextureFilter TEXTURE_FILTER_NEAREST = 0

纹理过滤仅从最近的像素读取。这使得纹理从近距离看是像素化的,从远处看是颗粒状的(由于多级渐远纹理没有被采样)。

TextureFilter TEXTURE_FILTER_LINEAR = 1

纹理过滤在最近的 4 个像素之间进行混合。这使得纹理从近处看起来很平滑,从远处看起来却有颗粒感(由于多级渐远纹理没有被采样)。

TextureFilter TEXTURE_FILTER_NEAREST_WITH_MIPMAPS = 2

纹理过滤从最近的像素读取并在最近的 2 个多级渐远纹理之间进行混合(或者如果 ProjectSettings.rendering/textures/default_filters/use_nearest_mipmap_filtertrue,则使用最近的多级渐远纹理)。这使得纹理从近处看起来像素化,从远处看起来平滑。

TextureFilter TEXTURE_FILTER_LINEAR_WITH_MIPMAPS = 3

纹理过滤在最近的 4 个像素和最近的 2 个多级渐远纹理之间进行混合(或者如果