Esta versão se concentra na redução do tamanho do pacote, melhorias no pipeline de renderização e usabilidade do editor, juntamente com extensas correções de bugs e melhorias de compatibilidade de plataforma.
-
Otimização contínua do tamanho do pacote:
- Projeto vazio 2D (configurações padrão): Reduzido em 360 KB.
- Projeto vazio 3D (configurações padrão): Reduzido em 384 KB.
- Projeto 2D com módulos essenciais (UI, Backbone, áudio, somente WebGL2 e wasm Brotli habilitado): Reduzido em 200 KB.
-
Melhorias no pipeline de renderização: Adicionado suporte para
PipelinePass
no novo gasoduto. -
Adicionado suporte para HarmonyOS Próxima API12.
-
Carregamento handbook do módulo Wasm:
- Carregamento handbook habilitado de módulos Wasm. Requer que a opção do editor esteja marcada. Os desenvolvedores devem garantir que os módulos Wasm necessários sejam carregados antes do uso.
- API correspondente:
loadWasmModuleXXX
(ondeXXX
representa o nome do módulo). Nomes de API detalhados estão disponíveis no hyperlink RP. A documentação seguirá.
-
Suporte de plataforma:
- Google Play: Suporte inicial adicionado (ainda não concluído, a ser finalizado em futuros lançamentos da comunidade).
- Plataforma Migu: Adicionado suporte.
-
Melhorias no editor:
- Atualizado Versão eletrônicamelhorando o desempenho.
Hyperlinks para obtain
Nota de lançamento
Motor
Correções de bugs
- Corrigido o problema onde
touchEvent.getUIDelta
retornou valores delta incorretos em plataformas nativas. RP - Corrigido um problema de vazamento de memória no macOS quando
autorelease
tipoNSObject
objetos foram usados com threading gfx desabilitado. RP - Corrigido o problema de tela branca com WebGPU no Chrome. RP
- Corrigida iluminação anormal sob
InstancingBuffer
. RP - Otimizou a lógica de execução para pipelines customizados na plataforma net. RP
- Corrigido um problema em que
InstancedAttribute
não suportava formatos não flutuantes em plataformas nativas. RP - Corrigido um problema de liberação de recursos em plataformas nativas onde marcadores de cena de
autorelease
kind falhou ao liberar recursos antigos relacionados à cena após a troca de cenas. RP - Corrigido um problema de exibição com LightProbe introduzido na versão 3.8.5-beta0. RP
- Corrigimos um problema com o mapeamento de tons na versão 3.8.5 em que o tamanho da janela de visualização estava incorreto durante a renderização da tela. RP
- Corrigido um problema de vazamento de memória em cenas nativas na versão 3.8.4. RP
- Corrigido um erro no caso de teste de carregamento de som do Taobao Mini Video games introduzido na versão 3.8.5-beta0. RP
- Corrigido um problema de carregamento de módulo no Taobao Mini Video games durante a inicialização, introduzido na versão 3.8.5-beta0. RP
Editor
Novos recursos
- Suporte ao alvo de compilação do Google Play.
Correções de bugs
- Corrigido um bug que causava mensagens de erro anormais ao abrir um projeto.
- Corrigido um bug onde os cliques de visualização no editor ficavam desalinhados quando o dimensionamento da janela não estava definido como 1.
- Corrigido um bug onde o editor localizado não podia ser usado.
- Corrigido um bug onde os recursos importados no painel Ativos não eram atualizados.
Hyperlinks para obtain
Nota de lançamento
Motor
Novos recursos
- Adicionada funcionalidade para carregar manualmente módulos Wasm/AsmJS para melhorar a velocidade de carregamento da cena inicial. RP.
node.setSiblingIndex
agora oferece suporte a índices negativos, permitindo a indexação reversa de nós filhos. RP.- Adicionado suporte para
PipelinePass
no novo pipeline de renderização, permitindo efeitos como pós-processamento por meio de adições de componentes. RP.
Otimizações
- Reduções no tamanho do pacote:
- Removido o código da camada GFX da plataforma Internet não utilizado e aplicada a compactação Terser para reduzir o comprimento das propriedades internas. RP.
- Habilitadas “enums inline” e “compactação de propriedade privada” para o código do mecanismo. As propriedades internas marcadas com um sufixo ` são compactadas no processo de construção.
- Módulo da coluna otimizado, reduzindo o tamanho em aproximadamente 40% em comparação com v3.8.4.
- Declarado
ts
construtores de classe explicitamente para evitar a geração de código desnecessário. RP.
Correções de bugs
- Corrigido um problema em que o recebimento de mensagens WebSocket no Android ao alternar para o segundo plano ou coberto por outras atividades causava travamentos do JNI. RP.
- Resolvido um problema com o controlador do personagem não sendo acionado
onControllerTriggerEnter
. RP. - Erros de raycast corrigidos no mecanismo Bullet. RP.
- Resolvidos problemas de raycast no Box2D causados por máscaras de objetos inconsistentes. RP.
- Resolvidos vazamentos de memória na física do Bullet. RP.
- Corrigido o congelamento da interface do usuário da atualização a quente ao lidar com um grande número de arquivos. RP.
- Correções de bugs adicionais:
UiOpacity
problemas em plataformas Internet e nativas.- Problemas frequentes de criação de objetos do ScrollView.
- Travamentos no Android devido a entradas/saídas repetidas do jogo.
- Manipulação incorreta de atributos instanciados de malha para
INT
atributos de tipo.
Editor
Novos recursos
- Adicionado um Modo Gizmo “Visualizar/Selecionar” para a visualização da cena.
- Roda do mouse habilitada para ajustar a velocidade básica de roaming em modo de roaming da câmera.
- Módulo de recorte agora oferece suporte a sinalizadores vinculados, como carregamento handbook do Backbone.
- Pré-visualização do suporte para pré-fabricados e componentes Backbone no inspetor de propriedades.
- Atualizou o Elétron versão para 31.3.1 para melhor desempenho.
Otimizações
- Indicadores de arrastar e soltar e UI aprimorados no gerenciador de hierarquia para reduzir operações incorretas.
- Lógica aprimorada de seleção de visualização de cena para pré-fabricados:
- O primeiro clique seleciona o nó raiz pré-fabricado.
- Os cliques subsequentes priorizam o ponto alvo e selecionam gradualmente para cima.
- Efeitos de dicas de ferramentas aprimorados no inspetor de propriedades.
- Efeitos de zoom de câmera suavizados no Visualização de cena 3D.
- Projetos com muitos scripts otimizados para reduzir o tempo de espera após modificações.
Correções de bugs
- Corrigido um problema em que a compactação automática do atlas deixava texturas originais não utilizadas.
- Problemas resolvidos com seleção de quadros de nós 2D no Visualização 2D.
- Foram resolvidos problemas relacionados à pré-fabricação no editor, incluindo modificações aninhadas na pré-fabricação que causavam perda de nó.
- Corrigidos problemas do inspetor de propriedades com exclusão de array aninhado afetando camadas externas.
- Prompts de construção de projeto aprimorados para scripts, mecanismos e simuladores nativos.
4 curtidas
Parece muito bom, equipe!
Uma pergunta minha é sobre o suporte do Google Play. Você poderia gentilmente expandir esse tópico e quais recursos você apoiaria?
Muito obrigado pela resposta! Ansioso por esta atualização.
- suporte à API do google play → Esse suporte será possível de ser feito sem a necessidade de ajustes no projeto nativo?
é possível adicionar temas de editor personalizados? Vi em algum lugar nas entrelinhas que o editor já lê um arquivo de “tema”. Se você pudesse adicionar um recurso para ler arquivos de temas personalizados, os usuários poderiam personalizar a aparência do editor.
Boa ideia, mas devo pedir desculpas, este recurso não é compatível no momento.
Desculpe, o que se diz da API do Google Play é algo como API paga. Você pode invocar a API de pagamento em texto digitado.
1 Curtir
Acabei de experimentar um bug potencial do 3.8.5
Executando estas 2 linhas simples de código
const testVec3 = v3(0.0058, 0.011, 0.001);
console.log(`testVec3 = ${testVec3} // toString=${testVec3.toString()} // JSON.stringify=${JSON.stringify(testVec3)} // x,y,z = ${testVec3.x}, ${testVec3.y} / ${testVec3.z}`);
consegui esse resultado
testVec3 = (0.01, 0.01, 0.00) // toString=(0.01, 0.01, 0.00) // JSON.stringify={"x":0.0058,"y":0.011,"z":0.001} // x,y,z = 0.0058, 0.011 / 0.001
Fiquei confuso por um tempo e pensei que meu código tinha um bug, mas finalmente descobri que registrar um vec3 no console tinha um problema. Eu entendi mal o Vec3 ou é um bug?
Acho que é um bug do método toString em vec2/3/4.ts .
Eles substituem o toString
método e invocar toFixed
para cada elemento.
public toString (): string {
return `(${this.x.toFixed(2)}, ${this.y.toFixed(2)}, ${this.z.toFixed(2)})`;
}
Tentarei corrigir o problema na v3.8.6.
1 Curtir
@zhangxm @dumganhar Temos uma knowledge de lançamento para v3.8.5? Nosso objetivo é implementar o sistema de pagamento do nosso jogo em nossa próxima versão e ficaríamos muito ansiosos para usar esse recurso.
O lançamento está previsto para 27/12.
1 Curtir