Melhorias e mudanças - Notas de release do Lumberyard

Melhorias e mudanças

As atualizações para sistemas e funcionalidade do Lumberyard incluem:

Áudio

  • O controle seletor ATL no conjunto de componentes de áudio agora é compatível, o que permite que você selecione o controle adequado, em vez de digitá-lo manualmente.

Componentes e sistema entidade de componente

  • Agora, há suporte para Limb IK e Aim IK.

  • Um novo barramento (C++ ou scripts) agora está exposto para estimular o Aim IK.

  • O componente Camera na Camera Gem tem uma nova identificação de classe. Um componente Editor Camera também foi adicionado.

  • O componente EventActionBinding ficou obsoleto. Você pode acessar os mesmos comportamentos usando scripts no StartingPointMovement Gem.

  • O componente CameraTarget ficou obsoleto. Dois novos comportamentos de aquisição de destino para o equipamento da câmera permitem a segmentação por referência ou marca da entidade.

  • Uma única entidade pode ter apenas um componente Camera.

  • Os menus de contexto Perspective agora trabalham com entidades (AZ::Entity) e componentes de câmeras. As propriedades da câmera (FOV, plano de corte perto/distante etc.) são usadas com uma entidade que possui um componente de câmera ligado. Com o movimento ativado, a câmera transforma atualizações à medida que você move e examina em todo o nível. Você pode limpar uma opção de câmera já selecionada, clicando no menu de contexto Perspective.

Configurações de FBX

  • A extração do movimento raiz agora é calculada para animações importadas.

  • O Configurações de FBX agora oferece suporte a skins, esqueletos e animações.

Gems

  • Navegador:

    • O Configurador de projetos agora rotula os gems que contêm apenas ativos e os gems que contêm código e ativos.

    • Uma mensagem de aviso foi atualizada para indicar que a recompilação só será necessária se você alternar o código e configurações de ativos para um gem. Você não precisa recompilar se você alternar um gem somente ativo.

    • Uma mensagem de aviso é exibida se você inserir o navegador do gem e o projeto faz referência a um gem que não existe no disco. Ao salvar seu projeto, ele removerá a referência para o gem ausente.

    • Uma mensagem de aviso será exibida se você ativar e desativar um gem que inclui código e seu ambiente não está configurado para compilar código. A mensagem de aviso fornece instruções para concluir a ativação do gem.

    • As descrições gem não se sobrepõem com o texto do link Visualizar no diretório.

    • Os gems agora são expandidos por padrão, exibindo as descrições.

    • O botão de ajuda agora é funcional e redireciona para a página de ajuda Gems.

    • Pressionar Ctrl+F move o cursor para o campo de pesquisa.

  • Criação:

    • A interface de criação de gem permite que você selecione se um gem será somente de ativos ou se dará suporte a códigos e ativos.

    • Agora você pode gravar um resumo de gem durante o processo de criação de gems. Para editar resumos para gems existentes, você deve editar manualmente o arquivo gem.json para o gem.

    • Se você não ativou o recurso Compile game code no Assistente de configuração Lumberyard, a interface de criação de gems será padrão para um tipo de gem Assets Only. Se você selecionar o tipo de gem Code and Assets, uma mensagem de aviso aparecerá indicando que você deve habilitar o recurso Compile game code para terminar a configuração e usar seu gem.

    • As mensagens de erro agora aparecem ao lado do campo relevante, ocorrem instantaneamente quando um erro é feito e limpam assim que o erro é resolvido.

    • Um novo botão de ajuda na interface de criação de gem redireciona para a página de ajuda Gems.

    • Os gems que você cria são ativados automaticamente para o seu projeto atual. Você deverá clicar em Save no Configurador de projetos para salvar estas alterações.

    • A dica para o campo de entrada Gem name foi atualizada para refletir os padrões de nomeação. Os nomes dos gems não devem conter espaços.

Geppetto

  • O recurso Live Reload agora oferece suporte a arquivos .chrparams.

Lua

  • Quando ocorre um erro no Lua, o rastreamento da pilha não trunca mais o nome do arquivo.

  • As propriedades no Lua agora incluem contêineres de referências de entidade que podem ser redimensionados.

  • Agora você pode usar o Lua IDE para visualizar variáveis dentro de uma tabela.

  • Ao adicionar propriedades a um script Lua que é referenciado por uma fatia dinâmica (sem enviar a nova propriedade), referenciar essa propriedade agora resulta em uma mensagem de aviso mais útil.

  • Os métodos padrões de cache do Lua foram alterados para referências fracas, incluindo referências EBus à tabela anexada.

Mannequin

  • Agora você pode editar o campo Time nas propriedades do clipe de animação.

  • Agora você pode adicionar seleções em massa, arrastando e soltando a partir do Geppetto para o painel Mannequin Fragments.

  • Agora você pode editar a exibição do código de tempo para ir diretamente para o tempo na animação em vez de limpar os controles de tempo.

  • O menu File agora lista as visualizações usadas mais recentemente.

  • A última visualização exibida agora é carregada automaticamente ao abrir o editor do Mannequin.

  • O menu Context agora inclui várias ações do painel Fragments.

  • Há suporte para ações de seleção múltipla.

Maya

  • O plug-in Maya agora oferece suporte ao Maya 2017.

Mobilidade

  • Para Android e iOS, os banners de inicialização foram adicionados para exibir se o armazenamento interno ou VFS está configurado para servir arquivos de jogos. Isso pode ajudar a evitar a configuração incorreta e confusão sobre a localização de arquivos.

Redes

  • A amostra multijogador agora tem suporte para Android, iOS e Linux.

  • O MultiplayerLobby agora oferece suporte a serviços para console específicos e mensagens de erro.

  • Há suporte para processamento de não funcionamento agora pela separação das etapas de réplica de marshal e unmarshal para reduzir a latência.

  • A porta de escuta padrão agora é definida como 30090 para todos os sistemas operacionais.

Editor de partículas

  • Um componente refatorar Particle inclui dicas e nomes de ferramentas mais precisos para configurações, suporte para pedidos de EBus e múltiplas correções de bugs.

  • O componente Particle agora inclui tamanho de partícula X, Y e aleatória.

  • O componente Particle agora oferece suporte à ativação e desativação de LOD de partículas.

  • O componente Particle agora oferece suporte a tons de cores de seus emissores.

  • O componente Particle não permite mais a seleção de origem de nível de partículas. Todas as bibliotecas são atribuídas a partir de ativos da biblioteca de partículas XML. Recomendamos que você mova todas as bibliotecas de nível de partículas para uma biblioteca XML. Lumberyard substituirá a biblioteca de nível em uma versão futura.

  • Parallax e Lighting agora oferecem suporte à escalabilidade não uniforme.

  • O multiplicador de cores do terreno herdado e as configurações de geração de textura de alta qualidade foram removidos do processo de criação de novos níveis.

Componente de física

  • Os componentes Static Physics e Rigid Body Physics substituem o componente Physics. Os dados das versões anteriores serão automaticamente convertidos quando carregados, mas você deve salvar os dados para que a conversão seja permanente.

  • O componente Physics detecta automaticamente colisões em uma entidade filho. Anteriormente você precisava configurar manualmente quais entidades filho contribuiriam com colisão.

  • A chamada PhysicsSystemRequestBus RayCast agora retorna vários acertos.

Configurador de projetos

  • A caixa de diálogo New Project agora foca na entrada de texto conforme o esperado.

  • A caixa de diálogo Create Gem agora se concentra nos campos seguintes ou anteriores quando você pressiona Tab ou Shift+Tab.

  • A caixa de diálogo Create Gem agora tenta criar um gem quando você pressiona Enter.

Twitch ChatPlay

  • A conexão lógica de fallback foi aprimorada para que o Twitch ChatPlay possa recuar se uma conexão websocket do Twitch ChatPlay não puder se conectar diretamente ao Twitch IRC.

  • O nível de amostra do Metastream atualizou os controles de câmera e usuário para combinar o nível Controllable Chicken.

  • O Twitch ChatPlay agora pode enviar sussuros por websockets se a conexão IRC direta falhar.

  • O nível TwitchChatBasics agora tem um gráfico de fluxo e interface do usuário simples para demonstrar como usar a funcionalidade Whisper do Twitch ChatPlay.

UI Editor

  • Agora você pode editar texto de várias linhas no componente Text Input.

  • O UI Editor agora oferece suporte para alternar entre idiomas.

  • Os seguintes nós do Fluxograma foram adicionados:

    • Os nós UiTransformComponent para obter e definir a posição e rotação de um elemento

    • Os nós UiElementComponent para obter os nós pai e filho

Realidade virtual

  • A variável do console hmd_debug é denominada hmd_debug_info.

Diversos

  • O arquivo lmbr.exe agora aceita um comando que retorna o projeto ativo atual.

  • Se um ativo falhar ao criar, todas as referências a esse ativo no editor exibirão um ponto de exclamação (!). Você pode clicar no ponto de exclamação para ver o log de compilação do ativo.

  • O sistema de entrada foi simplificado ao manipular entradas analógicas e digitais com uma única entrada. Os seguintes comportamentos foram convertidos para script: seguro, pressionado e lançado.

  • A entrada agora possui uma pilha de contexto que você pode manipular usando InputRequestBus no código ou script.

  • Os componentes de configuração de entrada agora possuem uma série de contextos participantes. O contexto padrão é "" e é ativado quando especificamente pressionado e se a pilha estiver vazia.

  • A entrada filtrada é agora tratada usando o InputEventNotificationBus e convertido em GameplayNotification no script.

  • As vinculações de entrada agora padrão para o teclado em vez de um dispositivo nulo.

  • Agora você pode consultar descendentes de pesquisa de uma entidade usando o TransformBus.

  • O GameplayNotificationBus não segue mais um modelo e agora usa AZStd::any para seu argumento.

  • A API GameplayNotificationBus foi alterada para OnEventBegin, OnEventUpdating, OnEventEnd.

  • O AZStd::dynamic_pointer_cast agora está disponível somente se o RTTI do compilador estiver habilitado.

  • O AZStd::rtti_pointer_cast agora é uma extensão para conversão shared_ptrs usando objetos que tenham AZ_RTTI.

  • O AZStd::reinterpret_pointer_cast agora é adicionado para corresponder ao padrão C ++ 11.

  • O AZStd::polymorphic_pointer_cast foi removido.

  • Um novo tipo denominado AZStd::any permite que você armazene e aceite como um parâmetro qualquer tipo que seja conhecido por AZ_TYPE_INFO ou AZ_RTTI. O novo tipo é usado pelo GameplayNotificationBus e pode ser passado de e para Lua.

  • O sistema de compilação agora está exposto a sinalizadores de compilação para proteção de estouro de pilha/buffer e alocação de layout de espaço de endereço.

  • O /GS (MSVC) agora é ativado por padrão no servidor dedicado, depura destinos e é controlado por destino em todas as configurações.

  • O /DYNAMICBASE (MSVC) agora é ativado por padrão no servidor dedicado, depura destinos e é controlado por destino em todas as configurações.

  • Os seguintes parâmetros de compilação da linha de comando foram adicionados:

    • --use-asan – Ativa /GS em MSVC; usa -fsanitize para o endereço no Clang

    • --use-aslr – Ativa /DYNAMICBASE em MSVC; usar -fsanitize para a memória no Clang

  • As seguintes opções de configuração de destino foram adicionadas e podem ser configuradas por destino/configuração em wscripts:

    • use_asan

    • use_aslr

  • Há suporte agora para o comando map no modo de versão.