Animasi — MRTK3

Sebagian besar properti pada shader Standar Alat Grafis dapat dianimasikan menggunakan sistem animasi bawaan Unity. Bahan yang digunakan pada komponen UI Unity tidak mengekspos properti materialnya ke sistem animasi Unity secara default (juga tidak mendukung blok properti material). Alat Grafis berisi sistem untuk mendukung animasi properti material Antarmuka Pengguna Unity.

Skrip CanvasMaterialAnimatorGraphicsToolsStandardCanvas.cs memaparkan semua properti material yang tersedia di shader Alat Grafis/Kanvas Standar . Menambahkan komponen ini ke objek game UnityUI dengan CanvasRenderer akan mengekspos properti material ke sistem animasi Unity dan akan secara otomatis memperbarui materi yang benar ketika dianimasikan.

Catatan

CanvasMaterialAnimatorGraphicsToolsStandardCanvas.cs hanya berfungsi dengan alat grafis/shader Kanvas Standar . Untuk shader lain, gunakan skrip animasi yang sesuai. Misalnya, CanvasMaterialAnimatorCanvasBackplate.cs untuk Graphics Tools/Canvas/Backplate shader.

Penggunaan terprogram

Biasanya animator material kanvas didorong oleh sistem animasi Unity, namun, dimungkinkan untuk menggunakan kelas ini secara terprogram. Setelah mengubah salah satu anggota kelas, pastikan untuk memanggil ApplyToMaterial metode . Contoh pulsing jumlah ekstrusi puncak di bawah ini:

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();
    }
}

Penggunaan tingkat lanjut

Jika Anda memeriksa konten CanvasMaterialAnimatorGraphicsToolsStandardCanvas.cs, ada kode boilerplate yang dapat tidak sinkron dengan shader Alat Grafis/Kanvas Standar . Untungnya, kode ini dibuat secara otomatis dengan mengklik kanan shader di jendela proyek dan memilih Alat > Grafis Hasilkan Animator Bahan Kanvas.

Anda dapat menghasilkan animator material kanvas untuk shader apa pun yang perlu dianimasikan oleh proyek Anda. Properti material akan diperbarui pada waktu edit dan eksekusi.

Catatan

Secara default, animator material kanvas beroperasi pada materi bersama perender. Jika Anda ingin animasi hanya memengaruhi satu materi, Anda dapat memilih properti Materi Instans pada pemeriksa animator material kanvas. Ini akan mengalokasikan materi baru untuk setiap instans.

Perlu juga dicatat bahwa ketika meniru materi bersama pada durasi dalam pembaruan materi editor mungkin diserialisasikan ke disk. Untuk menghindari hal ini, Alat Grafis menggunakan pola MaterialRestorer.cs .

Lihat juga