Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La mayoría de las propiedades del sombreador de Standard herramientas de gráficos se pueden animar mediante el sistema de animación integrado de Unity. Los materiales que se usan en los componentes de la interfaz de usuario de Unity no exponen sus propiedades de material al sistema de animación de Unity de forma predeterminada (ni admiten bloques de propiedades de material). Herramientas de gráficos contiene un sistema para admitir la animación de las propiedades de material de la interfaz de usuario de Unity.
El script de CanvasMaterialAnimatorGraphicsToolsStandardCanvas.cs expone todas las propiedades de material disponibles en el sombreador Herramientas de gráficos/Standard Canvas. Al agregar este componente a un objeto de juego UnityUI con CanvasRenderer se exponen las propiedades del material en el sistema de animación de Unity y se actualiza automáticamente el material correcto cuando se anima.
Nota:
CanvasMaterialAnimatorGraphicsToolsStandardCanvas.cs solo funciona con el sombreador Herramientas de gráficos/Lienzo de Standard. Para otros sombreadores, use su script de animación correspondiente. Por ejemplo, CanvasMaterialAnimatorCanvasBackplate.cs para el Graphics Tools/Canvas/Backplate
sombreador.
Uso mediante programación
Normalmente, el sistema de animación de Unity controla un animador de material de lienzo; sin embargo, es posible usar esta clase mediante programación. Después de cambiar cualquiera de los miembros de la clase, asegúrese de llamar al ApplyToMaterial
método . A continuación se muestra un ejemplo de pulsing de la cantidad de extrusión de vértices:
using UnityEngine;
public class ScriptedMaterialAnimation : MonoBehaviour
{
public CanvasMaterialAnimatorGraphicsToolsStandardCanvas Animator;
private void Update()
{
Animator._VertexExtrusionValue = Mathf.Lerp(0, 0.002f, (Mathf.Sin(Mathf.Repeat(Time.time, Mathf.PI * 2.0f)) + 1.0f) * 0.5f);
Animator.ApplyToMaterial();
}
}
Uso avanzado
Si inspecciona el contenido de CanvasMaterialAnimatorGraphicsToolsStandardCanvas.cs, hay código reutilizable que podría no sincronizarse con el sombreador Herramientas de gráficos o Standard Canvas. Afortunadamente, este código se genera automáticamente haciendo clic con el botón derecho en un sombreador de la ventana del proyecto y seleccionando Herramientas > gráficas Generar animador de material de lienzo.
Puede generar un animador de material de lienzo para cualquier sombreador que el proyecto necesite animar. Las propiedades del material se actualizarán en tiempo de edición y ejecución.
Nota:
De forma predeterminada, los animadores de material de lienzo funcionan en el material compartido del representador. Si desea que la animación solo afecte a un solo material, puede seleccionar la propiedad Materiales de instancia en el inspector del animador de material de lienzo. Esto asignará un nuevo material para cada instancia.
También merece la pena tener en cuenta que al animar materiales compartidos en tiempo de ejecución en las actualizaciones de materiales del editor se pueden serializar en el disco. Para evitarlo, Herramientas de gráficos usa el patrón MaterialRestorer.cs .