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.
Checking the stable version of the documentation...
BaseMaterial3D
Eredita: Material < Resource < RefCounted < Object
Ereditato da: ORMMaterial3D, StandardMaterial3D
Classe di base astratta per definire le proprietà di rendering 3D delle mesh.
Descrizione
Questa classe serve da materiale predefinito con un'ampia varietà di funzionalità e proprietà di rendering senza la necessità di scrivere codice di shader. Vedi il tutorial qui sotto per i dettagli.
Tutorial
Proprietà
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Metodi
get_feature(feature: Feature) const |
|
get_texture(param: TextureParam) const |
|
void |
set_feature(feature: Feature, enable: bool) |
void |
|
void |
set_texture(param: TextureParam, texture: Texture2D) |
Enumerazioni
enum TextureParam: 🔗
TextureParam TEXTURE_ALBEDO = 0
Texture che specifica il colore per pixel.
TextureParam TEXTURE_METALLIC = 1
Texture che specifica il valore metallico per pixel.
TextureParam TEXTURE_ROUGHNESS = 2
Texture che specifica il valore di rugosità per pixel.
TextureParam TEXTURE_EMISSION = 3
Texture che specifica il colore di emissione per pixel.
TextureParam TEXTURE_NORMAL = 4
Texture che specifica i vettori di normali per pixel.
TextureParam TEXTURE_BENT_NORMAL = 18
Texture che specifica i vettori di normali piegati per pixel.
TextureParam TEXTURE_RIM = 5
Texture che specifica il valore del bordo per pixel.
TextureParam TEXTURE_CLEARCOAT = 6
Texture che specifica il valore di rivestimento trasparente per pixel.
TextureParam TEXTURE_FLOWMAP = 7
Texture che specifica la direzione della mappa di flusso per pixel per l'uso con anisotropy.
TextureParam TEXTURE_AMBIENT_OCCLUSION = 8
Texture che specifica il valore di occlusione ambientale per pixel.
TextureParam TEXTURE_HEIGHTMAP = 9
Texture che specifica l'altezza per pixel.
TextureParam TEXTURE_SUBSURFACE_SCATTERING = 10
Texture che specifica il subsurface scattering per-pixel.
TextureParam TEXTURE_SUBSURFACE_TRANSMITTANCE = 11
Texture che specifica la trasmittanza per pixel per il subsurface scattering.
TextureParam TEXTURE_BACKLIGHT = 12
Texture che specifica il colore della retroilluminazione per pixel.
TextureParam TEXTURE_REFRACTION = 13
Texture che specifica l'intensità di rifrazione per pixel.
TextureParam TEXTURE_DETAIL_MASK = 14
Texture che specifica il valore di fusione della maschera di dettaglio per pixel .
TextureParam TEXTURE_DETAIL_ALBEDO = 15
Texture che specifica il colore dei dettagli per pixel.
TextureParam TEXTURE_DETAIL_NORMAL = 16
Texture che specifica le normali del dettaglio per ogni pixel.
TextureParam TEXTURE_ORM = 17
Texture che contiene i valori dell'occlusione ambientale, la ruvidità, e il metallico.
TextureParam TEXTURE_MAX = 19
Rappresenta la dimensione dell'enumerazione TextureParam.
enum TextureFilter: 🔗
TextureFilter TEXTURE_FILTER_NEAREST = 0
Il filtro della texture legge solamente il pixel più vicino. Ciò rende la texture pixellata da vicino, e granulosa da lontano (poiché non sono campionate le mipmap).
TextureFilter TEXTURE_FILTER_LINEAR = 1
Il filtro della texture fonde tra i 4 pixel più vicini. Ciò rende la texture liscia da vicino e granulosa da lontano (poiché non sono campionate le mipmap).
TextureFilter TEXTURE_FILTER_NEAREST_WITH_MIPMAPS = 2
Il filtro della texture legge dal pixel più vicino e lo fonde tra le 2 mipmap più vicine (o usa la mipmap più vicina se ProjectSettings.rendering/textures/default_filters/use_nearest_mipmap_filter è true). Ciò rende la texture pixelata da vicino, e liscia da lontano.
TextureFilter TEXTURE_FILTER_LINEAR_WITH_MIPMAPS = 3
Il filtro della texture fonde tra i 4 pixel più vicini e tra le 2 mipmap più vicine (o usa la mipmap più vicina se ProjectSettings.rendering/textures/default_filters/use_nearest_mipmap_filter è true). Ciò rende la texture liscia da vicino, e liscia da lontano.
TextureFilter TEXTURE_FILTER_NEAREST_WITH_MIPMAPS_ANISOTROPIC = 4
Il filtro della texture legge dal pixel più vicino e lo fonde tra 2 mipmap (o utilizza la mipmap più vicina se ProjectSettings.rendering/textures/default_filters/use_nearest_mipmap_filter è true) in base all'angolo tra la superficie e la visuale della telecamera. Ciò rende la texture pixelata da vicino e liscia da lontano. Il filtraggio anisotropico migliora la qualità delle texture sulle superfici quasi in linea con la fotocamera, ma è leggermente più lento. Il livello di filtro anisotropico può essere modificato regolando ProjectSettings.rendering/textures/default_filters/anisotropic_filtering_level.
TextureFilter TEXTURE_FILTER_LINEAR_WITH_MIPMAPS_ANISOTROPIC = 5
Il filtro della texture fonde tra i 4 pixel più vicini e li fonde tra 2 mipmap (o utilizza la mipmap più vicina se ProjectSettings.rendering/textures/default_filters/use_nearest_mipmap_filter è true) in base all'angolo tra la superficie e la visuale della telecamera. Ciò rende la texture pixelata da vicino e liscia da lontano. Il filtraggio anisotropico migliora la qualità delle texture sulle superfici quasi in linea con la fotocamera, ma è leggermente più lento. Il livello di filtro anisotropico può essere modificato regolando ProjectSettings.rendering/textures/default_filters/anisotropic_filtering_level.
TextureFilter TEXTURE_FILTER_MAX = 6
Rappresenta la dimensione dell'enumerazione TextureFilter.
enum DetailUV: 🔗
DetailUV DETAIL_UV_1 = 0
Usa UV per la texture dei dettagli.
DetailUV DETAIL_UV_2 = 1
Usa UV2 per la texture dei dettagli.
enum Transparency: 🔗
Transparency TRANSPARENCY_DISABLED = 0
Il materiale non userà la trasparenza. Questo è il più veloce da renderizzare.
Transparency TRANSPARENCY_ALPHA = 1
Il materiale utilizzerà i valori alfa della texture per la trasparenza. Questo è il più lento da renderizzare e disabilita la proiezione delle ombre.
Transparency TRANSPARENCY_ALPHA_SCISSOR = 2
Il materiale troncherà tutti i valori al di sotto di una soglia, il resto rimarrà opaco. Le porzioni opache saranno renderizzate nel pre-passaggio di profondità. Ciò è più veloce da renderizzare rispetto alla fusione alfa, ma più lento del rendering opaco. Ciò supporta inoltre la proiezione di ombre.
Transparency TRANSPARENCY_ALPHA_HASH = 3
Il materiale troncherà tutti i valori al di sotto di una soglia spazialmente deterministica, il resto rimarrà opaco. Ciò è più veloce da renderizzare rispetto alla fusione alfa, ma più lento del rendering opaco. Ciò supporta inoltre la proiezione di ombre. L'hashing alfa è adatto per il rendering dei capelli.
Transparency TRANSPARENCY_ALPHA_DEPTH_PRE_PASS = 4
Il materiale utilizzerà il valore alfa della texture per la trasparenza, ma scarterà i frammenti con un alfa inferiore a 0,99 durante il pre-passaggio di profondità e i frammenti con un alfa inferiore a 0,1 durante il passaggio dell'ombra. Questo supporta anche la proiezione di ombre.
Transparency TRANSPARENCY_MAX = 5
Rappresenta la dimensione dell'enumerazione Transparency.
enum ShadingMode: 🔗
ShadingMode SHADING_MODE_UNSHADED = 0
L'oggetto non riceverà ombre. Questo è il più veloce da renderizzare, ma disabilita tutte le interazioni con le luci.
ShadingMode SHADING_MODE_PER_PIXEL = 1
L'oggetto sarà ombreggiato per pixel. Utile per effetti di ombreggiatura realistici.
ShadingMode SHADING_MODE_PER_VERTEX = 2
L'oggetto sarà ombreggiato per vertice. Utile quando si desiderano shader meno costosi e la qualità visiva non importa.
ShadingMode SHADING_MODE_MAX = 3
Rappresenta la dimensione dell'enumerazione ShadingMode.
enum Feature: 🔗
Feature FEATURE_EMISSION = 0
Costante per impostare emission_enabled.
Feature FEATURE_NORMAL_MAPPING = 1
Costante per impostare normal_enabled.
Feature FEATURE_RIM = 2
Costante per impostare rim_enabled.
Feature FEATURE_CLEARCOAT = 3
Costante per impostare clearcoat_enabled.
Feature FEATURE_ANISOTROPY = 4
Costante per impostare anisotropy_enabled.
Feature FEATURE_AMBIENT_OCCLUSION = 5
Costante per impostare ao_enabled.
Feature FEATURE_HEIGHT_MAPPING = 6
Costante per impostare heightmap_enabled.
Feature FEATURE_SUBSURFACE_SCATTERING = 7
Costante per impostare subsurf_scatter_enabled.
Feature FEATURE_SUBSURFACE_TRANSMITTANCE = 8
Costante per impostare subsurf_scatter_transmittance_enabled.
Feature FEATURE_BACKLIGHT = 9
Costante per impostare backlight_enabled.
Feature FEATURE_REFRACTION = 10
Costante per impostare refraction_enabled.
Feature FEATURE_DETAIL = 11
Costante per impostare detail_enabled.
Feature FEATURE_BENT_NORMAL_MAPPING = 12
Costante per impostare bent_normal_enabled.
Feature FEATURE_MAX = 13
Rappresenta la dimensione dell'enumerazione Feature.
enum BlendMode: 🔗
BlendMode BLEND_MODE_MIX = 0
Modalità di fusione predefinita. Il colore dell'oggetto è sfumato sullo sfondo in base al valore alfa dell'oggetto.
BlendMode BLEND_MODE_ADD = 1
Il colore dell'oggetto è aggiunto allo sfondo.
BlendMode BLEND_MODE_SUB = 2
Il colore dell'oggetto è sottratto dallo sfondo.
BlendMode BLEND_MODE_MUL = 3
Il colore dell'oggetto è moltiplicato per lo sfondo.
BlendMode BLEND_MODE_PREMULT_ALPHA = 4
Il colore dell'oggetto è aggiunto allo sfondo e il canale alfa è utilizzato per mascherare lo sfondo. Questo è effettivamente un ibrido delle modalità mix e add, utile per effetti come il fuoco in cui si desidera aggiungere la fiamma ma sfumare il fumo. Per impostazione predefinita, questo funziona con materiali non ombreggiati attraverso texture premoltiplicate. Per i materiali ombreggiati, usa il PREMUL_ALPHA_FACTOR integrato in modo che anche l'illuminazione possa essere modulata.
enum AlphaAntiAliasing: 🔗
AlphaAntiAliasing ALPHA_ANTIALIASING_OFF = 0
Disabilita l'antialiasing dell'alfa per il materiale.
AlphaAntiAliasing ALPHA_ANTIALIASING_ALPHA_TO_COVERAGE = 1
Abilita l'alfa a copertura (AlphaToCoverage). I valori alfa nel materiale sono passati alla maschera di campionamento per l'antialiasing.
AlphaAntiAliasing ALPHA_ANTIALIASING_ALPHA_TO_COVERAGE_AND_TO_ONE = 2
Abilita l'alfa a copertura (AlphaToCoverage) e forza tutti i valori alfa diversi da zero a 1. I valori alfa nel materiale sono passati alla maschera di campionamento per l'antialiasing.
enum DepthDrawMode: 🔗
DepthDrawMode DEPTH_DRAW_OPAQUE_ONLY = 0
Modalità di disegno della profondità predefinita. La profondità è disegnata solo per gli oggetti opachi durante il pre-passaggio opaco (se presente) e durante il passaggio opaco.
DepthDrawMode DEPTH_DRAW_ALWAYS = 1
Gli oggetti scriveranno nel buffer di profondità durante i passaggi opaco e trasparente. Gli oggetti trasparenti vicini alla telecamera potrebbero oscurare altri oggetti trasparenti dietro di loro.
Nota: Ciò non influenza se gli oggetti trasparenti sono inclusi o meno nel pre-passaggio di profondità. Per quello, vedi Transparency.
DepthDrawMode DEPTH_DRAW_DISABLED = 2
Gli oggetti non scriveranno la loro profondità nel buffer di profondità, anche durante il pre-passaggio di profondità (se abilitato).
enum DepthTest: 🔗
DepthTest DEPTH_TEST_DEFAULT = 0
Il test di profondità scarterà il pixel se si trova dietro altri pixel.
DepthTest DEPTH_TEST_INVERTED = 1
Il test di profondità scarterà il pixel se si trova davanti ad altri pixel. Utile per gli effetti stencil.
enum CullMode: 🔗
CullMode CULL_BACK = 0
Modalità di culling predefinita. Il retro dell'oggetto è scartato quando non è visibile. I triangoli della faccia posteriore saranno scartati quando si è di fronte alla fotocamera. In questo modo è disegnato solo il lato anteriore dei triangoli. Per le mesh a superficie chiusa, ciò significa che sarà visibile solo l'esterno della mesh.
CullMode CULL_FRONT = 1
I triangoli della faccia anteriore verranno eliminati quando si è di fronte alla telecamera. In questo modo è disegnato solo il lato posteriore dei triangoli. Per le mesh a superficie chiusa, ciò significa che sarà disegnato l'interno della mesh invece che l'esterno.
CullMode CULL_DISABLED = 2
Non viene eseguita alcun culling delle facce; sia la faccia anteriore sia la faccia posteriore saranno visibili.
enum Flags: 🔗
Flags FLAG_DISABLE_DEPTH_TEST = 0
Disabilita il test di profondità, pertanto questo oggetto è disegnato sopra tutti gli altri oggetti disegnati prima. Ciò inserisce l'oggetto nel passaggio di disegno trasparente dove viene ordinato in base alla distanza dalla telecamera. Gli oggetti disegnati dopo di esso nell'ordine di disegno potrebbero coprirlo. Ciò disabilita anche la scrittura nel buffer di profondità.
Flags FLAG_ALBEDO_FROM_VERTEX_COLOR = 1
Imposta ALBEDO al colore per vertice specificato nella mesh.
Flags FLAG_SRGB_VERTEX_COLOR = 2
Vertex colors are considered to be stored in nonlinear sRGB encoding and are converted to linear encoding during rendering. See also vertex_color_is_srgb.
Note: Only effective when using the Forward+ and Mobile rendering methods.
Flags FLAG_USE_POINT_SIZE = 3
Utilizza la dimensione dei punti per modificare la dimensione dei punti primitivi. Cambia anche la ricerca della texture dell'albedo per utilizzare POINT_COORD invece di UV.
Flags FLAG_FIXED_SIZE = 4
L'oggetto è ridimensionato in base alla profondità in modo che appaia sempre della stessa dimensione sullo schermo.
Flags FLAG_BILLBOARD_KEEP_SCALE = 5
Lo shader manterrà la scala impostata per la mesh. Altrimenti la scala è persa per il billboarding. Si applica solo quando billboard_mode è BILLBOARD_ENABLED.
Flags FLAG_UV1_USE_TRIPLANAR = 6
Utilizza la proiezione triplanare per tutte le texture che normalmente utilizzerebbero UV.
Flags FLAG_UV2_USE_TRIPLANAR = 7
Utilizza la proiezione triplanare per tutte le texture che normalmente utilizzerebbero UV2.
Flags FLAG_UV1_USE_WORLD_TRIPLANAR = 8
Utilizza la proiezione triplanare per tutte le texture che normalmente utilizzerebbero UV.
Flags FLAG_UV2_USE_WORLD_TRIPLANAR = 9
Utilizza la proiezione triplanare per tutte le texture che normalmente utilizzerebbero UV2.
Flags FLAG_AO_ON_UV2 = 10
Utilizza le coordinate UV2 per la proiezione dalla ao_texture.
Flags FLAG_EMISSION_ON_UV2 = 11
Utilizza le coordinate UV2 per la proiezione dalla emission_texture.
Flags FLAG_ALBEDO_TEXTURE_FORCE_SRGB = 12
Forces the shader to convert albedo from nonlinear sRGB encoding to linear encoding. See also albedo_texture_force_srgb.
Flags FLAG_DONT_RECEIVE_SHADOWS = 13
Disabilita la ricezione delle ombre provenienti da altri oggetti.
Flags FLAG_DISABLE_AMBIENT_LIGHT = 14
Disabilita la ricezione della luce ambientale.
Flags FLAG_USE_SHADOW_TO_OPACITY = 15
Abilita la funzionalità dell'ombra in opacità.
Flags FLAG_USE_TEXTURE_REPEAT = 16
Abilita la ripetizione della texture quando le coordinate UV sono all di fuori dell'intervallo da 0 a 1. Se si utilizza una delle modalità di filtraggio lineare, ciò può provocare artefatti ai bordi di una texture quando il campionatore filtra attraverso i bordi della texture.
Flags FLAG_INVERT_HEIGHTMAP = 17
Inverte i valori letti da una texture di profondità per convertirli in valori di altezza (heightmap).
Flags FLAG_SUBSURFACE_MODE_SKIN = 18
Abilita la modalità pelle per il subsurface scattering che serve per migliorare l'aspetto del subsurface scattering quando utilizzata per la pelle umana.
Flags FLAG_PARTICLE_TRAILS_MODE = 19
Abilita le parti dello shader necessarie per il funzionamento delle scie per GPUParticles3D. Ciò necessita anche l'uso di una mesh con skin appropriato, come RibbonTrailMesh o TubeTrailMesh. Abilitare questa funzionalità al di fuori dei materiali usati nelle mesh di GPUParticles3D interromperà il rendering del materiale.
Flags FLAG_ALBEDO_TEXTURE_MSDF = 20
Abilita lo shader per il rendering del multichannel signed distance field (MSDF).
Flags FLAG_DISABLE_FOG = 21
Disabilita la ricezione della nebbia basata sulla profondità o volumetrica.
Flags FLAG_DISABLE_SPECULAR_OCCLUSION = 22
Disabilità l'occlusione speculare.
Flags FLAG_USE_Z_CLIP_SCALE = 23
Abilita l'uso di z_clip_scale.
Flags FLAG_USE_FOV_OVERRIDE = 24
Abilita l'uso di fov_override.
Flags FLAG_MAX = 25
Rappresenta la dimensione dell'enumerazione Flags.
enum DiffuseMode: 🔗
DiffuseMode DIFFUSE_BURLEY = 0
Algoritmo di riflessione diffusa predefinito.
DiffuseMode DIFFUSE_LAMBERT = 1
La riflessione diffusa ignora la rugosità.
DiffuseMode DIFFUSE_LAMBERT_WRAP = 2
Estende il calcolo di Lambert per coprire più di 90 gradi quando la rugosità aumenta.
DiffuseMode DIFFUSE_TOON = 3
Utilizza una transizione brusca per l'illuminazione, la ruvidità consente di regolare la transizione.
enum SpecularMode: 🔗
SpecularMode SPECULAR_SCHLICK_GGX = 0
Macchia speculare predefinita.
Nota: Forward+ utilizza un multiscattering per riflessi più accurati, sebbene l'impatto del multiscattering sia più evidente sulle superfici metalliche ruvide rispetto alle superfici lisce e non metalliche.
Nota: Mobile e Compatibilità non eseguono un multiscattering per motivi di prestazioni. Eseguono invece un single scattering, il che significa che le superfici metalliche ruvide potrebbero apparire leggermente più scure del previsto.
SpecularMode SPECULAR_TOON = 1
Il riflesso in modalità cartone cambia dimensione in base alla ruvidità.
SpecularMode SPECULAR_DISABLED = 2
Nessuna macchia speculare. Questo è leggermente più veloce da renderizzare rispetto ad altre modalità speculari.
enum BillboardMode: 🔗
BillboardMode BILLBOARD_DISABLED = 0
La modalità billboard è disabilitata.
BillboardMode BILLBOARD_ENABLED = 1
L'asse Z dell'oggetto sarà sempre rivolto verso la telecamera.
BillboardMode BILLBOARD_FIXED_Y = 2
L'asse X dell'oggetto sarà sempre rivolto verso la telecamera.
BillboardMode BILLBOARD_PARTICLES = 3
Utilizzato per i sistemi di particelle quando assegnati ai nodi GPUParticles3D e CPUParticles3D (animazione tipo libro sfogliabile). Abilita le proprietà particles_anim_*.
Inoltre, o ParticleProcessMaterial.anim_speed_min o CPUParticles3D.anim_speed_min deve essere impostato a un valore maggiore di zero affinché l'animazione possa essere riprodotta.
enum TextureChannel: 🔗
TextureChannel TEXTURE_CHANNEL_RED = 0
Usato per leggere dal canale rosso di una texture.
TextureChannel TEXTURE_CHANNEL_GREEN = 1
Usato per leggere dal canale verde di una texture.
TextureChannel TEXTURE_CHANNEL_BLUE = 2
Usato per leggere dal canale blu di una texture.
TextureChannel TEXTURE_CHANNEL_ALPHA = 3
Usato per leggere dal canale alfa di una texture.
TextureChannel TEXTURE_CHANNEL_GRAYSCALE = 4
Utilizzato per leggere dalla media lineare (non percettiva) dei canali rosso, verde e blu di una texture.
enum EmissionOperator: 🔗
EmissionOperator EMISSION_OP_ADD = 0
Aggiunge il colore di emissione al colore della texture di emissione.
EmissionOperator EMISSION_OP_MULTIPLY = 1
Moltiplica il colore di emissione per il colore della texture di emissione.
enum DistanceFadeMode: 🔗
DistanceFadeMode DISTANCE_FADE_DISABLED = 0
Non usare la dissolvenza a distanza.
DistanceFadeMode DISTANCE_FADE_PIXEL_ALPHA = 1
Dissolve gradualmente l'oggetto in base alla distanza di ciascun pixel dalla telecamera usando il canale alfa.
DistanceFadeMode DISTANCE_FADE_PIXEL_DITHER = 2
Dissolve gradualmente l'oggetto in base alla distanza di ciascun pixel dalla telecamera usando un approccio di dithering. Il dithering elimina i pixel in base a uno motivo stabilito per dissolverli gradualmente senza abilitare la trasparenza. Su particolari hardware, questo può essere più veloce di DISTANCE_FADE_PIXEL_ALPHA.
DistanceFadeMode DISTANCE_FADE_OBJECT_DITHER = 3
Dissolve gradualmente l'oggetto in base alla distanza dell'oggetto dalla telecamera usando un approccio di dithering. Il dithering elimina i pixel in base a uno motivo stabilito per dissolverli gradualmente senza abilitare la trasparenza. Su particolari hardware, questo può essere più veloce di DISTANCE_FADE_PIXEL_ALPHA.
enum StencilMode: 🔗
StencilMode STENCIL_MODE_DISABLED = 0
Disabilita le operazioni di stencil.
StencilMode STENCIL_MODE_OUTLINE = 1
Preimpostazione di stencil che applica un contorno all'oggetto.
Nota: Richiede un materiale Material.next_pass che verrà applicato automaticamente. Qualsiasi modifica manuale apportata a Material.next_pass andrà persa quando le proprietà dello stencil cambiano o la scena viene ricaricata. Per applicare in modo sicuro un materiale Material.next_pass a un materiale che utilizza una preimpostazione di stencil, utilizzare invece GeometryInstance3D.material_overlay.
StencilMode STENCIL_MODE_XRAY = 2
Preimpostazione di stencil che mostra la silhouette dell'oggetto dietro i muri.
Nota: Richiede un materiale Material.next_pass che verrà applicato automaticamente. Qualsiasi modifica manuale apportata a Material.next_pass andrà persa quando le proprietà dello stencil cambiano o la scena viene ricaricata. Per applicare in modo sicuro un materiale Material.next_pass a un materiale che utilizza una preimpostazione di stencil, utilizzare invece GeometryInstance3D.material_overlay.
StencilMode STENCIL_MODE_CUSTOM = 3
Permette le operazioni di stencil senza una preimpostazione.
enum StencilFlags: 🔗
StencilFlags STENCIL_FLAG_READ = 1
Il materiale sarà renderizzato solo se passa un confronto di stencil con i valori esistenti nel buffer stencil.
StencilFlags STENCIL_FLAG_WRITE = 2
Il materiale scriverà il valore di riferimento nel buffer stencil dove passa il test di profondità.
StencilFlags STENCIL_FLAG_WRITE_DEPTH_FAIL = 4
Il materiale scriverà il valore di riferimento nel buffer stencil dove fallisce il test di profondità.
enum StencilCompare: 🔗
StencilCompare STENCIL_COMPARE_ALWAYS = 0
Passa sempre il test dello stencil.
StencilCompare STENCIL_COMPARE_LESS = 1
Passa il test dello stencil quando il valore di riferimento è minore del valore esistente nello stencil.
StencilCompare STENCIL_COMPARE_EQUAL = 2
Passa il test dello stencil quando il valore di riferimento è uguale al valore esistente nello stencil.
StencilCompare STENCIL_COMPARE_LESS_OR_EQUAL = 3
Passa il test dello stencil quando il valore di riferimento è minore o uguale al valore esistente nello stencil.
StencilCompare STENCIL_COMPARE_GREATER = 4
Passa il test dello stencil quando il valore di riferimento è maggiore del valore esistente nello stencil.
StencilCompare STENCIL_COMPARE_NOT_EQUAL = 5
Passa il test dello stencil quando il valore di riferimento non è uguale al valore esistente nello stencil.
StencilCompare STENCIL_COMPARE_GREATER_OR_EQUAL = 6
Passa il test dello stencil quando il valore di riferimento è maggiore o uguale al valore esistente nello stencil.
Descrizioni delle proprietà
Color albedo_color = Color(1, 1, 1, 1) 🔗
Il colore di base del materiale.
Nota: Se detail_enabled è true e una texture detail_albedo è specificata, albedo_color non modulerà la texture di dettaglio. Questo può essere utilizzato per colorare aree parziali di un materiale non specificando una texture albedo e utilizzando invece una texture trasparente per detail_albedo.
void set_texture(param: TextureParam, texture: Texture2D)
Texture2D get_texture(param: TextureParam) const
La texture da moltiplicare per albedo_color. Utilizzato per la texturizzazione basilare degli oggetti.
Se la texture appare inaspettatamente troppo scura o troppo chiara, controlla albedo_texture_force_srgb.
bool albedo_texture_force_srgb = false 🔗
If true, forces a conversion of the albedo_texture from nonlinear sRGB encoding to linear encoding. See also vertex_color_is_srgb.
This should only be enabled when needed (typically when using a ViewportTexture as albedo_texture). If albedo_texture_force_srgb is true when it shouldn't be, the texture will appear to be too dark. If albedo_texture_force_srgb is false when it shouldn't be, the texture will appear to be too bright.
bool albedo_texture_msdf = false 🔗
Abilita lo shader per il rendering del multichannel signed distance field (MSDF). Usa msdf_pixel_range e msdf_outline_size per configurare i parametri di MSDF.
float alpha_antialiasing_edge 🔗
Soglia alla quale sarà applicato l'antialiasing sul canale alfa.
AlphaAntiAliasing alpha_antialiasing_mode 🔗
void set_alpha_antialiasing(value: AlphaAntiAliasing)
AlphaAntiAliasing get_alpha_antialiasing()
Il tipo di antialiasing dell'alfa da applicare.
La scala di hashing per l'Alpha Hash. Valori consigliati tra 0 e 2.
float alpha_scissor_threshold 🔗
Soglia alla quale l'alpha scissor scarterà i valori. I valori più alti risulteranno in più pixel scartati. Se il materiale diventa troppo opaco a distanza, prova ad aumentare alpha_scissor_threshold. Se il materiale scompare a distanza, prova a diminuire alpha_scissor_threshold.
La forza dell'effetto di anisotropia. Questo è moltiplicato per il canale alfa di anisotropy_flowmap se lì è definita una texture e la texture contiene un canale alfa.
bool anisotropy_enabled = false 🔗
Se true, l'anisotropia è abilitata. L'anisotropia cambia la forma della macchia speculare e la allinea allo spazio tangente. Questo è utile per i riflessi di alluminio lucidato e dei capelli.
Nota: Le tangenti delle mesh sono necessarie affinché l'anisotropia funzioni. Se la mesh non contiene tangenti, l'effetto anisotropico apparirà fratturato.
Nota: L'anisotropia del materiale non deve essere confusa con il filtro anisotropico delle texture, il quale può essere abilitato impostando texture_filter su TEXTURE_FILTER_LINEAR_WITH_MIPMAPS_ANISOTROPIC.
Texture2D anisotropy_flowmap 🔗
void set_texture(param: TextureParam, texture: Texture2D)
Texture2D get_texture(param: TextureParam) const
Texture che sposta la mappa delle tangenti per i calcoli dell'anisotropia e facoltativamente controlla l'effetto dell'anisotropia (se è presente un canale alfa). Si prevede che la texture della mappa di flusso sia una mappa derivativa, con il canale rosso che rappresenta la distorsione sull'asse X e il canale verde che rappresenta la distorsione sull'asse Y. I valori inferiori a 0,5 risulteranno in una distorsione negativa, mentre i valori superiori a 0,5 risulteranno in una distorsione positiva.
Se presente, il canale alfa della texture sarà utilizzato per moltiplicare l'intensità dell'effetto di anisotropy. I pixel completamente opachi manterranno l'intensità originale dell'effetto di anisotropia mentre i pixel completamente trasparenti disabiliteranno completamente l'effetto di anisotropia. Il canale blu della texture della mappa di flusso è ignorato.
Se true, l'occlusione ambientale è abilitata. L'occlusione ambientale oscura le aree in base a ao_texture.
La quantità con cui l'occlusione ambientale influisce sull'illuminazione dalle luci. Se 0, l'occlusione ambientale influisce solo sulla luce ambientale. Se 1, l'occlusione ambientale influisce sulle luci tanto quanto influisce sulla luce ambientale. Questo può essere usato per influenzare l'intensità dell'effetto di occlusione ambientale, ma in genere sembra poco realistico.
Se true, utilizza le coordinate UV2 per cercare da ao_texture.
void set_texture(param: TextureParam, texture: Texture2D)
Texture2D get_texture(param: TextureParam) const
Texture che definisce la quantità di occlusione ambientale per un determinato punto sull'oggetto.
TextureChannel ao_texture_channel = 0 🔗
void set_ao_texture_channel(value: TextureChannel)
TextureChannel get_ao_texture_channel()
Specifica il canale della ao_texture in cui sono memorizzate le informazioni sull'occlusione ambientale. Ciò è utile quando memorizzi le informazioni per più effetti in una singola texture. Ad esempio, se memorizzassi il metallico nel canale rosso, la ruvidità nel blu e l'occlusione ambientale nel verde, potresti ridurre il numero di texture utilizzate.
Color backlight = Color(0, 0, 0, 1) 🔗
Il colore utilizzato dall'effetto di retroilluminazione. Rappresenta la luce che passa attraverso un oggetto.
bool backlight_enabled = false 🔗
Se true, l'effetto di retroilluminazione è abilitato. Vedi anche subsurf_scatter_transmittance_enabled.
void set_texture(param: TextureParam, texture: Texture2D)
Texture2D get_texture(param: TextureParam) const
Texture utilizzata per controllare l'effetto di retroilluminazione per pixel. Aggiunta a backlight.
bool bent_normal_enabled = false 🔗
Se true, la mappa normale curva è abilitata. Ciò rende più accurata l'illuminazione indiretta e l'occlusione speculare.
Texture2D bent_normal_texture 🔗
void set_texture(param: TextureParam, texture: Texture2D)
Texture2D get_texture(param: TextureParam) const
Texture che specifica la direzione media della luce ambientale in arrivo su un determinato pixel. La bent_normal_texture utilizza solo i canali rosso e verde; i canali blu e alfa sono ignorati. La lettura delle normali da bent_normal_texture è orientata attorno alla normale della superficie fornita dalla Mesh.
Nota: Una mappa normale curva è diversa da una tipica mappa normale. Quando prepari una mappa normale curva, assicurati di utilizzare una distribuzione a coseno affinché la mappa normale curva funzioni correttamente.
Nota: La mesh deve avere sia le normali sia le tangenti definite nei dati dei vertici. Altrimenti, la mappa normale non verrà renderizzata correttamente e scurirà solo l'intera superficie. Se stai creando la geometria con SurfaceTool, puoi utilizzare SurfaceTool.generate_normals() e SurfaceTool.generate_tangents() per generare automaticamente normali e tangenti, rispettivamente.
Nota: Godot si aspetta che la mappa normale utilizzi le coordinate X+, Y+ e Z+. Vedi questa pagina per un confronto delle coordinate della mappa normale previste dai motori più diffusi.
bool billboard_keep_scale = false 🔗
Se true, lo shader manterrà la scala impostata per la mesh. Altrimenti la scala si perderà durante il billboarding. Si applica solo quando billboard_mode non è BILLBOARD_DISABLED.
BillboardMode billboard_mode = 0 🔗
void set_billboard_mode(value: BillboardMode)
BillboardMode get_billboard_mode()
Controlla il modo in cui l'oggetto è rivolto verso la telecamera.
Nota: La modalità billboard non è adatta per il VR perché il vettore di sinistra-destra della telecamera non è orizzontale quando lo schermo è fissato alla testa anziché sul tavolo. Vedi Problema su GitHub #41567 per i dettagli.
La modalità di fusione del materiale.
Nota: Valori diversi da Mix forzano l'oggetto nella pipeline di trasparenza.
Imposta l'intensità dell'effetto di rivestimento trasparente. Impostarlo su 0 equivale a disabilitare l'effetto di rivestimento trasparente.
bool clearcoat_enabled = false 🔗
Se true, il rendering di rivestimento trasparente è abilitato. Aggiunge un passaggio trasparente secondario al calcolo dell'illuminazione risultando in una macchia speculare aggiuntiva. Ciò fa apparire i materiali come se avessero uno strato trasparente su di essi che può essere lucido o ruvido.
Nota: Il rendering di rivestimento trasparente non è visibile se il shading_mode del materiale è SHADING_MODE_UNSHADED.
float clearcoat_roughness = 0.5 🔗
Imposta la ruvidità del passaggio di rivestimento trasparente. Un valore più alto produce un rivestimento trasparente più ruvido mentre un valore più basso produce un rivestimento trasparente più liscio.
void set_texture(param: TextureParam, texture: Texture2D)
Texture2D get_texture(param: TextureParam) const
Texture che definisce l'intensità dell'effetto di rivestimento trasparente e la brillantezza del rivestimento trasparente. L'intensità è specificata nel canale rosso mentre la brillantezza è specificata nel canale verde.
Determina quale lato del triangolo eliminare a seconda che il triangolo sia rivolto verso o via dalla telecamera.
DepthDrawMode depth_draw_mode = 0 🔗
void set_depth_draw_mode(value: DepthDrawMode)
DepthDrawMode get_depth_draw_mode()
Determina quando avviene il rendering della profondità. Vedi anche transparency.
Sperimentale: May be affected by future rendering pipeline changes.
Determines which comparison operator is used when testing depth.
Note: Changing depth_test to a non-default value only has a visible effect when used on a transparent material, or a material that has depth_draw_mode set to DEPTH_DRAW_DISABLED.
void set_texture(param: TextureParam, texture: Texture2D)
Texture2D get_texture(param: TextureParam) const
Texture che specifica il colore della sovrapposizione del dettaglio. Il canale alfa di detail_albedo è utilizzato come maschera, anche quando il materiale è opaco. Per utilizzare una texture dedicata come maschera, vedi detail_mask.
Nota: detail_albedo non è modulato da albedo_color.
BlendMode detail_blend_mode = 0 🔗
Specifica come il detail_albedo dovrebbe fondersi con l'attuale ALBEDO.
Se true, abilita la sovrapposizione del dettaglio. Il dettaglio è una seconda texture che viene mescolata sulla superficie dell'oggetto in base al canale alfa di detail_mask e di detail_albedo. Può essere utilizzato per aggiungere variazione agli oggetti o per fondere due diverse texture albedo o normali.
void set_texture(param: TextureParam, texture: Texture2D)
Texture2D get_texture(param: TextureParam) const
Texture utilizzata per specificare come le texture di dettaglio si fondono con le texture di base. detail_mask può essere utilizzato insieme al canale alfa di detail_albedo (se presente).
void set_texture(param: TextureParam, texture: Texture2D)
Texture2D get_texture(param: TextureParam) const
Texture che specifica la normale per ogni pixel della sovrapposizione del dettaglio. La texture detail_normal utilizza solo i canali rosso e verde; i canali blu e alfa sono ignorati. La lettura delle normali da detail_normal è orientata attorno alla normale della superficie fornita da Mesh.
Nota: Godot prevede che la mappa normale utilizzi le coordinate X+, Y+, e Z+. Vedi questa pagina per un confronto delle coordinate della mappa normale previste dai motori più diffusi.
DetailUV detail_uv_layer = 0 🔗
Specifica se utilizzare UV o UV2 per lo strato del dettaglio.
DiffuseMode diffuse_mode = 0 🔗
void set_diffuse_mode(value: DiffuseMode)
DiffuseMode get_diffuse_mode()
L'algoritmo utilizzato per la diffusione della luce.
bool disable_ambient_light = false 🔗
Se true, l'oggetto non riceve alcuna luce ambientale.
Se true, l'oggetto non sarà influenzato dalla nebbia (né volumetrica né di profondità). Ciò è utile per materiali non ombreggiati o trasparenti (ad esempio particelle), che senza questa impostazione saranno influenzati anche se completamente trasparenti.
bool disable_receive_shadows = false 🔗
Se true, l'oggetto non riceve alcuna ombra che altrimenti sarebbe proiettata su di esso.
bool disable_specular_occlusion = false 🔗
Se true, disabilita l'occlusione speculare anche se ProjectSettings.rendering/reflections/specular_occlusion/enabled è false.
float distance_fade_max_distance = 10.0 🔗
Distanza alla quale l'oggetto appare completamente opaco.
Nota: Se distance_fade_max_distance è inferiore a distance_fade_min_distance, il comportamento sarà invertito. L'oggetto inizierà a svanire a distance_fade_max_distance e scomparirà completamente una volta raggiunto distance_fade_min_distance.
float distance_fade_min_distance = 0.0 🔗
Distanza alla quale l'oggetto inizia a diventare visibile. Se l'oggetto è a una distanza minore di questa distanza, sarà invisibile.
Nota: Se distance_fade_min_distance è maggiore di distance_fade_max_distance, il comportamento verrà invertito. L'oggetto inizierà a svanire a distance_fade_max_distance e scomparirà completamente una volta raggiunto distance_fade_min_distance.
DistanceFadeMode distance_fade_mode = 0 🔗
void set_distance_fade(value: DistanceFadeMode)
DistanceFadeMode get_distance_fade()
Specifica il tipo di dissolvenza da usare. Può essere una costante qualsiasi di DistanceFadeMode.
Color emission = Color(0, 0, 0, 1) 🔗
Il colore della luce emessa. Vedi emission_enabled.
bool emission_enabled = false 🔗
Se true, il corpo emette luce. L'emissione di luce fa apparire l'oggetto più luminoso. L'oggetto può anche proiettare luce su altri oggetti se è usato un VoxelGI, SDFGI o LightmapGI e questo oggetto è usato nell'illuminazione precalcolata.
float emission_energy_multiplier = 1.0 🔗
Moltiplicatore della luce emessa. Vedi emission_enabled.
Luminanza della luce emessa, misurata in nit (candele per metro quadro). Disponibile solo quando ProjectSettings.rendering/lights_and_shadows/use_physical_light_units è abilitato. L'impostazione predefinita è più o meno equivalente a una lampadina da interni.
bool emission_on_uv2 = false 🔗
Utilizza UV2 per leggere da emission_texture.
EmissionOperator emission_operator = 0 🔗
void set_emission_operator(value: EmissionOperator)
EmissionOperator get_emission_operator()
Imposta il modo in cui emission interagisce con emission_texture. Può essere una somma o una moltiplicazione.
void set_texture(param: TextureParam, texture: Texture2D)
Texture2D get_texture(param: TextureParam) const
Texture che specifica quanta luce è emessa per la superfice in un determinato punto.
Se true, l'oggetto viene renderizzato con le stesse dimensioni a prescindere dalla distanza. Le dimensioni dell'oggetto sullo schermo sono le stesse che avrebbe se la telecamera fosse a 1.0 unità di distanza dall'origine dell'oggetto, a prescindere dalla distanza effettiva dalla telecamera. Il campo visivo della Camera3D (o Camera3D.size in modalità ortogonale/tronco) influenza comunque le dimensioni dell'oggetto disegnato.
Sostituisce l'angolo del campo visivo del Camera3D (in gradi).
Nota: Questo si comporta come se il campo visivo fosse impostato su una Camera3D con Camera3D.keep_aspect impostato su Camera3D.KEEP_HEIGHT. Inoltre, potrebbe non apparire corretto su una telecamera non prospettica, in cui l'impostazione del campo visivo è ignorata.
Se true, abilita l'impostazione di crescita dei vertici. Questo può essere usato per creare contorni basati su mesh attraverso un secondo passaggio di materiale e il suo cull_mode impostato su CULL_FRONT. Vedi anche grow_amount.
Nota: La crescita dei vertici non può creare nuovi vertici, il che significa che potrebbero verificarsi fratture visibili negli angoli acuti. Questo può essere alleviato progettando la mesh in modo che usi normali uniformi attraverso esclusivamente face weighted normals nel software di modellazione 3D. In questo caso, la crescita sarà in grado di unire tutti i contorni insieme, proprio come nella mesh originale.
Cresce i vertici dell'oggetto nella direzione delle loro normali. Efficace solo se grow è true.
bool heightmap_deep_parallax = false 🔗
Se true, utilizza la mappatura dell'occlusione parallasse per rappresentare la profondità nel materiale invece della semplice mappatura dell'offset (vedi heightmap_enabled). Ciò risulta in un effetto di profondità più convincente, ma è molto più costoso sulla GPU. Abilita questa opzione solo sui materiali in cui fa una differenza visiva significativa.
bool heightmap_enabled = false 🔗
Se true, la mappatura dell'altezza è abilitata (chiamata anche "mappatura di parallasse" o "mappatura di profondità"). Vedi anche normal_enabled. La mappatura dell'altezza è una funzionalità impegnativa per la GPU, quindi si dovrebbe utilizzare solo su materiali su cui fa una differenza notevole.
Nota: La mappatura dell'altezza non è supportata se sullo stesso materiale è utilizzata la mappatura triplanare. Il valore di heightmap_enabled sarà ignorato se uv1_triplanar è abilitato.
bool heightmap_flip_binormal = false 🔗
void set_heightmap_deep_parallax_flip_binormal(value: bool)
bool get_heightmap_deep_parallax_flip_binormal()
Se true, capovolge i vettori binormali della mesh durante l'interpretazione della heightmap. Se l'effetto della heightmap appare strano quando la telecamera si muove (anche con un'adeguata heightmap_scale), prova a impostare questo su true.
bool heightmap_flip_tangent = false 🔗
void set_heightmap_deep_parallax_flip_tangent(value: bool)
bool get_heightmap_deep_parallax_flip_tangent()
Se true, inverte i vettori tangenti della mesh durante l'interpretazione della heightmap. Se l'effetto della heightmap appare strano quando la telecamera si muove (anche con un heightmap_scale adeguato), prova a impostarlo su true.
bool heightmap_flip_texture = false 🔗
Se true, interpreta la texture della heightmap come una mappa di profondità, con valori più chiari che sembrano essere "più bassi" in altitudine rispetto ai valori più scuri.
Si può abilitare per compatibilità con alcuni materiali creati per Godot 3.x. Ciò non è necessario se l'opzione d'importazione Inverti è stata usata per invertire la mappa di profondità in Godot 3.x, nel qual caso heightmap_flip_texture dovrebbe rimanere false.
void set_heightmap_deep_parallax_max_layers(value: int)
int get_heightmap_deep_parallax_max_layers()
Il numero di strati da utilizzare per la mappatura di occlusione parallasse quando la telecamera è vicina al materiale. Valori più alti producono un effetto di profondità più convincente, soprattutto nei materiali che presentano forti variazioni di altezza. Valori più alti hanno un costo notevole sulla GPU, quindi dovrebbe essere aumentato solo su materiali in cui fa una differenza visiva notevole.
Nota: Funziona solo se heightmap_deep_parallax è true.
void set_heightmap_deep_parallax_min_layers(value: int)
int get_heightmap_deep_parallax_min_layers()
Il numero di strati da utilizzare per la mappatura di occlusione parallasse quando la telecamera è lontana dal materiale. Valori più alti producono un effetto di profondità più convincente, soprattutto nei materiali che presentano forti variazioni di altezza. Valori più alti hanno un costo notevole sulla GPU, quindi dovrebbe essere aumentato solo su materiali in cui fa una differenza visiva notevole.
Nota: Funziona solo se heightmap_deep_parallax è true.
La scala della heightmap da utilizzare per l'effetto di parallasse (vedi heightmap_enabled). Il valore predefinito è calibrato in modo che il punto più alto (valore = 255) sembri essere 5 cm più alto del punto più basso (valore = 0). Valori più alti producono un aspetto più profondo, ma potrebbero far apparire artefatti quando si guarda il materiale da angolazioni oblique, soprattutto quando la telecamera si muove. È possibile usare valori negativi per invertire l'effetto di parallasse, ma ciò è diverso dall'invertire la texture tramite heightmap_flip_texture poiché anche il materiale sembrerà essere "più vicino" alla telecamera. Nella maggior parte dei casi, heightmap_scale dovrebbe essere mantenuto su un valore positivo.
Nota: Se l'effetto della heightmap appare strano a prescindere da questo valore, prova a regolare heightmap_flip_binormal e heightmap_flip_tangent. Vedi anche heightmap_texture per consigli sulla creazione di texture di heightmap, poiché il modo in cui viene creata la texture di heightmap influisce sul comportamento di heightmap_scale.
void set_texture(param: TextureParam, texture: Texture2D)
Texture2D get_texture(param: TextureParam) const
La texture da utilizzare come heightmap. Vedi anche heightmap_enabled.
Per ottenere i migliori risultati, la texture dovrebbe essere normalizzata (con heightmap_scale ridotto per compensare). In GIMP, ciò si può fare tramite Colori > Auto > Equalizza. Se la texture utilizza solo una piccola parte della suo intervallo disponibile, l'effetto di parallasse potrebbe apparire strano, soprattutto quando la telecamera si muove.
Nota: Per ridurre l'utilizzo di memoria e migliorare i tempi di caricamento, potrebbe essere possibile utilizzare una texture di heightmap a bassa risoluzione, poiché la maggior parte delle heightmap sono composte solo da dati a bassa frequenza.
Un valore elevato fa sembrare il materiale più simile a un metallo. I non metalli usano il loro albedo come colore diffuso e aggiungono la diffusione alla riflessione speculare. Con i non metalli, la riflessione appare sopra il colore dell'albedo. I metalli utilizzano la loro albedo come moltiplicatore della riflessione speculare e impostano il colore diffuso su nero, risultando in una riflessione colorata. I materiali funzionano meglio quando sono completamente metallici o completamente non metallici, i valori tra 0 e 1 dovrebbero essere utilizzati solo per la fusione tra sezioni metalliche e non metalliche. Per modificare la quantità di riflessione utilizzare roughness.
float metallic_specular = 0.5 🔗
Regola l'intensità delle riflessioni speculari. Le riflessioni speculari sono composte dalle riflessioni della scena e dal lobo speculare che è il punto luminoso riflesso dalle sorgenti di luce. Se impostato su 0.0, non saranno visibili riflessioni speculari. Ciò è diverso da SPECULAR_DISABLED SpecularMode poiché SPECULAR_DISABLED si applica solo al lobo speculare della sorgente di luce.
Nota: A differenza di metallic, questo non conserva l'energia, quindi dovrebbe essere lasciato su 0.5 nella maggior parte dei casi. Vedi anche roughness.
void set_texture(param: TextureParam, texture: Texture2D)
Texture2D get_texture(param: TextureParam) const
Texture utilizzata per specificare il metallo per un oggetto. Questo viene moltiplicato per metallic.
TextureChannel metallic_texture_channel = 0 🔗
void set_metallic_texture_channel(value: TextureChannel)
TextureChannel get_metallic_texture_channel()
Specifica il canale di metallic_texture in cui sono memorizzate le informazioni metalliche. Ciò è utile quando memorizzi le informazioni per più effetti in una singola texture. Ad esempio, se memorizzassi il metallico nel canale rosso, la ruvidità nel blu e l'occlusione ambientale nel verde, potresti ridurre il numero di texture utilizzate.
float msdf_outline_size = 0.0 🔗
Lo spessore del contorno della forma.
float msdf_pixel_range = 4.0 🔗
La larghezza dell'intervallo attorno alla forma tra la distanza con segno rappresentabile minima e massima.
Se true, il test di profondità è disabilitato e l'oggetto sarà disegnato in ordine di rendering.
Se true, la mappatura normale è abilitata. Ciò ha un leggero costo in termini di prestazioni, soprattutto sulle GPU di dispositivi mobili.
L'intensità dell'effetto della mappa normale.
void set_texture(param: TextureParam, texture: Texture2D)
Texture2D get_texture(param: TextureParam) const
Texture utilizzata per specificare la normale in un determinato pixel. normal_texture utilizza solo i canali rosso e verde; i canali blu e alfa sono ignorati. La lettura delle normali da normal_texture è orientata attorno alla normale della superficie fornita da Mesh.
Nota: La mesh deve avere sia le normali sia le tangenti definite nei dati dei vertici. Altrimenti, la mappa normale non verrà renderizzata correttamente e scurirà solo l'intera superficie. Se stai creando la geometria con SurfaceTool, puoi utilizzare SurfaceTool.generate_normals() e SurfaceTool.generate_tangents() per generare automaticamente normali e tangenti, rispettivamente.
Nota: Godot si aspetta che la mappa normale utilizzi le coordinate X+, Y+ e Z+. Vedi questa pagina per un confronto delle coordinate della mappa normale previste dai motori più diffusi.
Nota: Se detail_enabled è true, la texture detail_albedo viene disegnata sotto normal_texture. Per visualizzare una mappa normale sopra la texture di detail_albedo, usa invece detail_normal.
void set_texture(param: TextureParam, texture: Texture2D)
Texture2D get_texture(param: TextureParam) const
La texture di occlusione/rugosità/metallica da utilizzare. Questa è una sostituzione più efficiente di ao_texture, roughness_texture e metallic_texture in ORMMaterial3D. L'occlusione ambientale è memorizzata nel canale rosso. La mappa di rugosità è memorizzata nel canale verde. La mappa metallica è memorizzata nel canale blu. Il canale alfa è ignorato.
Il numero di fotogrammi orizzontali nello spritesheet delle particelle. Abilitato solo quando si utilizza BILLBOARD_PARTICLES. Vedi billboard_mode.
Se true, le animazioni delle particelle sono ripetute. Abilitato solo quando si utilizza BILLBOARD_PARTICLES. Vedi billboard_mode.
Il numero di fotogrammi verticali nello spritesheet delle particelle. Abilitato solo quando si utilizza BILLBOARD_PARTICLES. Vedi billboard_mode.
La dimensione dei punti in pixel. Vedi use_point_size.
float proximity_fade_distance = 1.0 🔗
Distanza sulla quale avviene l'effetto di dissolvenza. Maggiore è la distanza, quanto più ci vuole per l'oggetto a svanire.
bool proximity_fade_enabled = false 🔗
Se true, l'effetto di dissolvenza in prossimità è abilitato. L'effetto di dissolvenza in prossimità sfuma ogni pixel in base alla sua distanza da un altro oggetto.
bool refraction_enabled = false 🔗
Se true, l'effetto rifrazione è abilitato. Distorce la trasparenza in base alla luce proveniente da dietro l'oggetto.
Nota: La rifrazione è implementata utilizzando la texture dello schermo. Nella rifrazione appariranno solo materiali opachi, poiché i materiali trasparenti non appaiono nella texture dello schermo.
float refraction_scale = 0.05 🔗
L'intensità dell'effetto di rifrazione.
Texture2D refraction_texture 🔗
void set_texture(param: TextureParam, texture: Texture2D)
Texture2D get_texture(param: TextureParam) const
Texture che controlla l'intensità della rifrazione per pixel. Essa è moltiplicata per refraction_scale.
TextureChannel refraction_texture_channel = 0 🔗
void set_refraction_texture_channel(value: TextureChannel)
TextureChannel get_refraction_texture_channel()
Specifica il canale di refraction_texture in cui sono memorizzate le informazioni sulla rifrazione. Ciò è utile quando memorizzi le informazioni per più effetti in una singola texture. Ad esempio, se memorizzassi la rifrazione nel canale rosso, la ruvidità nel blu e l'occlusione ambientale nel verde, potresti ridurre il numero di texture utilizzate.
Imposta l'intensità dell'effetto di illuminazione del bordo.
Se true, l'effetto del bordo è abilitato. L'illuminazione del bordo aumenta la luminosità degli angoli radenti su un oggetto.
Nota: L'illuminazione del bordo non è visibile se shading_mode del materiale è SHADING_MODE_UNSHADED.
void set_texture(param: TextureParam, texture: Texture2D)
Texture2D get_texture(param: TextureParam) const
Texture utilizzata per impostare l'intensità dell'effetto di illuminazione del bordo per pixel. Essa è moltiplicata per rim.
La quantità di colore da fondere tra luce e albedo durante il rendering dell'effetto del bordo. Se 0 il colore della luce è utilizzato, mentre 1 significa che il colore dell'albedo è utilizzato. Un valore intermedio generalmente funziona meglio.
Riflessione di superfice. Un valore di 0 rappresenta uno specchio perfetto mentre un valore di 1 offusca la riflessione totalmente. Vedi anche metallic.
void set_texture(param: TextureParam, texture: Texture2D)
Texture2D get_texture(param: TextureParam) const
Texture utilizzata per controllare la ruvidità per pixel. Moltiplicata per roughness.
TextureChannel roughness_texture_channel = 0 🔗
void set_roughness_texture_channel(value: TextureChannel)
TextureChannel get_roughness_texture_channel()
Specifica il canale di roughness_texture in cui sono memorizzate le informazioni sulla ruvidità. Ciò è utile quando memorizzi le informazioni per più effetti in una singola texture. Ad esempio, se memorizzassi il metallico nel canale rosso, la ruvidità nel blu e l'occlusione ambientale nel verde, potresti ridurre il numero di texture utilizzate.
ShadingMode shading_mode = 1 🔗
void set_shading_mode(value: ShadingMode)
ShadingMode get_shading_mode()
Imposta se l'ombreggiatura avviene per pixel, per vertice o senza ombreggiatura. L'illuminazione per vertice è più veloce, rendendola la scelta migliore per le applicazioni sui dispositivi mobili, tuttavia ha un aspetto notevolmente peggiore di quella per pixel. Il rendering senza ombreggiatura è il più veloce, ma disabilita tutte le interazioni con le luci.
bool shadow_to_opacity = false 🔗
Se true, abilita la modalità di rendering "da ombra a opacità" in cui l'illuminazione modifica l'alfa in modo che le aree con ombre siano opache e le aree senza ombre siano trasparenti. Utile per sovrapporre le ombre sul feed della telecamera in AR.
SpecularMode specular_mode = 0 🔗
void set_specular_mode(value: SpecularMode)
SpecularMode get_specular_mode()
Il modo per renderizzare la macchia speculare.
Nota: specular_mode si applica solo alla macchia speculare. Non influisce sui riflessi speculari del cielo, sui riflessi nello spazio dello schermo, sui VoxelGI, SDFGI o ReflectionProbe. Per disabilitare anche i riflessi provenienti da queste fonti, imposta invece metallic_specular su 0.0.
Color stencil_color = Color(0, 0, 0, 1) 🔗
Sperimentale: May be affected by future rendering pipeline changes.
Il colore primario dell'effetto stencil.
StencilCompare stencil_compare = 0 🔗
void set_stencil_compare(value: StencilCompare)
StencilCompare get_stencil_compare()
Sperimentale: May be affected by future rendering pipeline changes.
The comparison operator to use for stencil masking operations.
Sperimentale: May be affected by future rendering pipeline changes.
The flags dictating how the stencil operation behaves.
StencilMode stencil_mode = 0 🔗
void set_stencil_mode(value: StencilMode)
StencilMode get_stencil_mode()
Sperimentale: May be affected by future rendering pipeline changes.
The stencil effect mode.
float stencil_outline_thickness = 0.01 🔗
void set_stencil_effect_outline_thickness(value: float)
float get_stencil_effect_outline_thickness()
Sperimentale: May be affected by future rendering pipeline changes.
Lo spessore del contorno per STENCIL_MODE_OUTLINE.
Sperimentale: May be affected by future rendering pipeline changes.
Il valore di riferimento di stencil (0-255). Solitamente una potenza di 2.
bool subsurf_scatter_enabled = false 🔗
Se true, il subsurface scattering è abilitato. Emula la luce che penetra nella superficie di un oggetto, è dispersa e poi emerge. La qualità della dispersione è controllata da ProjectSettings.rendering/environment/subsurface_scattering/subsurface_scattering_quality.
Nota: Il subsurface scattering non è supportato nelle viewport che hanno uno sfondo trasparente (dove Viewport.transparent_bg è true).
bool subsurf_scatter_skin_mode = false 🔗
Se true, il subsurface scattering userà una modalità speciale ottimizzata per il colore e la densità della pelle umana, come l'aumento dell'intensità del canale rosso nel subsurface scattering.
float subsurf_scatter_strength = 0.0 🔗
L'intensità dell'effetto di subsurface scattering. La profondità dell'effetto è anche controllata da ProjectSettings.rendering/environment/subsurface_scattering/subsurface_scattering_scale, che è impostata globalmente.
Texture2D subsurf_scatter_texture 🔗
void set_texture(param: TextureParam, texture: Texture2D)
Texture2D get_texture(param: TextureParam) const
Texture utilizzata per controllare l'intensità dell'effetto di subsurface scattering. Memorizzato nel canale rosso della texture. Moltiplicata per subsurf_scatter_strength.
float subsurf_scatter_transmittance_boost = 0.0 🔗
L'intensità dell'effetto di trasmittanza del subsurface scattering.
Color subsurf_scatter_transmittance_color = Color(1, 1, 1, 1) 🔗
Il colore con cui moltiplicare l'effetto di trasmittanza del subsurface scattering. Ignorato se subsurf_scatter_skin_mode è true.
float subsurf_scatter_transmittance_depth = 0.1 🔗
La profondità dell'effetto di trasmittanza del subsurface scattering.
bool subsurf_scatter_transmittance_enabled = false 🔗
Se true, abilita la trasmittanza del subsurface scattering. Efficace solo se subsurf_scatter_enabled è true. Vedi anche backlight_enabled.
Texture2D subsurf_scatter_transmittance_texture 🔗
void set_texture(param: TextureParam, texture: Texture2D)
Texture2D get_texture(param: TextureParam) const
La texture da utilizzare per moltiplicare l'intensità della trasmittanza del subsurface scattering. Vedi anche subsurf_scatter_texture. Ignorato se subsurf_scatter_skin_mode è true.
TextureFilter texture_filter = 3 🔗
void set_texture_filter(value: TextureFilter)
TextureFilter get_texture_filter()
I flag di filtro per la texture.
Nota: heightmap_texture è sempre campionato con il filtro lineare, anche se qui è selezionato il filtro più vicino. Ciò è per garantire che l'effetto della heightmap appaia come previsto. Se c'è bisogno di transizioni più nitide tra i pixel che rappresentano le altezze, ridimensiona la texture della heightmap in un editor di immagini con il filtro più vicino.
Se true, la texture si ripete quando supera le dimensioni della texture. Vedi FLAG_USE_TEXTURE_REPEAT.
Transparency transparency = 0 🔗
void set_transparency(value: Transparency)
Transparency get_transparency()
La modalità di trasparenza del materiale. Alcune modalità di trasparenza disabiliteranno la proiezione delle ombre. Qualsiasi modalità di trasparenza diversa da TRANSPARENCY_DISABLED ha un impatto maggiore sulle prestazioni rispetto al rendering opaco. Vedi anche blend_mode.
bool use_fov_override = false 🔗
Se true utilizza fov_override per sostituire l'angolo del campo visivo della Camera3D.
bool use_particle_trails = false 🔗
Se true, abilita le parti dello shader necessarie per il funzionamento delle scie per GPUParticles3D. Ciò necessita anche l'uso di una mesh con skin appropriato, come RibbonTrailMesh o TubeTrailMesh. Abilitare questa funzionalità al di fuori dei materiali usati nelle mesh di GPUParticles3D interromperà il rendering del materiale.
Se true, la dimensione di rendering dei punti può essere modificata.
Nota: Questo è efficace solo per oggetti la cui geometria è basata su punti anziché su triangoli. Vedi anche point_size.
bool use_z_clip_scale = false 🔗
Se true usa z_clip_scale per ridimensionare l'oggetto renderizzato verso la telecamera per evitare il clipping in cose come i muri.
Vector3 uv1_offset = Vector3(0, 0, 0) 🔗
Quanto spostare le coordinate UV. Questa quantità sarà aggiunta a UV nella funzione per vertice. Ciò può essere usato per spostare una texture. Il componente Z è utilizzato quando uv1_triplanar è abilitato, ma non è utilizzato da nessun'altra parte.
Vector3 uv1_scale = Vector3(1, 1, 1) 🔗
Di quanto scalare le coordinate UV. Questo è moltiplicato per UV nella funzione per vertice. Il componente Z è utilizzato quando uv1_triplanar è abilitato, ma non è utilizzato da nessun'altra parte.
Se true, invece di usare gli UV, le texture useranno una ricerca triplanare per determinare come applicarsi. Triplanar usa l'orientamento della superficie dell'oggetto per fondere tra le coordinate delle texture. Legge dalla texture sorgente 3 volte, una per ogni asse, e poi fonde i risultati in base a quanto il pixel si allinea con ogni asse. Questo è spesso usato per le caratteristiche naturali, al fine di ottenere una fusione realistica di materiali. Poiché la texturizzazione triplanare richiede molte più letture di texture per pixel, è molto più lenta della solita texturizzazione tramite UV. Inoltre, poiché fonde la texture tra i tre assi, non è adatta per ottenere una texturizzazione nitida.
float uv1_triplanar_sharpness = 1.0 🔗
Un numero più basso fonde la texture più sofficemente mentre un numero più alto fonde la texture più nitidamente.
Nota: uv1_triplanar_sharpness è limitato tra 0.0 e 150.0 (inclusi) poiché i valori al di fuori di questo intervallo possono apparire rotti a seconda della mesh.
bool uv1_world_triplanar = false 🔗
Se true, la mappatura triplanare per UV è calcolata nello spazio mondiale anziché nello spazio locale dell'oggetto. Vedi anche uv1_triplanar.
Vector3 uv2_offset = Vector3(0, 0, 0) 🔗
Quanto spostare le coordinate UV2. Questa quantità sarà aggiunta a UV2 nella funzione per vertice. Ciò può essere usato per spostare una texture. Il componente Z è utilizzato quando uv2_triplanar è abilitato, ma non è utilizzato da nessun'altra parte.
Vector3 uv2_scale = Vector3(1, 1, 1) 🔗
Di quanto scalare le coordinate UV2. Questo è moltiplicato per UV2 nella funzione per vertice. Il componente Z è utilizzato quando uv2_triplanar è abilitato, ma non è utilizzato da nessun'altra parte.
Se true, invece di usare gli UV2, le texture useranno una ricerca triplanare per determinare come applicarsi. Triplanar usa l'orientamento della superficie dell'oggetto per fondere tra le coordinate delle texture. Legge dalla texture sorgente 3 volte, una per ogni asse, e poi fonde i risultati in base a quanto il pixel si allinea con ogni asse. Questo è spesso usato per le caratteristiche naturali, al fine di ottenere una fusione realistica di materiali. Poiché la texturizzazione triplanare richiede molte più letture di texture per pixel, è molto più lenta della solita texturizzazione tramite UV. Inoltre, poiché fonde la texture tra i tre assi, non è adatta per ottenere una texturizzazione nitida.
float uv2_triplanar_sharpness = 1.0 🔗
Un numero più basso fonde la texture più sofficemente mentre un numero più alto fonde la texture più nitidamente.
Nota: uv2_triplanar_sharpness è limitato tra 0.0 e 150.0 (inclusi) poiché i valori al di fuori di questo intervallo possono apparire rotti a seconda della mesh.
bool uv2_world_triplanar = false 🔗
Se true, la mappatura triplanare per UV2 è calcolata nello spazio mondiale anziché nello spazio locale dell'oggetto. Vedi anche uv2_triplanar.
bool vertex_color_is_srgb = false 🔗
If true, vertex colors are considered to be stored in nonlinear sRGB encoding and are converted to linear encoding during rendering. If false, vertex colors are considered to be stored in linear encoding and are rendered as-is. See also albedo_texture_force_srgb.
Note: Only effective when using the Forward+ and Mobile rendering methods, not Compatibility.
bool vertex_color_use_as_albedo = false 🔗
Se true, il colore dei vertici è utilizzato per il colore dell'albedo.
Ridimensiona l'oggetto renderizzato verso la telecamera per evitare il clipping in cose come i muri. Questa impostazione è pensata per oggetti fissi rispetto alla telecamera, come le braccia, gli strumenti, ecc. del giocatore. Luci e ombre continueranno a funzionare correttamente quando questa impostazione è regolata, ma gli effetti nello spazio dello schermo, come SSAO e SSR, potrebbero non funzionare correttamente con scale inferiori. Pertanto, si consiglia di mantenere questa impostazione il più vicino possibile a 1.0.
Descrizioni dei metodi
bool get_feature(feature: Feature) const 🔗
Returns true if the specified feature is enabled.
bool get_flag(flag: Flags) const 🔗
Returns true if the specified flag is enabled.
Texture2D get_texture(param: TextureParam) const 🔗
Returns the Texture2D associated with the specified texture param.
void set_feature(feature: Feature, enable: bool) 🔗
If enable is true, enables the specified feature. Many features that are available in BaseMaterial3D need to be enabled before use. This way, the cost for using the feature is only incurred when specified. Features can also be enabled by setting their corresponding property to true.
void set_flag(flag: Flags, enable: bool) 🔗
If enable is true, enables the specified flag. Flags are optional behavior that can be turned on and off. Only one flag can be enabled at a time with this function, the flag enumerators cannot be bit-masked together to enable or disable multiple flags at once. Flags can also be enabled by setting their corresponding property to true.
void set_texture(param: TextureParam, texture: Texture2D) 🔗
Imposta la texture per lo slot specificato da param.