Penargetan ulang animasi Humanoid
Referensi Animasi

Kinerja dan optimalisasi

Halaman ini berisi beberapa tips untuk membantu Anda mendapatkan kinerja terbaik di Unity, meliputi sistem animasi dan optimasi jangka waktu.

Sitemap Untuk tips tentang pemodelan karakter Anda dalam aplikasi 3d untuk kinerja terbaik di Unity, lihat Note:.Merancang karakter untuk kinerja optimal.

Sistem animasi

Controllers

Animator tidak menghabiskan waktu pemrosesan ketika Controller tidak diatur ke dalamnya.

Animasi sederhana

Bermain satu Klip AnimasiAnimasi data yang dapat digunakan untuk karakter animasi atau animasi sederhana. Ini adalah bagian "unit" sederhana dari gerakan, seperti (salah satu contoh spesifik) "Idle", "Walk" atau "Run". More info
Lihat di Glossary
tanpa campuran dapat membuat Unity lebih lambat dari sistem animasi legacy. Sistem lama sangat langsung, pengambilan kurva dan menulis langsung ke transformasi. Sistem animasi arus Unity memiliki penyangga sementara yang digunakan untuk pencampuran, dan ada salinan tambahan kurva sampel dan data lainnya. Tata letak sistem saat ini dioptimalkan untuk pencampuran animasi dan pengaturan yang lebih kompleks.

Kurva skala

Kurva skala yang menarik lebih mahal daripada menimbulkan terjemahan dan kurva rotasi. Untuk meningkatkan kinerja, hindari animasi skala.

Sitemap Ini tidak berlaku untuk kurva konstan (perkuatan yang memiliki nilai yang sama untuk panjang Note:). Kurva konstan dioptimalkan, dan kurang mahal bahwa kurva normal. Kurva konstan yang memiliki nilai yang sama sebagai nilai default klip animasi tidak menulis ke adegan setiap bingkai.sceneAdegan berisi lingkungan dan menu permainan Anda. Pikirkan setiap file Adegan unik sebagai tingkat yang unik. Di setiap Adegan, Anda menempatkan lingkungan, hambatan, dan dekorasi, pada dasarnya merancang dan membangun permainan Anda dalam potongan-potongan. More info
Lihat di Glossary
values do not write to the scene every frame.

Layers

Sebagian besar waktu Unity mengevaluasi animasi, dan menjaga overhead untuk lapisan animasiLapisan Animasi mengandung Mesin Negara Animasi yang mengontrol animasi model atau bagian darinya. Contoh ini adalah jika Anda memiliki lapisan tubuh penuh untuk berjalan atau melompat dan lapisan yang lebih tinggi untuk gerakan tubuh atas seperti membuang objek atau menembak. Lapisan yang lebih tinggi mengambil precedence untuk bagian tubuh yang mereka kontrol. More info
Lihat di Glossary
dan Mesin Negara AnimasiGrafik dalam Animator Controller yang mengontrol interaksi Amerika Animasi. Setiap state merujuk Pohon Animasi Blend atau Klip Animasi tunggal. More info
Lihat di Glossary
untuk minimum. Biaya menambahkan lapisan lain ke animator, disinkronkan atau tidak, tergantung pada apa animasi dan pohon campuran dimainkan oleh lapisan. Ketika berat lapisan nol, Unity melewatkan pembaruan lapisan.

Humanoid vs. Jenis animasi generik

Ini adalah tips untuk membantu Anda memutuskan antara jenis ini:

  • Saat mengimpor Humanoid animationAnimasi menggunakan kerangka humanoid. Model humanoid umumnya memiliki struktur dasar yang sama, mewakili bagian artculate utama tubuh, kepala dan anggota badan. Ini memudahkan untuk memetakan animasi dari satu kerangka humanoid ke yang lain, memungkinkan penargetan ulang dan kinematik terbalik. More info
    Lihat di Glossary
    menggunakan masker AvatarAntarmuka untuk penargetan ulang animasi dari satu rig ke yang lain. More info
    Lihat di Glossary
    (kelas-AvatarMask) untuk menghapus Tujuan IK atau animasi jari jika Anda tidak membutuhkannya.
  • Ketika Anda menggunakan Generik, menggunakan root motionGerak simpul akar karakter, apakah itu dikendalikan oleh animasi itu sendiri atau eksternal. More info
    Lihat di Glossary
    lebih mahal daripada tidak menggunakannya. Jika animasi Anda tidak menggunakan gerakan akar, pastikan bahwa Anda belum menentukan tulang akar.

Optimasi tingkat adegan

Ada banyak optimasi yang dapat dibuat, beberapa tips berguna meliputi:

  • Menggunakan hashes bukan string untuk meminta Animator.
  • Menerapkan lapisan AI kecil untuk mengontrol Animator. Anda dapat membuatnya memberikan callback sederhana untuk OnStateChange, OnTransitionBegin, dan acara lainnya.
  • Gunakan Tag Negara untuk dengan mudah mencocokkan AI state machineSatu set negara di Animator Controller yang karakter atau animasi GameObject dapat masuk, bersama dengan satu set transisi antara negara-negara tersebut dan variabel untuk mengingat keadaan saat ini. Negara-negara yang tersedia akan tergantung pada jenis gameplay, tetapi keadaan khas termasuk hal-hal seperti idling, berjalan, berjalan dan melompat. More info
    Lihat di Glossary
    Anda ke mesin state Unity.
  • Gunakan kurva tambahan untuk mensimulasikan peristiwa.
  • Gunakan kurva tambahan untuk menandai animasi Anda; misalnya, bersama dengan pencocokan targetFungsi scripting yang memungkinkan Anda untuk memindahkan karakter dengan cara seperti tanah tangan atau kaki di tempat tertentu pada waktu tertentu. Misalnya, karakter mungkin perlu melompat di batu-batu atau melompat dan mengambil balok overhead. More info
    Lihat di Glossary
    .

Optimasi Runtime

Visibility and updates

Selalu mengoptimalkan animasi dengan mengatur Modus aimators ke Based on Renderers, dan menonaktifkan properti renderer mesh berkelok-kelokUpdate When Offscreen. Ini menyimpan Unity dari animasi updating ketika karakter tidak terlihat.

Penargetan ulang animasi Humanoid
Referensi Animasi