Material 3D Padrão e Material ORM 3D
Introdução
StandardMaterial3D and ORMMaterial3D (Occlusion, Roughness, Metallic)
are default 3D materials that aim to provide most of the features artists look
for in a material, without the need for writing shader code. However, they can
be converted to shader code if additional functionality is needed.
This tutorial explains the parameters present in both materials.
There are 4 ways to add these materials to an object. A material can be added in the Material property of the mesh. It can be added in the Material property of the node using the mesh (such as a MeshInstance3D node), the Material Override property of the node using the mesh, and the Material Overlay.
Se você adicionar um material à própria malha, toda vez que a malha for usada, ela terá esse material. Se você adicionar um material ao nó usando a malha, o material será usado apenas por esse nó e também substituirá a propriedade do material da malha. Se um material for adicionado na propriedade Sobreposição de material do nó, ele será usado apenas por esse nó. Ele também substituirá a propriedade de material regular do nó e a propriedade de material da malha.
A propriedade Material Overlay renderizará um material sobre o atual sendo usado pela malha. Por exemplo, isso pode ser usado para colocar um efeito de escudo transparente em uma malha.
BaseMaterial 3D settings
O StandardMaterial3D possui muitas configurações que determinam a aparência de um material. Todas elas estão sob a categoria BaseMaterial3D
Materiais ORM são quase idênticos, com uma única diferença. Em vez de configurações e texturas separadas para oclusão, rugosidade e metalicidade, há uma única textura ORM. Os diferentes canais de cor dessa textura são usados para cada parâmetro. Programas como Substance Painter e Armor Paint oferecem a opção de exportar nesse formato — para esses dois programas, isso é feito com o preset de exportação para Unreal Engine, que também utiliza texturas ORM.
Transparency
Por padrão, os materiais no Godot são opacos. Isso é rápido para renderizar, mas significa que o material não pode ser visto através dele, mesmo que você use uma textura transparente na propriedade Albedo > Texture (ou defina Albedo > Color com uma cor transparente).
Para ser possível enxergar através de um material, ele precisa ser transparente. O Godot oferece vários modos de transparência:
Desativado: O material é opaco. Este é o modo mais rápido para renderizar, com suporte a todos os recursos de renderização.
Alpha: O material é transparente. Áreas semi-transparentes são desenhadas com mistura (blending). Esse modo é mais lento para renderizar, mas permite transparência parcial (também conhecida como translucidez). Materiais que usam mistura alfa também não podem projetar sombras e não são visíveis em reflexos de espaço de tela (Screen Space Reflections).
Alpha é uma boa opção para efeitos de partículas e VFX.
Alpha Scissor: O material é transparente. Áreas semi-transparentes cuja opacidade está abaixo do Alpha Scissor Threshold não são desenhadas (acima desse valor, são desenhadas como opacas). Esse modo é mais rápido de renderizar do que o modo Alpha e não apresenta problemas de ordenação de transparência. A desvantagem é que ele resulta em uma transparência "tudo ou nada", sem valores intermediários. Materiais que usam Alpha Scissor podem projetar sombras.
Alpha Scissor é ideal para folhagens e cercas, pois esses elementos têm bordas definidas e exigem ordenação correta para uma boa aparência.
Alpha Hash: O material é transparente. Áreas semi-transparentes são desenhadas usando reticulação (dithering). Este também é um modo de transparência "tudo ou nada", mas o dithering ajuda a representar áreas parcialmente opacas com precisão limitada, dependendo da resolução da janela de exibição. Materiais que usam Alpha Hash podem projetar sombras.
Alpha Hash é adequado para cabelos com aparência realista, embora cabelos estilizados possam funcionar melhor com Alpha Scissor.
Depth Pre-Pass: Renderiza primeiro os pixels totalmente opacos do objeto através da pipeline opaca e depois renderiza o restante com mistura alfa. Isso permite que a ordenação de transparência seja quase correta (embora não totalmente, já que regiões parcialmente transparentes ainda podem apresentar ordenação incorreta). Materiais que usam Depth Pre-Pass podem projetar sombras.
Nota
O Godot forçará automaticamente o material a ser transparente com mistura alfa se qualquer uma das seguintes condições for atendida:
Definir o modo de transparência como Alpha (conforme descrito aqui).
Definir um modo de mistura diferente do padrão Mix
Ativar Refraction, Proximity Fade ou Distance Fade.
Comparação entre transparência com mistura alfa (à esquerda) e Alpha Scissor (à direita):
Aviso
A transparência com mistura alfa possui várias limitações:
Materiais com mistura alfa são significativamente mais lentos para renderizar, especialmente se houver sobreposição entre eles.
Materiais com mistura alfa podem apresentar problemas de ordenação quando superfícies transparentes se sobrepõem. Isso significa que as superfícies podem ser renderizadas na ordem incorreta, com superfícies ao fundo aparecendo na frente daquelas que estão mais próximas da câmera.
Materiais com mistura alfa não projetam sombras, embora possam receber sombras.
Materiais com mistura alfa não aparecem em nenhum tipo de reflexo (exceto em probes de reflexão).
Reflexos de espaço de tela e reflexos nítidos do SDFGI não aparecem em materiais com mistura alfa. Quando o SDFGI está ativado, reflexos difusos são usados como alternativa, independentemente da rugosidade do material.
Antes de usar o modo de transparência Alpha, sempre considere se outro modo de transparência é mais adequado para suas necessidades.
Alpha Antialiasing
Nota
Esta propriedade só é visível quando o modo de transparência é Alpha Scissor ou Alpha Hash.
Embora materiais com alpha scissor e alpha hash sejam mais rápidos de renderizar do que materiais com alpha blending, eles apresentam bordas duras entre as regiões opacas e transparentes. Embora seja possível usar técnicas de antialiasing baseadas em pós-processamento, como FXAA e TAA, isso nem sempre é desejável, pois essas técnicas tendem a deixar o resultado final mais borrado ou a apresentar artefatos de ghosting.
There are 3 alpha antialiasing modes available:
Desativado: Sem antialiasing de alpha. As bordas dos materiais transparentes aparecerão com aliasing, a menos que uma solução de antialiasing baseada em pós-processamento seja utilizada.
Alpha Edge Blend: Resulta em uma transição suave entre as áreas opacas e transparentes. Também é conhecido como "alpha to coverage".
Alpha Edge Clip: Resulta em uma transição nítida, mas ainda com antialiasing, entre as áreas opacas e transparentes. Também é conhecido como "alpha to coverage + alpha to one".
Quando o modo de antialiasing de alpha está definido como Alpha Edge Blend ou Alpha Edge Clip, uma nova propriedade chamada Alpha Antialiasing Edge se torna visível abaixo no inspetor. Essa propriedade controla o limite abaixo do qual os pixels devem se tornar transparentes. Embora você já tenha definido um limite de alpha scissor (apenas ao usar Alpha Scissor), esse limite adicional é utilizado para realizar uma transição suave entre os pixels opacos e transparentes. Alpha Antialiasing Edge deve sempre ser configurado com um valor estritamente inferior ao limite de alpha scissor. O valor padrão de 0.3 é razoável com um limite de alpha scissor de 0.5, mas lembre-se de ajustar esse alpha antialiasing edge ao modificar o limite de alpha scissor.
Se você achar que o efeito de antialiasing não está suficientemente eficaz, tente aumentar o valor de Alpha Antialiasing Edge, garantindo que ele permaneça abaixo do Alpha Scissor Threshold (caso o material utilize alpha scissor). Por outro lado, se você perceber que a aparência da textura muda visivelmente conforme a câmera se aproxima do material, tente diminuir o valor de Alpha Antialiasing Edge.
Importante
Para obter os melhores resultados, o MSAA 3D deve estar configurado para pelo menos 2× nas Configurações do Projeto ao utilizar antialiasing de alpha. Isso porque esse recurso depende de alpha to coverage, que é uma funcionalidade fornecida pelo MSAA.
Sem o MSAA, um padrão de dithering fixo é aplicado nas bordas do material, o que não é muito eficaz para suavizar as bordas (embora ainda possa ajudar um pouco).
Modo de mesclagem
Controla o modo de mesclagem do material. Lembre-se de que qualquer modo diferente de Mix força o objeto a passar pelo pipeline transparente.
Mix: Modo de mesclagem padrão, alfa controla o quanto o objeto é visível.
Add: The final color of the object is added to the color of the screen, nice for flares or some fire-like effects.
Sub: A cor final do objeto é subtraída da cor da tela.
Mul: The final color of the object is multiplied with the color of the screen.
Premultiplied Alpha: A cor do objeto deve já ter sido multiplicada pelo alfa. Esse modo se comporta como Add quando o alfa é
0.0(totalmente transparente) e como Mix quando o alfa é1.0(opaco).
Cull Mode
Determina qual lado do objeto não é desenhado quando as faces traseiras são renderizadas:
Back: A parte de trás do objeto é retirada quando não visível (padrão).
Front: A frente do objeto é cortada quando não é visível.
Disabled: Utilizado para objetos com dupla face (não é realizado nenhuma retirada).
Nota
Por padrão, o Blender tem a eliminação de faces desabilitada nos materiais e irá exportar os materiais para combinar como eles renderizam no Blender. Isso significa que os materiais na Godot terão seu modo de eliminação definido como Desativado. Isso pode diminuir o desempenho, uma vez que as faces posteriores serão renderizadas, mesmo quando estão sendo selecionadas por outras faces. Para resolver isso, habilite Backface Culling na aba Materiais do Blender, então exporte a cena para glTF novamente.
Modo de Desenho de Profundidade
Especifica quando a renderização de profundidade deve ocorrer.
Somente opaco (padrão): A profundidade é desenhada apenas para objetos opacos.
Sempre: O desenho de profundidade é desenhado tanto para objetos opacos quanto transparentes.
Never: No depth draw takes place (do not confuse this with the No Depth Test option below).
Depth Pre-Pass: Para objetos transparentes, uma passagem opaca é feita primeiro com as partes opacas, então a transparência é desenhada acima. Use esta opção com grama transparente ou folhagem de árvore.
Sem Teste de Profundidade
Para que objetos próximos apareçam sobre objetos distantes, é realizado um teste de profundidade. Desativá-lo tem como resultado objetos aparecendo sobre (ou abaixo) de todo o resto.
Desativar isso faz mais sentido para desenhar indicadores no espaço do mundo e funciona muito bem com a propriedade Render Priority do Material (veja o final desta página).
Criando Shaders(shading)
Shading mode
Os materiais suportam três modos de sombreamento: Per-Pixel, Per-Vertex e Unshaded.
O modo de sombreamento Per-Pixel calcula a iluminação para cada pixel, sendo adequado para a maioria dos casos de uso. No entanto, em alguns casos, você pode querer aumentar o desempenho utilizando outro modo de sombreamento.
O modo de sombreamento Per-Vertex, frequentemente chamado de "sombreamento por vértice" ou "iluminação por vértice", calcula a iluminação uma vez para cada vértice e interpola o resultado entre os pixels.
On low-end or mobile devices, using per-vertex lighting can considerably increase rendering performance. When rendering several layers of transparency, such as when using particle systems, using per-vertex shading can improve performance, especially when the camera is close to particles.
Você também pode usar a iluminação por vértice para obter um visual retrô.
O modo de sombreamento Unshaded não calcula iluminação. Em vez disso, a cor do Albedo é exibida diretamente. As luzes não afetarão o material de forma alguma, e materiais sem sombreamento tendem a parecer consideravelmente mais claros do que materiais com sombreamento.
Renderizar sem sombreamento é útil para alguns efeitos visuais específicos. Se for necessário desempenho máximo, também pode ser usado para partículas ou dispositivos móveis e de baixo desempenho.
Modo Difuso
Specifies the algorithm used by diffuse scattering of light when hitting the object. The default is Burley. Other modes are also available:
Burley: Modo padrão, o algoritmo difuso Disney Principled PBS original.
Lambert: Não é afetado pela rugosidade.
Lambert Wrap: Amplia o Lambert para cobrir mais de 90 graus quando a rugosidade aumenta. Funciona muito bem para o cabelo e simula a dispersão de baixo custo da superfície subterrânea. Esta implementação conserva energia.
Toon: Provides a hard cut for lighting, with smoothing affected by roughness. It is recommended you disable sky contribution from your environment's ambient light settings or disable ambient light in the StandardMaterial3D to achieve a better effect.
Modo Especular
Especifica como o blob especular será renderizado. O blob especular representa a forma de uma fonte de luz refletida no objeto.
SchlickGGX: The most common blob used by PBR 3D engines nowadays.
Toon: Cria um blob toon, que muda de tamanho dependendo da rugosidade.
Desativado: Às vezes, o reflexo atrapalha. Vá embora!
Desativar a luz ambiente
Faz com que o objeto não receba qualquer tipo de iluminação ambiente que de outra forma o iluminaria.
Desativar Fog
Faz com que o objeto não seja afetado por neblina baseada em profundidade ou volumétrica. Isso é útil para partículas ou outros materiais com blending aditivo que, de outra forma, exibiriam o formato da malha (mesmo em locais onde estaria invisível sem a neblina).
Desativar Oclusão Especular
Faz com que o objeto não tenha suas reflexões reduzidas onde normalmente seriam ocluídas.
Cor do vértice
This setting allows choosing what is done by default to vertex colors that come from your 3D modeling application. By default, they are ignored.
Use como Albedo
Escolhendo esta opção significa que a cor do vértice é usada como cor albedo.
É sRGB
Most 3D modeling software will likely export vertex colors as sRGB, so toggling this option on will help them look correct.
Albedo
Albedo é a cor base do material, sobre a qual operam todas as outras configurações. Quando ajustado para Unshaded, esta é a única cor que é visível. Nas versões anteriores do Godot, este canal era chamado Diffuse. A mudança de nome aconteceu principalmente porque, em PBR (Physically Based Rendering), esta cor afeta muito mais os cálculos do que apenas o caminho de iluminação difusa.
A cor e a textura do albedo podem ser usadas em conjunto à medida que são multiplicadas.
O alpha channel em cor e textura albedo também é usado para a transparência do objeto. Se você usar uma cor ou textura com alpha channel, certifique-se de ativar a transparência ou alpha scissoring para que ela funcione.
Metálico
O Godot usa um modelo metálico em vez de modelos concorrentes devido a sua simplicidade. Este parâmetro define o quão reflexivo é o material. Quanto mais reflexivo, menos difusa/luz ambiente afeta o material e mais luz é refletida. Este modelo é chamado de "conservação de energia".
O parâmetro Specular é uma quantidade geral para a refletividade (ao contrário de Metallic, isto não economiza energia, portanto deixe-o em 0.5 e não o toque a menos que seja necessário).
A refletividade interna mínima é 0.04, portanto é impossível tornar um material completamente sem reflexão, tal como na vida real.
Rugosidade
Rugosidade afeta a maneira como a reflexão acontece. Um valor de 0 faz dele um espelho perfeito, enquanto que um valor de 1 embaça completamente a reflexão (simulando o microsurfacing natural). Os tipos mais comuns de materiais podem ser obtidos com a combinação correta de Metálico e Rugosidade.
Emissão
Emissão especifica quanta luz é emitida pelo material (lembre-se de que isso não inclui a geometria ao redor da luz, a menos que VoxelGI or SDFGI sejam usados). Esse valor é adicionado à imagem final resultante e não é afetado por outra iluminação na cena.
Mapa Normal
O mapeamento normal permite definir uma textura que representa um detalhe de forma mais fina. Isto não modifica a geometria, apenas o ângulo de incidência da luz. No Godot, apenas os canais vermelho e verde dos mapas normais são usados para uma melhor compressão e compatibilidade mais ampla.
Nota
O Godot requer que o normal map use as coordenadas X+, Y- e Z+. Em outras palavras, se você importou um material feito para ser usado com outro motor, pode ser necessário converter o normal map para que seu eixo Y seja invertido. Caso contrário, a direção do normal map pode parecer estar invertida no eixo Y.
Mais informações sobre normal maps (incluindo uma tabela de ordem de coordenadas para motores populares) podem ser encontradas aqui (em Inglês).
Bent normal map
Um mapa de normais dobradas (bent normal map) descreve a direção média da iluminação ambiente. Diferente de um mapa de normais comum, ele é usado para melhorar como um material reage à iluminação, em vez de adicionar detalhes à superfície.
Isso é conseguido de duas maneiras:
A iluminação difusa indireta é feita para corresponder melhor à iluminação global.
Se a oclusão especular estiver habilitada, ela será calculada usando as normais dobradas e a oclusão ambiente, em vez de apenas a luz ambiente. Isso inclui a oclusão de ambiente em espaço de tela (SSAO) e outras fontes de oclusão de ambiente.
O Godot utiliza apenas os canais vermelho e verde de um mapa de normais dobradas para melhor compactação e maior compatibilidade.
Ao criar um mapa de normais dobradas, há três requisitos para que ele funcione corretamente no Godot:
Uma distribuição cossenoidal de raios deve ser usada durante o bake.
A textura deve ser criada em espaço tangente.
The bent normal map needs to use the X+, Y+, and Z+ coordinates, this is known as OpenGL style. If you've imported a material made to be used with another engine it may be DirectX style, in which case the bent normal map needs to be converted so its Y axis is flipped. This can be achieved by setting the green channel under the Channel Remap section to Inverted Green in the import dock.
Nota
Um mapa de normais dobradas é diferente de um mapa de normais comum. Os dois não são intercambiáveis.
Aro
Alguns tecidos têm pequenos micropêlos que fazem com que a luz se espalhe ao seu redor. Godot emula isso com o parâmetro Rim. Ao contrário de outras implementações de iluminação de borda, que usam apenas o canal de emissão, esta realmente leva em consideração a luz (sem luz significa que não há borda). Isso torna o efeito consideravelmente mais realista.
O tamanho do "Rim" depende da rugosidade e existe um parâmetro especial para especificar como ele deve ser colorido. Se Tint for 0, a cor da luz é usada para o aro. Se Tint for 1, então o albedo do material é usado. Usar valores intermediários geralmente funciona melhor.
Clearcoat
O parâmetro Clearcoat é usado para adicionar uma passagem secundária de revestimento transparente ao material. Isto é comum em pintura de automóveis e brinquedos. Na prática, é um especular blob menor adicionada em cima do material existente.
Anisotrópico
Isso altera a forma do blob especular e o alinha ao espaço tangente. A anisotropia é comumente usada com cabelos ou para tornar materiais como o alumínio escovado mais realistas. Funciona especialmente bem quando combinado com flowmaps.
Oclusão de Ambiente
É possível especificar um mapa de oclusão de ambiente pré-calculado. Este mapa afeta quanta luz ambiente atinge cada superfície do objeto (não afeta a luz direta por padrão). Embora seja possível usar Screen-Space Ambient Occlusion (SSAO) para gerar oclusão de ambiente, nada supera a qualidade de um mapa AO bem gerado e gravado. Recomenda-se a oclusão do ambiente seja pré-calculada sempre que possível.
Altura
Setting a height map on a material produces a ray-marched search to emulate the proper displacement of cavities along the view direction. This only creates an illusion of depth, and does not add real geometry — for a height map shape used for physics collision (such as terrain), see HeightMapShape3D. It may not work for complex objects, but it produces a realistic depth effect for textures. For best results, Height should be used together with normal mapping.
Dispersão Subsuperficial
This is only available in the Forward+ renderer, not the Mobile or Compatibility renderers.
Este efeito emula a luz que penetra na superfície de um objeto, se dispersa e depois sai. É útil para criar pele realista, mármore, líquidos coloridos, etc.
Back Lighting
Isto controla quanta luz do lado iluminado (visível à luz) é transferida para o lado escuro (oposto à luz). Isto funciona bem para objetos finos, tais como folhas de plantas, grama, orelhas humanas, etc.
Refração
When refraction is enabled, Godot attempts to fetch information from behind the object being rendered. This allows distorting the transparency in a way similar to refraction in real life.
Lembre-se de usar uma textura de albedo transparente (ou reduzir o canal alfa da cor do albedo) para tornar a refração visível, já que a refração depende da transparência para ter um efeito visível.
A refração também considera a rugosidade do material. Valores mais altos de rugosidade farão com que os objetos atrás da refração pareçam mais borrados, simulando o comportamento real. Se você não conseguir ver atrás do objeto quando a refração estiver habilitada e a transparência do albedo estiver reduzida, diminua o valor de Roughness do material.
Um mapa de normais pode ser especificado opcionalmente na propriedade Refraction Texture para permitir distorcer a direção da refração por pixel.
Nota
A refração é implementada como um efeito em espaço de tela e força o material a ser transparente. Isso torna o efeito relativamente rápido, mas resulta em algumas limitações:
Problemas de Transparency sorting podem ocorrer.
O material refrativo não pode refratar sobre si mesmo nem sobre outros materiais transparentes. Um material refrativo atrás de outro material transparente ficará invisível.
Objetos fora da tela não podem aparecer na refração. Isso é mais perceptível com valores altos de intensidade de refração.
Materiais opacos à frente do material refrativo parecerão ter bordas "refratadas", mesmo que não devessem.
Detalhe
Godot permite utilizar albedo secundário e mapas normais para gerar uma textura de detalhe, que pode ser misturada de muitas maneiras. Combinando isto com os modos secundário UV ou triplanar, muitas texturas interessantes podem ser alcançadas.
Há várias configurações que controlam como os detalhes são usados.
Máscara: A máscara de detalhes é uma imagem em preto e branco usada para controlar onde a mescla ocorre em uma textura. O branco é para as texturas de detalhe, o preto é para as texturas normais do material, diferentes tons de cinza são para a mistura parcial das texturas do material e das texturas de detalhe.
Modo de mescla: Estes quatro modos controlam como as texturas são misturadas entre si.
Mix: Combina valores de pixel de ambas as texturas. No preto, mostre apenas a textura do material, no branco, mostre apenas a textura do detalhe. Valores de cinza criam uma mistura suave entre os dois.
Add: Adiciona valores de pixel de uma textura com a outra. Ao contrário do modo de mistura, ambas as texturas são completamente misturadas em partes brancas de uma máscara e não em partes cinzas. A textura original é praticamente inalterada em preto
Sub: Subtrai os valores de pixel de uma textura com a outra. A segunda textura é completamente subtraída em partes brancas de uma máscara com apenas uma pequena subtração em partes pretas, partes cinza sendo diferentes níveis de subtração com base na textura exata.
Mul: Multiplica os números do canal RGB para cada pixel da textura superior com os valores para o pixel correspondente da textura inferior.
Albedo: Aqui é onde você coloca uma textura de albedo que você quer misturar. Se nada estiver neste slot, ele será interpretado como branco por padrão.
Normal: Aqui é onde você coloca uma textura normal que você quer misturar. Se nada estiver neste espaço, será interpretado como um mapa normal plano. Isto ainda pode ser usado mesmo que o material não tenha o mapa normal habilitado.
UV1 e UV2
Godot suporta dois canais UV por material. UV secundário é muitas vezes útil para a oclusão ambiente ou emissão (luz baked). Os UVs podem ser dimensionados e compensados, o que é útil ao usar texturas repetitivas.
Mapeamento Triplanar
Mapeamento triplanar é suportado para UV1 e UV2. Esta é uma maneira alternativa de obter coordenadas de textura, às vezes chamada de "Autotextura". As texturas são amostradas em X, Y e Z e misturadas pelo normal. Mapeamento triplanar pode ser realizado no espaço mundial ou no espaço objeto.
Na imagem abaixo, você pode ver como todos os primitivos compartilham o mesmo material com o triplanar do mundo, de modo que a textura do tijolo continua suavemente entre eles.
Triplanar Global
When using triplanar mapping, it is computed in object local space. This option makes it use world space instead.
Sampling
Filtro
O método de filtragem das texturas usadas pelo material. Consulte this page para a lista completa de opções e a descrição de cada uma.
Repetir
Se as texturas usadas pelo material se repetem e como elas se repetem. Consulte this page para a lista completa de opções e a descrição de cada uma.
Sombras
Não Receber Sombras
Faz com que o objeto não receba nenhum tipo de sombra que de outra forma seria lançada sobre ele.
Use sombra para opacidade
A iluminação modifica o alfa para que as áreas sombreadas sejam opacas e as áreas não sombreadas sejam transparentes. Útil para sobrepor sombras em câmera de RA.
Billboard
Modo Billboard
Habilita o modo billboard para desenhar materiais. Isso controla como o objeto fica voltado para a câmera:
Disabled: Modo Billboard está desativado.
Enabled: Billboard mode is enabled. The object's -Z axis will always face the camera's viewing plane.
Y-Billboard: The object's X axis will always be aligned with the camera's viewing plane.
Particle Billboard: Most suited for particle systems, because it allows specifying flipbook animation.
A seção Particles Anim só fica visível quando o modo de billboard é Particle Billboard.
Billboard Keep Scale
Permite dimensionar uma malha no modo billboard.
Crescer
Aumenta os vértices do objeto na direção apontada por suas normais:
Isto é comumente usado para criar esboços de baixos custos. Adicionar um segundo passe de material, torná-lo preto e sem sombras, reverse culling (Cull Front), e aumentar um pouco o tamanho:
Nota
Para que o Grow funcione como esperado, a malha deve ter faces conectadas com vértices compartilhados, ou “smooth shading”. Se a malha tiver faces desconectadas com vértices únicos, ou “flat shading”, a malha parecerá ter lacunas ao usar o Grow.
Transformar
Tamanho Fixo
Isso faz com que o objeto seja renderizado no mesmo tamanho, independentemente da distância. Isso é útil principalmente para indicadores (sem teste de profundidade e alta prioridade de renderização) e alguns tipos de billboards.
Usar Point Size (Tamanho de ponto)
This option is only effective when the geometry rendered is made of points (generally it's made of triangles when imported from 3D modeling software). If so, then those points can be resized (see below).
Tamanho do ponto
Ao desenhar pontos, especifique o tamanho do ponto em pixels.
Use Particle Trails
Se verdadeiro, habilita partes do shader necessárias para que as trilhas de GPUParticles3D funcionem. Isso também requer usar uma malha com skinning apropriado, como RibbonTrailMesh ou TubeTrailMesh. Habilitar esse recurso fora de materiais usados em malhas de GPUParticles3D quebrará a renderização do material.
Usar escala de corte em Z (Z Clip Scale)
Redimensiona o objeto sendo renderizado em direção à câmera para evitar o corte em elementos como paredes. Isso é destinado a objetos que são fixos em relação à câmera, como braços do jogador, ferramentas etc. A iluminação e as sombras continuarão funcionando corretamente quando esse ajuste for feito, mas efeitos em espaço de tela como SSAO e SSR podem apresentar problemas com escalas menores. Portanto, tente manter esse valor o mais próximo possível de 1.0.
Usar substituição de FOV
Substitui o ângulo de campo de visão (em graus) da Camera3D.
Nota
Isso se comporta como se o campo de visão fosse definido em uma Camera3D com Camera3D.keep_aspect configurado para Camera3D.KEEP_HEIGHT. Além disso, pode não apresentar o resultado correto em uma câmera não-perspectiva, onde a configuração de campo de visão é ignorada.
Proximity and Distance Fade
Godot allows materials to fade by proximity to each other as well as depending on the distance from the viewer. Proximity fade is useful for effects such as soft particles or a mass of water with a smooth blending to the shores.
O desvanecimento por distância é útil para feixes de luz ou indicadores que só estão presentes após uma determinada distância.
Lembre-se de que habilitar o desvanecimento por proximidade ou por distância com o modo Pixel Alpha ativa a mesclagem alfa. A mesclagem alfa exige mais da GPU e pode causar problemas de ordenação de transparência. Ela também desativa muitos recursos do material, como a capacidade de projetar sombras.
Nota
Para ocultar um personagem quando ele chega muito perto da câmera, considere usar Pixel Dither ou, de preferência, Object Dither (que é ainda mais rápido que o Pixel Dither).
Modo Pixel Alpha: A transparência real de um pixel do objeto muda conforme a distância para a câmera. Este é o efeito mais intenso, mas força o material a entrar no pipeline de transparência (o que leva, por exemplo, à ausência de sombras).
Modo Pixel Dither: O que isso faz é, de certa forma, aproximar a transparência renderizando apenas uma fração dos pixels.
Modo Object Dither: Igual ao modo anterior, mas a transparência calculada é a mesma em toda a superfície do objeto.
Configurações do material
Prioridade de Renderização
A ordem de renderização dos objetos pode ser alterada, embora isto seja útil principalmente para objetos transparentes (ou objetos opacos que realizam desenho em profundidade, mas sem desenho colorido, como rachaduras no chão).
Os objetos são organizados por uma fila opaco/transparente e, em seguida, por render_priority, com maior prioridade sendo desenhada por último. Objetos transparentes também são organizados por profundidade.
O teste de profundidade se sobrepõe à prioridade. A prioridade, por si só, não pode forçar objetos opacos a serem desenhados uns sobre os outros.
Próximo passo
Definir next_pass em um material fará com que um objeto seja renderizado novamente com esse próximo material.
Os materiais são organizados por uma fila opaco/transparente e, em seguida, por render_priority, com maior prioridade sendo desenhada por último.
A profundidade será testada como igual entre ambos os materiais, a menos que a configuração de crescimento (grow) ou outras transformações de vértice sejam usadas. Múltiplas passagens transparentes devem usar render_priority para garantir a ordem correta.