Correcciones y obsolescencias de API - Notas de la versión de Lumberyard

Correcciones y obsolescencias de API

Lumberyard versión beta 1.24 resuelve problemas anteriores del cliente y actualiza versiones compatibles para bibliotecas, API y herramientas. Elija un área de temas para obtener más información acerca de las correcciones relacionadas.

Correcciones de errores

Asset Bundler

  • Se ha corregido un error que provocaba que el script de empaquetado de Contenido auxiliar no empaquetara correctamente gems.json.

  • Se ha corregido un error por el que las actualizaciones del catálogo de activos a partir del contenido del paquete no siempre se procesaban en el orden correcto sin utilizar la opción FLAGS_OVERRIDE_PAK al llamar a OpenPack.

  • El analizador de dependencias que faltan ya no genera un error con expresiones regex complejas.

  • Se ha corregido un error por el que Agrupador de activos no podía crear paquetes mientras el Procesador de activos estaba activo.

  • Se ha corregido un error por el que no se podían crear archivos de reglas de comparación utilizando AssetBundlerBatch.exe.

  • Se han corregido los mapas MIP que se incluían incorrectamente como activos de semilla en los archivos semilla enviados con Lumberyard. Esto no debería tener afectar de forma directa, ya que se está ajustando para un cambio en la forma en que el Agrupador de activos se encarga de las dependencias para texturas y sus mapas MIP. Como práctica recomendada, no incluya mapas MIP como semillas, ya que son dependencias de la textura base. Como resultado, el recuento de mapas MIP puede cambiar en función de la configuración de textura y la plataforma.

Procesador y canalización de activos

  • Se ha corregido un problema que provocaba el registro incompleto de Compiladores si se encontraba una DLL que no fuera de Compilador.

  • Se ha corregido un problema por el JobDependencyType::Orders encadenados no respetaban el orden después de que se encontrara la primera dependencia.

  • Se ha corregido un problema en el que el Procesador de activos permitía que un editor de un proyecto diferente se conectara sin errores, lo que podía provocar problemas no obvios.

  • Se ha corregido un problema con los archivos de metadatos (como .assetinfo) que no activaban un activo para reprocesarlo cuando se realizan cambios mientras el Procesador de activos no se está ejecutando

  • Se ha corregido un problema con la forma en que el Procesador de activos trata las carpetas eliminadas.

  • Se ha corregido un problema con la forma en que el Procesador de activos trata las carpetas eliminadas o renombradas al procesar archivos en esa carpeta.

  • Se ha corregido un error de bloqueo en la lógica de dibujo de miniaturas del Navegador de activos .

  • Se ha corregido un problema con el tiempo de espera de la Gema de contenido dinámico en las URL caducadas durante las descargas largas.

  • Se ha corregido un problema que provocaba que la ruta de destino no se actualizara al usar enablescm con el Reubicador de activos.

  • Se ha corregido un problema con el archivo natvis que se incluía varias veces en un archivo (.sln) de solución de Visual Studio.

  • Se ha corregido un error en el que el Procesador de activos escribía AssetCatalog.xml después de cada activo procesado. Ahora solo escribe en este archivo cuando está inactivo.

Audio

  • Se ha corregido un bloqueo de E/S al reproducir un sonido de bucle que tenía activado el streaming en Wwise.

  • Se ha eliminado la DLL del Editor de controles de audio obsoleta.

Cloud Canvas

  • Se han corregido problemas relacionados con las herramientas de contenido dinámico y Mac para el desarrollo de iOS.

  • Se ha corregido un problema que provocaba que los scripts de línea de comandos de Windows (.cmd) se basaran en el AWSPythonSDK obsoleto.

    Nota: esto podría ser un cambio importante si usa cleanup.cmd.

  • Se ha corregido un problema que provocaba un error al importar un recurso de una lista de activos.

Cloud Gem Framework

La gema Cloud Gem Framework tiene las siguientes correcciones:

  • Mejoras de seguridad implementadas en los paquetes utilizados en CloudGemPortal. Si su proyecto utiliza gemas en la nube, actualice el proyecto y las implementaciones para asegurarse de que se apliquen estas correcciones fundamentales.

EBus

  • Se ha agregado una afirmación cuando se destruye un EBus con un mutex no nulo y al menos una llamada funcional virtual sin desconexión.

    Nota: deberá desconectarse de cualquier EBus que cumpla estas condiciones antes de destruirlas. Esto siempre ha sido así, pero ahora recibe un mensaje de afirmación si no lo ha hecho.

Editor

  • Se ha corregido un error al intentar cambiar la configuración de un archivo de sector que aún no había procesado el Procesador de activos.

  • Se ha corregido un problema que provocaba que el filtrado de los valores de los parámetros de audio escribiendo «*» congelara el Editor.

  • Se ha corregido un bloqueo raro durante el inicio en BootProfiler.

  • Se ha corregido un problema provocado por que las funciones EditorVisibilityRequestBus no pasan a ser obsoletas correctamente. Las funciones obsoletas ahora se delegan en el EditorEntityInfoRequestBus.

EMotionFX (EMFX)

  • Se ha corregido un bloqueo que podía producirse si se eliminaba un Actor adjunto antes que el elemento principal.

  • Se ha corregido una advertencia relacionada con un script de Lua en la muestra de Rin .

  • Se ha corregido un problema que provocaba que el método TopDownUpdate() se llamara más de una vez en algunos casos porque recurría internamente utilizando el método incorrecto.

  • Se ha corregido un problema que provocaba que al limpiar mediante la grabadora se producían poses incorrectas en el personaje en algunos fotogramas.

  • Se ha eliminado una ventana de esquematizador antigua de los diseños del Editor de animación. Esto se utiliza para activar advertencias en el registro.

  • Se ha eliminado el puerto de peso en el nodo Gráfico de animación de objetos simulados y se ha reemplazado por un estado booleano. Hemos llegado a la conclusión de que mezclar los resultados dentro y fuera no funcionaba bien con las simulaciones físicas.

  • Se ha corregido un problema por el que, en raras ocasiones, la extracción de movimiento (movimiento raíz) podía provocar que una entidad de personaje se teletransporte al cambiar de un estado a otro.

  • Se ha corregido un problema que provocaba que al copiar y pegar el nodo BlendN y sus nodos de origen se establecieran valores incorrectos al agregar nuevas conexiones. Los parámetros del nodo ahora se actualizan correctamente o se borran al pegarlos.

  • Se ha corregido un problema que podía provocar un bloqueo al eliminar un gran número de grupos de nodos.

  • Se ha corregido un posible bloqueo al eliminar un parámetro asignado a una acción y guardar el gráfico de animación e intentar firmar otro parámetro con la misma acción.

  • Se ha corregido un posible bloqueo en el Editor al eliminar dos instancias de actor mientras se ha modificado una de las instancias.

  • Se ha corregido un problema con la ventana del Mando de juego que podía provocar un bloqueo.

  • Se ha corregido un problema que provocaba que un grupo de parámetros se asignara a sí mismo al seleccionar varios parámetros y grupos juntos.

  • Se ha mejorado un poco de código con el modelo de gráfico de animación y la edición de gráficos de animación. La edición de gráficos de animación es más estable y de confianza.

  • Se ha corregido un posible bloqueo al restablecer un espacio de trabajo vacío.

  • Al activar el gráfico desde el gráfico de referencia, ahora se activará correctamente el gráfico principal.

  • Los parámetros del gráfico de animación se borrarán al borrar el archivo de gráfico de animación seleccionado en el componente de gráfico de animación.

  • Se han corregido algunos problemas relacionados con activos de movimiento para StarterGame.

  • Los nodos Fuerza de ragdoll y Ragdoll ahora mostrarán los nombres de huesos correctos. Si solo se selecciona una articulación, la interfaz de usuario muestra ahora el nombre de la articulación en lugar de «1 articulación está seleccionada».

  • Se ha corregido un problema que ocurría al guardar un gráfico de animación editado que hacía referencia a otro gráfico que podía provocar que el otro gráfico desapareciera del panel de gráficos de animación.

  • El contenido del panel de parámetros seguirá siendo visible cuando se seleccionen varias instancias de actor.

  • Los parámetros y grupos de parámetros ya no comparten el mismo nombre. Los activos antiguos con un grupo de parámetros y parámetros compartidos todavía se pueden cargar, pero recomendamos cambiar el nombre en al menos uno de los dos.

  • Se han corregido algunos problemas en las máscaras de parámetros. Ahora, una máscara de parámetros no se restablecerá después de editar el parámetro o editar el gráfico de animación.

  • Se ha corregido un problema en el que era posible crear una conexión no válida mediante las operaciones Deshacer y Rehacer.

  • Se ha corregido un bloqueo que podía ocurrir al establecer un nodo de referencia secundario en un gráfico con un nodo de referencia principal.

  • La primera articulación del objeto simulado ya no se puede desanclar mediante una operación de edición masiva. Dado que la primera articulación siempre estará anclada, también eliminamos la opción de anclar para la primera articulación de objeto simulado para evitar confusiones.

  • Las operaciones Deshacer que eliminan las condiciones de transición ahora vuelven a agregar las condiciones en el orden correcto.

  • Las operaciones Deshacer que eliminan un parámetro tag/float ahora restauran las etiquetas/parámetro en una condición de transición de etiqueta/parámetro.

  • Se ha corregido un posible bloqueo que se producía al activar acciones de estado al entrar en ese estado.

  • Se ha corregido un error de ragdoll que explotaba cuando el nodo raíz del ragdoll no era el primer nodo de la configuración del ragdoll.

  • El nodo Activar ragdoll ahora comprueba si la máscara simulada contiene el nodo raíz del ragdoll y solo aplica la extracción de movimiento en ese caso.

  • Se ha corregido un posible bloqueo al eliminar movimientos después de guardar los movimientos modificados.

  • Se ha corregido un error en el filtro de búsqueda de la ventana de parámetros del gráfico de animación.

  • Se han corregido los colisionadores de detección de golpes/ragdoll y de tela que se crearon con tamaño cero debido a que los OBB tenían un tamaño cero.

  • Se ha corregido un posible bloqueo después de grabar un gráfico de animación en el Editor de animación y, a continuación, habilitar el modo IA/física en el Editor.

  • Se ha corregido un error en el compilador de activos de gráficos de animación relacionado con gráficos de animación de referencia.

  • Se han corregido las opciones de alineación en el menú contextual de la ventana de gráficos de animación para que ahora funcionen correctamente.

  • La eliminación de una pista de eventos en la vista de tiempo ahora está registrada en el historial de acciones y se puede deshacer.

  • El archivo preestablecido de eventos de movimiento ahora se desactiva automáticamente al guardarlo.

Gráficos

  • Se ha corregido un bloqueo cuando e_shadowsCascadesDebug se habilitaba en un dispositivo con GMEM habilitado.

  • Se ha corregido un problema que provocaba que algunas texturas se evaluaran incorrectamente durante la carga y streaming.

  • Se ha corregido un problema que provocaba que algunos errores no se devolvieran correctamente en DX12.

  • Se ha corregido un problema que provocaba que algunas comparaciones de DirectX utilizaran de forma incorrecta la comparación binaria en lugar de booleana.

Móvil

  • Se ha corregido Android e iOS para que las texturas exportadas con espacio de color lineal se representen correctamente.

  • Se ha corregido un problema que provocaba que un operador de mayor prioridad cambiara el resultado de las comparaciones.

Física

  • Se ha corregido un problema que provocaba que los archivos de configuración de física no se cargaran en las compilaciones de versiones. Un síntoma del error es que los materiales establecidos en los componentes del colisionador PhysX no se cargarán en versiones de lanzamiento.

  • Se ha corregido un error que provocaba que los objetos con el componente Cuerpo rígido de PhysX se vieran afectados por la gravedad cuando se activaban a pesar de que estuviera habilitada la opción Iniciar en reposo.

  • Se ha corregido un problema que provocaba que los nodos de consulta de escenas de PhysX rompían los scripts existentes.

  • Se ha corregido un problema que hacía que la flecha de depuración no se viera si se asocia una región de fuerza al componente de colisionador de formas.

  • Se ha corregido un problema que provocaba que la forma de colisionador de PhysX no se actualizara en la perspectiva del editor.

  • Se ha corregido un error que provocaba que la forma de cápsula tuviera una altura menor que el radio de la forma de cápsula sin ningún efecto.

  • Se ha corregido un problema que provocaba que la altura de forma de polígono se podía establecer en un valor negativo.

  • Se ha corregido un bloqueo al presionar [Esc] después de cambiar y seleccionar un valor en el Editor.

  • Se ha corregido un error en el componente Tela que provocaba un error visual durante el movimiento de la cámara al cambiar la configuración de viento.

  • Se ha corregido un problema con las regiones de fuerza de PhysX donde la amortiguación lineal con valores altos aplicados a las entidades provocaba que se desplazaran de forma errática hacia arriba y hacia abajo y luego se dispararan hacia arriba a alta velocidad.

  • Se ha corregido un problema del colisionador de PhysX en el que los valores de desplazamiento no se aplicaban correctamente en el Editor de Lumberyard.

  • Se ha corregido un problema del servidor Linux por el que las gemas PhysX habilitadas en Ubuntu 18.04.2 LTS provocaban un apagado inmediato.

  • Se ha corregido un error que provocaba que la realización de una acción después de hacer una referencia del componente de forma compuesta a sí mismo mediante la ventanilla diera lugar a un golpe en una aserción.

  • Se ha corregido un error que provocaba que los colisionadores no utilizaran la escala correcta en el modo Juego.

  • Se ha corregido un problema de Lumberyard v1.22 por el que una malla CryPhysics no respetaba la escala.

  • Se ha corregido una incoherencia en la implementación de valores de configuración global.

  • Se ha corregido un problema con las regiones de fuerza de PhysX en el que los valores de densidad muy alta para fuerza de arrastre sencillo provocaban un error.

  • Se ha corregido un problema que provocaba un error en la creación de la gema de Tela NVIDIA con Visual Studio 2019.

  • Se ha corregido un bloqueo observado al cambiar a un nuevo nivel en el proyecto de muestras.

  • Se ha corregido un problema que provocaba que el botón IA/física se desvinculara con respecto a los comportamientos de física definidos previamente.

  • Se ha corregido un problema por el que una política de conexión personalizada de EBus pasaba argumentos no válidos a ConnectionPolicy::Disconnect()

  • Se ha corregido un error que provocaba que el colisionador/cuerpo de cuadricóptero de PhysXSamples no estuviera sincronizado con la malla de renderizado.

  • Se ha corregido un problema por el que SystemComponent de gema de PhysX no actualizaba una referencia de activos de biblioteca de materiales predeterminada si se volvía a cargar.

  • Se ha agregado una aserción sobre la destrucción de PhysXColliderComponent en el Editor y MeshColliderComponent en el juego.

  • Se ha corregido un problema donde la llamada a EditContext::UIElement con el tipo UIHandlers::CheckBox no mostraba realmente una casilla de verificación en el editor.

  • Se ha corregido un bloqueo que se producía al crear un nuevo nivel a partir de un nivel ya abierto.

  • Se ha corregido la transformación de postura de cuerpo rígido para que se actualice correctamente si la entidad asociada se mueve cuando la física se deshabilita y luego se vuelve a habilitar.

  • Se han corregido las consultas de escena de PhysX de Script Canvas para que no mostraran advertencias con un grupo de colisiones vacío.

  • Se ha corregido un problema que provocaba que los nodos de consulta de escenas de PhysX interrumpieran scripts existentes.

  • Se ha corregido un problema que provocaba que una propiedad de material de física no se exportara correctamente a la configuración de versión.

  • Se ha corregido un error que provocaba que los objetos con el componente Cuerpo rígido de PhysX se vieran afectados por la gravedad cuando se activaban a pesar de que la opción «Empezar inactivo» estuviera activada.

  • Se ha corregido un problema que provocaba que PVD no se deshabilitara en la compilación de la versión.

Script Canvas

  • El Componente de etiqueta AddTags ahora aplica las etiquetas correctamente.

  • Al cerrar el Editor ya no se muestra un error de aserción.

  • Los Eventos de script recién creados en el Editor de activos con uno o varios eventos ya no lanza errores en la Consola al guardar.

  • El Editor de Lua ya no se bloquea cuando se reemplaza todo el texto con la opción de ajuste habilitada.

  • Se ha agregado validación para evitar varios Eventos de secuencia con el mismo nombre, lo que anteriormente hacía que el método de Evento de script se ejecutara dos veces.

  • Se ha corregido el comportamiento al guardar marcadores de Script Canvas que contienen números.

  • Se ha corregido un problema que provocaba que los nodos de Script Canvas se corrompieran después de realizar acciones Deshacer y Rehacer de mostrar y ocultar las ranuras de nodos no utilizadas mediante métodos abreviados de teclado.

  • Al guardar un Script Canvas con un nodo con un campo de texto extendido ahora se mantiene el tamaño del campo de texto.

  • Los valores devueltos del Evento de script se tratan correctamente.

  • Si se reduce el zoom, al hacer doble clic en un error/advertencia, la Vista de lienzo ya no se acercará.

  • Se ha corregido el acoplamiento de nodos cuando se utiliza un nodo EBus.

  • Se ha corregido el comportamiento al comparar valores de punto flotante.

  • Se ha eliminado el nodo Negar color.

  • Se ha corregido el comportamiento del menú contextual Editar Script Canvas.

Sectores

  • Se ha cambiado la forma en que funciona la opción Seleccionar raíz de sector > para evitar que los sectores anidados muy profundamente llenen la pantalla. La opción de clic con el botón derecho se ha rediseñado para que coincida con la navegación del Esquema de entidades con las teclas de flecha:

    • Ctrl+Arriba selecciona la primera raíz del sector encima de la selección en la lista.

    • Ctrl+Abajo selecciona la primera raíz debajo de la selección.

    Los controles son ahora relativos a la lista en lugar de a la jerarquía.

  • Al realizar cambios en un sector existente, al guardar ya no se reordenarán los ID asociados.

  • Cuando se guardan los sectores, ya no se muestra una advertencia en la Consola acerca de que SetRotation se ha dado de baja.

Sistema de compilación de Waf

  • Se ha corregido un problema con Visual Studio 16.6.0 que ocasionaba que algunos proyectos no se compilaran.

  • Se ha corregido un problema por el que los módulos de usuario que no están incluidos explícitamente en la especificación no se agregaban a los proyectos de Android Studio generados.

  • Se ha corregido un problema al generar una compilación dedicada de depuración cuando la gema Ejemplo de registro de escenas está habilitada.

  • Se ha corregido un problema al generar una compilación sin encabezados precompilados.

IU (LyShine)

  • Se ha corregido un error que permitía que los cuadros de desplazamiento dinámicos hicieran referencia a sí mismos provocando una generación infinita.

  • Se ha corregido un error en el que los elementos que se destruían a sí mismos provocaban un bloqueo.

  • Se ha corregido el bloqueo al utilizar nullptrs con nodos Anclajes de IU, Desplazamientos de IU o Rellenado de IU.

API obsoletas

Las siguientes API se han dado de baja en Lumberyard Beta v1.24:

  • Las siguientes API se han dado de baja en PhysX::ColliderComponentRequestBus:

    • GetShapeConfigFromEntity(): en su lugar utilice GetShapeConfigurations(). Este método devuelve un vector que contiene un par {ColliderConfiguration, ShapeConfiguration} para cada forma.

    • GetColliderConfig(): en su lugar utilice GetShapeConfigurations(). Este método devuelve un vector que contiene un par {ColliderConfiguration, ShapeConfiguration} para cada forma.

    • GetShape(): en su lugar utilice GetShapes(). Este método devuelve un vector de punteros Shape.

    • GetNativePointer(): en su lugar utilice GetShapes(). Este método devuelve un vector de punteros Shape que se pueden iterar y se puede llamar a GetNativePointer() en cada Shape.

  • Las siguientes API de I3DEngine::Terrain han quedado obsoletas:

    virtual float GetTerrainElevation(float x, float y, int nSID = DEFAULT_SID) = 0; virtual float GetTerrainZ(int x, int y) = 0; virtual float GetTerrainSlope(int x, int y) = 0; virtual int GetTerrainSurfaceId(int x, int y) = 0; virtual bool GetTerrainHole(int x, int y) = 0; virtual Vec3 GetTerrainSurfaceNormal(Vec3 vPos) = 0; virtual int GetHeightMapUnitSize() = 0; virtual int GetTerrainSize() = 0; virtual int GetTerrainSectorSize() = 0; virtual bool IsTerrainActive() = 0;

    Todos los servicios API relacionados con el terreno ahora están disponibles a través de AzFramework::Terrain::TerrainDataRequestBus.

  • Las siguientes API de ColliderComponentRequestBus se han dado de baja:

    • IsStaticRigidBody()

    • GetStaticRigidBody()

    Utilice el nuevo componente de tiempo de ejecución StaticRigidBodyComponent en su lugar.

  • Las siguientes API PhysX::SystemRequests están obsoletas:

    • PhysX::SystemRequests::CookTriangleMeshToMemory()

    • PhysX::SystemRequests::CookTriangleMeshToFile()

    • PhysX::SystemRequests::CookConvexMeshToMemory()

    • PhysX::SystemRequests::CookConvexMeshToFile()

    Se han movido a la clase PhysX::SystemRequestsBus:

    • PhysX::SystemRequestsBus::CookTriangleMeshToMemory()

    • PhysX::SystemRequestsBus::CookTriangleMeshToFile()

    • PhysX::SystemRequestsBus::CookConvexMeshToMemory()

    • PhysX::SystemRequestsBus::CookConvexMeshToFile()

  • Las siguientes API de la clase RayCastWorldSpace (definidas en WorldNodes.h) han quedado obsoletas:

    RayCastLocalSpace() RayCastMultipleLocalSpace() OverlapSphere() OverlapBox() OverlapCapsule() OverlapQuery() ShapecastQuery() SphereCast() BoxCast() CapsuleCast()
  • Las siguientes macros para compiladores heredados han quedado obsoletas:

    AZ_STATIC_ASSERT AZSTD_STATIC_ASSERT_BOOL_CAST AZ_HAS_NULLPTR_T AZSTD_UNDERLAYING_TYPE AZ_HAS_INITIALIZERS_LIST AZ_HAS_TEMPLATE_ALIAS AZ_DELETE_METHOD = delete AZ_DEFAULT_METHOD = default AZ_RESTRICT __restrict AZ_FUNCTORALLOCATOR_CONSTEXPR constexpr
  • Otros cambios en la API:

    • Las siguientes API se cambiarán para usa AZ::EntityId en lugar de AZ::Entity* en una versión futura:

      • EditorEntityContextRequests::CreateEditorEntity()

      • EditorEntityContextRequests::CreateEditorEntityWithId()

      • EntityCompositionRequests::AddExistingComponentsToEntity()

      Dado que no puede sobrecargar un método solo por tipo de devolución, hemos creado métodos complementarios que puede usar y evitar un cambio importante:

      • EditorEntityContextRequests::CreateNewEditorEntity()

      • EditorEntityContextRequests::CreateNewEditorEntityWithId()

      • EntityCompositionRequests::AddExistingComponentsToEntityById()

      Estos métodos realizan las mismas acciones, solo que devuelven una AZ::EntityId en lugar de una AZ::Entity*.

    • Debido a los cambios en la forma en que las Capas afectan a la visibilidad de las Entidades del editor en la ventanilla, llamar a GetCurrentVisibility() o SetCurrentVisibility() con frecuencia dará lugar a resultados contradictorios. Por tanto, los estamos dando de baja.

      En su lugar, llame a EditorEntityInfoRequests::IsVisible() para verificar la visibilidad de la entidad. Para establecer la visibilidad de la entidad, llame a EditorEntityHelpers::SetEntityVisibility(). También puede escuchar EditorEntityVisibilityNotifications::OnEntityVisibilityChanged y realizar un seguimiento del estado internamente.