O Godot 4.4.3 já está disponível para download. Esta versão inclui correções de bugs e novos recursos. O editor Web, editor XR e editor Android estão todos disponíveis para teste.O Godot 4.4.3 já está disponível para download. Esta versão inclui correções de bugs e novos recursos. O editor Web, editor XR e editor Android estão todos disponíveis para teste.

Godot 4.4 Dev 3: Sombreamento de Vértices, Processamento em Lote 2D e Mais

2025/12/08 02:15

Estamos de volta com outra grande atualização de desenvolvimento com mais de 330 commits integrados nas últimas semanas! Os contribuidores continuam a trabalhar em coisas novas e incríveis enquanto continuamos a integrar nosso backlog de funcionalidades importantes que não entraram no corte do 4.3. O resultado combinado é muita coisa boa comprimida em um curto período de tempo.

\ Muitas das alterações nesta versão são correções de bugs que serão retroportadas para o Godot 4.3 e lançadas na versão 4.3.1! Portanto, teste bem esta versão para que possamos ter confiança nas alterações e lançar a 4.3.1 com elas o mais rápido possível.

\ Tenha em mente que, embora tentemos garantir que cada snapshot de desenvolvimento seja estável o suficiente para testes gerais, esta é, por definição, uma peça de software pré-lançamento. Certifique-se de fazer backups frequentes ou usar um sistema de controle de versão, como o Git, para preservar seus projetos em caso de corrupção ou perda de dados.

\ Vá para a seção Downloads e experimente agora mesmo, ou continue lendo para saber mais sobre as melhorias nesta versão. Você também pode experimentar o editor Web, o editor XR ou o editor Android para esta versão (junte-se ao grupo de teste do editor Android para ter acesso a builds pré-lançamento).


A ilustração de capa original é de Fogpiercer, um jogo de cartas por turnos onde seu baralho é um trem! Foi desenvolvido no Godot 4.3 pelo Mad Cookies Studio. Você pode adicionar o jogo à sua lista de desejos no Steam e seguir os desenvolvedores no Twitter.

Destaques

Caso você tenha perdido, veja as notas de lançamento do 4.4 dev 1 e dev 2 para uma visão geral de algumas funcionalidades principais que já estavam nesse snapshot e, portanto, ainda estão disponíveis para teste no dev 3.

\ Aqui estão alguns destaques que você pode achar particularmente empolgantes!

\

Anotação @export_tool_button

Poder criar um botão no inspetor a partir de scripts de ferramenta era uma funcionalidade muito solicitada, e muitos contribuidores se encarregaram de torná-la realidade no GH-96290: os novos contribuidores jordi-star e Macksaur, e os mantenedores Ernest e Danil!

\ Esta nova funcionalidade permite que você seja ainda mais expressivo com as ferramentas de desenvolvimento que pode criar facilmente com scripts @tool.

\ Vamos dar uma olhada em um exemplo:

@tool extends Sprite2D # With a callable (could also be a local function). @export_tool_button("Toot", "Callable") var print_action = print.bind("toot") # With a lambda. @export_tool_button("Randomize Color", "ColorRect") var color_action = func(): self_modulate = Color(randf(), randf(), randf())

\

Inicialização de cena massivamente otimizada para projetos grandes

O trabalho não diminuiu na melhoria da experiência de inicialização de cena, ainda graças às incríveis contribuições de Hilderin. Este snapshot de desenvolvimento introduz uma melhoria massiva na velocidade de carregamento do editor para projetos grandes (GH-95678). Projetos grandes podem esperar até 3× de melhoria de velocidade ao carregar o projeto e uma aceleração semelhante ao realizar operações que escaneiam o sistema de arquivos.

Sombreamento de vértices

Esta versão de desenvolvimento reintroduz a tão esperada opção de sombreamento de vértices para materiais (GH-83360), graças ao contribuidor ywmaa que implementou sua segunda grande funcionalidade no Godot, após o suporte de exportação para Blender Geometry Nodes. O sombreamento de vértices é usado principalmente para alcançar um estilo PSX inicial e otimizar o desempenho em dispositivos mais antigos e de baixo desempenho.

\ Você pode ativar o sombreamento de vértices a partir de um StandardMaterial3D, ORMMaterial3D, ShaderMaterial existente, ou forçando sua ativação em todos os materiais usando a configuração de projeto rendering/shading/overrides/force_vertex_shading.

\

Adição de batching ao RendererCanvasRenderRD

Depois de lidar com o backend de renderização Metal mesclado em um snapshot anterior, Stuart assumiu outra impressionante contribuição de renderização: batching 2D!

\ O batching foi implementado no renderizador de Compatibilidade desde o lançamento do 4.0. Esta versão traz os mesmos benefícios de desempenho para os outros backends, implementando batching ao usar os backends Forward+ e Mobile (GH-92797). Agora o desempenho 2D é comparável entre todos os backends.

\ Batching é uma otimização de desempenho que reduz drasticamente o número de chamadas de desenho em uma cena. Os benefícios do batching serão particularmente notáveis em cenas com muita renderização de texto ou sprites repetidos que compartilham uma textura (por exemplo, ao usar tilemaps ou criar um bullet hell).

\ Temos mais melhorias planejadas para batching nos backends RD que devem permitir que seja ainda mais rápido que o backend de Compatibilidade. Fique atento para atualizações em versões de desenvolvimento posteriores!

Avaliador de expressões (REPL) no depurador

O avaliador de expressões adiciona uma nova aba ao painel inferior que permite avaliar expressões usando o estado local de seus scripts enquanto estiver parado em um ponto de interrupção. Muitos usuários estão familiarizados com esse fluxo de trabalho de outros depuradores REPL.

\ Esta funcionalidade tem sido um trabalho em andamento por um tempo e foi recentemente finalizada e integrada (GH-97647), obrigado a Oğuzhan, Erik e Tomek por levá-la até a linha de chegada.

Implementação de início automático para todos os profilers

Uma reclamação comum dos usuários é que eles precisam voltar ao editor depois de iniciar o jogo para ativar o profiler. Isso dificultava a medição de desempenho nos primeiros segundos de carregamento de uma cena e era um incômodo geral para os desenvolvedores.

\ Hendrik introduziu uma caixa de seleção que permite definir o profiler para iniciar automaticamente quando você executa o motor e capturar dados valiosos de criação de perfil imediatamente (GH-96759).

Adição de marcadores à Animação

Os marcadores permitem criar sub-regiões de uma animação que podem ser acessadas diretamente ou repetidas sem reproduzir toda a animação.

\ Os marcadores são suportados até mesmo dentro da Árvore de Animação, onde você pode facilmente selecionar marcadores de animação para repetição ou para iniciar a reprodução.

\ Para mais detalhes, confira o pull request GH-91765, que foi uma das primeiras contribuições de ChocolaMint para o Godot!

Suporte à câmera no Linux

Anteriormente, o Godot só suportava acesso à câmera do dispositivo em dispositivos macOS e iOS. O pull request de longa data GH-53666 de pkowal1982 foi finalmente integrado e adiciona suporte para a plataforma Linux, permitindo que os desenvolvedores acessem câmeras conectadas de dentro de seu jogo.

Fallback para OpenGL 3 se outros drivers de renderização não forem suportados

Atualmente, ao tentar executar o Godot com o backend Forward+ ou Mobile em um dispositivo que não suporta Vulkan, D3D12 ou Metal, o motor fornecerá ao usuário um alerta do sistema operacional notificando que eles não têm suporte para a API gráfica necessária e precisam tentar novamente com o backend de Compatibilidade. Este alerta provou ser confuso para os usuários e o processo de abertura da cena acaba sendo complicado.

\ Agora com o GH-97142, primeira contribuição de SheepYhangCN, o motor automaticamente recorrerá ao uso do OpenGL (o backend de Compatibilidade) quando os outros backends não estiverem disponíveis. Isso deve proporcionar a experiência mais suave possível para usuários em dispositivos mais antigos.

\ Como os backends de Compatibilidade podem parecer diferentes dos outros backends, os desenvolvedores de jogos podem não querer que o Godot recorra automaticamente. Nesse caso, eles podem desativar a configuração de projeto rendering/rendering_device/fallback_to_opengl3 para evitar o fallback, e os usuários com dispositivos que só suportam OpenGL seriam então notificados de que seu hardware não é suportado.

E mais!

Há muitas mudanças empolgantes para listar todas aqui, mas aqui está uma seleção selecionada:

  • 2D: Correção do GradientTexture2D rosa (GH-94744).
  • 2D: Correção do nó de polígono perdendo sua barra de ferramentas UV (GH-96466).
  • 3D: PathFollow3D atualiza a transformação imediatamente por padrão (GH-96140).
  • Animation: Atualização do AnimationPlayer em tempo real quando as propriedades da curva bezier ou o editor bezier mudam (GH-96753).
  • Audio: Correção de um frame de overflow no final dos arquivos WAV (GH-96768).
  • Audio: Uso de um LocalVector para armazenar dados para otimizar o AudioStreamMp3 (GH-97026).
  • Buildsystem: CI: Atualização do hook pre-commit do clang-format para 19.1.0 (GH-97483).
  • Core: Adição de suporte a callable para os métodos find e rfind do Array (GH-95449).
  • Core: Correção da incapacidade de usar ResourceLoader em C# após carregamento em thread no GDScript (GH-92888).
  • Core: Adição de domínio de tradução (GH-95787).
  • Core: WorkerThreadPool: Reformulação da interação com ScriptServer (GH-96959).
  • Core: StringName: Correção de hash vazio (GH-96586).
  • Dotnet: Geração de método fortemente tipado para levantar eventos de sinal e correção da acessibilidade de eventos (GH-68233).
  • Editor: Correção do desempenho de redesenho do gizmo MeshInstance3D para PlaneMesh com valor subdiv maior (GH-96934).
  • Editor: Correção de erro ao reabrir cena inexistente na inicialização (GH-97028).
  • GDExtension: GDExtension: Permitir que nomes de classe sejam unicode (GH-96501).
  • GDScript: Correção de problema com tokens binários GDScript sendo não determinísticos (GH-96855).
  • GDScript: Correção da validação de tipo Dictionary.merge() (GH-96864).
  • GDScript: Correção do operador[] para dicionários tipados (GH-96797).
  • GUI: GraphEdit: Melhoria do desempenho da grade de padrão pontilhado (GH-96910).
  • GUI: Correção do tamanho mínimo do TabContainer (GH-97132).
  • Import: Adição de suporte à compressão BC1 ao Betsy (GH-95915).
  • Navigation: Correção do AStar2D, AStar3D, AStarGrid2D para não retornar um caminho quando o destino está desativado/sólido mesmo com a opção allowpartialpath (GH-94246).
  • Physics: Movimentação da Física 2D do Godot para um módulo; adição de servidor de física 2D fictício (GH-95261).
  • Physics: Movimentação da Física 3D do Godot para um módulo; adição de servidor de física 3D fictício (GH-95252).
  • Physics: Adição da verificação getspace() esquecida em GodotArea3D::removesoftbodyfrom_query() (GH-97130).
  • Porting: Correção do gerenciador de projetos roubando o foco no i3 (GH-96829).
  • Rendering: Uso da distância até a superfície AABB para calcular o LOD da Mesh em vez de usar suportes (GH-92290).
  • Rendering: Correção do BaseMaterial3D refratando objetos localizados na frente do material (GH-93449).
  • Rendering: Correção do operador de tonemap Reinhard incorreto (GH-93324).
  • Rendering: Uso de acumulação temporal para melhorar a qualidade das sombras (GH-97428).
  • Rendering: Correção do regionfilterclip_enabled para evitar sangramento de sprite para folhas de sprite interpoladas (GH-97602).
  • Visual Shaders: Adição de operações vetoriais ao nó Remap (GH-97314).
  • Thirdparty: mbedTLS: Ativação do suporte a TLS 1.3 (GH-96394).
  • XR: Correção do lançamento de aplicativos XR a partir do editor Android (GH-96868).

Registro de alterações

136 contribuidores enviaram 332 melhorias para este novo snapshot. Veja nosso registro de alterações interativo para a lista completa de alterações desde o snapshot anterior 4.4-dev2.

\ Esta versão é construída a partir do commit f4af8201b.

Downloads

Download Godot 4.4 dev3

\ Build padrão inclui suporte para GDScript e GDExtension.

\ Build .NET (marcado como mono) inclui suporte para C#, bem como GDScript e GDExtension.

  • Veja também o suporte à plataforma C#.

\ Embora os mantenedores do motor façam o possível para garantir que cada snapshot de pré-visualização e candidato a lançamento seja estável, isto é, por definição, uma peça de software pré-lançamento. Certifique-se de fazer backups frequentes ou usar um sistema de controle de versão, como o Git, para preservar seus projetos em caso de corrupção ou perda de dados.

Problemas conhecidos

  • O erro "Attempting to use an uninitialized RID" é impresso ao abrir o editor (GH-97694). Este é um erro inofensivo e não deve ter impacto perceptível em seu projeto.

\ Com cada lançamento, aceitamos que haverá vários problemas que já foram relatados, mas ainda não foram corrigidos. Veja o rastreador de problemas do GitHub para uma lista completa de bugs conhecidos.

Relatórios de bugs

Como testador, incentivamos você a abrir relatórios de bugs se encontrar problemas com esta versão. Por favor, verifique os problemas existentes no GitHub primeiro, usando a função de pesquisa com palavras-chave relevantes, para garantir que o bug que você está experimentando ainda não seja conhecido.

\ Em particular, qualquer alteração que cause uma regressão em seus projetos é muito importante relatar (por exemplo, se algo que funcionava bem em versões anteriores 4.x, mas não funciona mais neste snapshot).

Suporte

Godot é um motor de jogos de código aberto sem fins lucrativos desenvolvido por centenas de contribuidores em seu tempo livre, bem como por um punhado de desenvolvedores em tempo parcial ou integral contratados graças a generosas doações da comunidade Godot. Um grande obrigado a todos que contribuíram com seu tempo ou apoio financeiro ao projeto!

\ Se você gostaria de apoiar o projeto financeiramente e nos ajudar a garantir nossas futuras contratações, você pode fazê-lo usando a plataforma Godot Development Fund gerenciada pela Godot Foundation. Existem também várias maneiras alternativas de doar que você pode achar mais adequadas.


Clay John

\ Também publicado aqui

\ Foto de Denys Nevozhai no Unsplash

Isenção de responsabilidade: Os artigos republicados neste site são provenientes de plataformas públicas e são fornecidos apenas para fins informativos. Eles não refletem necessariamente a opinião da MEXC. Todos os direitos permanecem com os autores originais. Se você acredita que algum conteúdo infringe direitos de terceiros, entre em contato pelo e-mail [email protected] para solicitar a remoção. A MEXC não oferece garantias quanto à precisão, integridade ou atualidade das informações e não se responsabiliza por quaisquer ações tomadas com base no conteúdo fornecido. O conteúdo não constitui aconselhamento financeiro, jurídico ou profissional, nem deve ser considerado uma recomendação ou endosso por parte da MEXC.