Menjalankan skrip Unity mengeksekusi sejumlah fungsi acara dalam urutan yang telah ditentukan. Halaman ini menjelaskan fungsi acara tersebut dan menjelaskan bagaimana mereka masuk ke urutan eksekusi.
Diagram di bawah meringkas bagaimana perintah Unity dan mengulangi fungsi acara selama masa pakai skrip.
Untuk informasi lebih lanjut tentang berbagai fungsi acara, lihat bagian berikut:
Note: Beberapa browser tidak mendukung file gambar SVG. Jika gambar di atas tidak ditampilkan dengan benar (misalnya, jika Anda tidak dapat melihat teks apa pun), silakan coba browser lain, seperti Mozilla Firefox atau Mozilla Firefox.
Fungsi-fungsi ini disebut ketika permulaan 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 (sekali untuk setiap objek di tempat kejadian).
Perhatikan bahwa untuk objek yang ditambahkan ke tempat kejadian, Awake dan fungsi OnEnable untuk all scriptsSepotong kode yang memungkinkan Anda untuk membuat Komponen Anda sendiri, memicu peristiwa permainan, memodifikasi sifat komponen dari waktu ke waktu dan menanggapi input pengguna dengan cara apa pun yang Anda sukai. More info
Lihat di Glossary akan disebut sebelum Mulai, Update, dll disebut untuk salah satu dari mereka. Secara alami, ini tidak dapat ditegakkan ketika Anda meluruskan objek selama gameplay.
Untuk objek yang merupakan bagian dari aset adegan, fungsi Start disebut pada semua skrip sebelum Update, dll disebut untuk salah satu dari mereka. Secara alami, ini tidak dapat ditegakkan ketika Anda meluruskan objek selama gameplay.
Ketika Anda melacak logika permainan dan interaksi, animasi, posisi cameraKomponen yang menciptakan gambar sudut pandang tertentu di tempat kejadian Anda. Output ditarik ke layar atau ditangkap sebagai tekstur. More info
Lihat di Glossary, dll., ada beberapa peristiwa yang berbeda yang dapat Anda gunakan. Pola umum adalah melakukan sebagian besar tugas dalam fungsi Update, tetapi ada juga fungsi lain yang dapat Anda gunakan.
FixedUpdate: FixedUpdate sering disebut lebih sering daripada Update. Ini dapat disebut beberapa kali per bingkai, jika tingkat bingkai rendah dan mungkin tidak disebut antara bingkai sama sekali jika tingkat bingkai tinggi. Semua perhitungan fisika dan pembaruan terjadi segera setelah FixedUpdate. Ketika menerapkan perhitungan pergerakan di dalam FixedUpdate, Anda tidak perlu menggandakan nilai Anda sebesar Time.deltaTime. Ini karena FixedUpdate disebut pada timer yang andal, independen dari tingkat bingkai.
Update: Update disebut sekali per bingkai. Ini adalah fungsi pekerja utama untuk pembaruan bingkai.
LateUpdate: LateUpdate disebut sekali per frame, setelah Update selesai. Setiap perhitungan yang dilakukan pada Update akan selesai ketika LateUpdate dimulai. Penggunaan umum untuk LateUpdate akan menjadi kamera orang ketiga berikut. Jika Anda membuat karakter Anda bergerak dan berubah dalam Update, Anda dapat melakukan semua gerakan kamera dan perhitungan rotasi di LateUpdate. Ini akan memastikan bahwa karakter telah pindah sepenuhnya sebelum kamera melacak posisinya.
Secara umum, Anda tidak boleh mengandalkan pesanan di mana fungsi acara yang sama diinjak untuk GameObjects yang berbeda - kecuali ketika pesanan didokumentasikan secara eksplisit atau diatur. (Jika Anda membutuhkan kontrol yang lebih halus dari loop pemain, Anda dapat menggunakan API documentation.)
Anda tidak dapat menentukan pesanan di mana fungsi acara disebut dengan berbagai kasus subklas MonoBehaviour yang sama. Sebagai contoh, fungsi Update dari satu MonoBehaviour mungkin disebut sebelum atau setelah fungsi Update untuk MonoBehaviour yang sama pada GameObject lain — termasuk orang tua atau anak sendiri GameObjects.
Anda dapat menentukan bahwa fungsi acara dari satu subclass MonoBehaviour harus divoked sebelum mereka dari subclass yang berbeda (menggunakan panel Order Eksekusi Script dari jendela Pengaturan Proyek). Misalnya, jika Anda memiliki dua skrip, EngineBehaviour dan SteeringBehaviour, Anda dapat mengatur Order Eksekusi Script seperti EngineBehaviours selalu diperbarui sebelum SteeringBehaviours.
Fungsi ini dan Penanda ProfilerJendela yang membantu Anda untuk mengoptimalkan permainan Anda. Ini menunjukkan berapa banyak waktu yang dihabiskan di berbagai bidang permainan Anda. Sebagai contoh, dapat melaporkan persentase waktu yang dihabiskan rendering, aimating, atau dalam logika permainan Anda. More info
Lihat di Glossary disebut ketika Unity mengevaluasi sistem Animasi.
Sitemap Selama langkah OnStateMachineEnter:, callback ini disebut pada bingkai pembaruan pertama ketika mesin state controller membuat transisi yang mengalir melalui keadaan Masuk. Ini tidak disebut untuk transisi ke sub-state State Machine Update.StateMachine
AnimatorController atau AnimatorOverrideController atau AnimatorControllerPlayable) dalam grafik animasi.
Note: Menambahkan panggilan ini ke komponen StateMachineBehaviour menonaktifkan evaluasi 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.
Sitemap Selama langkah OnStateMachineExit:, callback ini disebut pada bingkai pembaruan terakhir ketika mesin state controller membuat transisi yang mengalir melalui keadaan Keluar. Ini tidak disebut untuk transisi ke sub-state State Machine Update.StateMachine
AnimatorController atau AnimatorOverrideController atau AnimatorControllerPlayable) dalam grafik animasi.
Note: Menambahkan panggilan ini ke komponen StateMachineBehaviour menonaktifkan evaluasi mesin state multithreaded.
Sitemap Panggilan semua acara animasi dari semua klip yang dicontoh antara waktu pembaruan terakhir dan waktu pembaruan saat ini.Fire Animation EventsAllows you to add data to an imported clip which determines when certain actions should occur in time with the animation. For example, for an animated character you might want to add events to walk and run cycles to indicate when the footstep sounds should play. More info
See in Glossary: Calls all animation events from all clips sampled between the time of the last update and the time of the current update.
Sitemap Lapisan dapat memiliki hingga 3 keadaan aktif: keadaan saat ini, keadaan terganggu, dan keadaan berikutnya. Fungsi ini disebut untuk setiap keadaan aktif dengan komponen StateMachineBehaviour yang menentukan StateMachineBehaviour (OnStateEnter/OnStateUpdate/OnStateExit):, OnStateEnter, atau callback OnStateUpdate.OnStateExit
Langkah ini hanya terjadi jika ada komponen pengontrol (misalnya, AnimatorController atau AnimatorOverrideController atau AnimatorControllerPlayable) dalam grafik animasi.
Sitemap Setiap bingkai pembaruan, ini disebut sekali untuk setiap OnAnimatorMove: untuk memodifikasi Animator componentKomponen pada model yang merupakan model yang menggunakan sistem Animasi. Komponen ini memiliki referensi aset Animator Controller yang mengontrol animasi. More info
Lihat di Glossary.Root MotionGerak simpul akar karakter, apakah itu dikendalikan oleh animasi itu sendiri atau eksternal. More info
Lihat di Glossary.
Sitemap Ini disebut pada setiap keadaan aktif dengan StateMachineBehaviour(OnStateMove): yang mendefinisikan callback ini.StateMachineBehaviour that defines this callback.
Sitemap Menyiapkan animasi IK. Ini disebut sekali untuk setiap lapisan Animator Controller dengan OnAnimatorIK: diaktifkan.IK pass
This event executes only if you are using a Humanoid rig.
Sitemap Ini disebut pada setiap keadaan aktif dengan komponen StateMachineBehaviour(OnStateIK): yang mendefinisikan callback ini pada lapisan dengan StateMachineBehaviour diaktifkan.IK pass enabled.
Sitemap Tulis semua sifat animasi lainnya ke Adegan dari benang utama.WriteProperties: Writes all other animated properties to the Scene from the main thread.
Beberapa fungsi animasi yang ditunjukkan pada Script Lifecycle Flowchart bukan fungsi acara yang dapat Anda sebut; mereka adalah fungsi internal yang disebut ketika Proses Unity animasi Anda.
Fungsi-fungsi ini memiliki Profiler MarkersDitempatkan dalam kode untuk menggambarkan acara CPU atau GPU yang kemudian ditampilkan di jendela Unity Profileer. Ditambahkan ke kode Unity secara default, atau Anda dapat menggunakan untuk menambahkan penanda kustom Anda sendiri. More info
Lihat di Glossary, sehingga Anda dapat menggunakan Profiler untuk melihat ketika dalam bingkai Unity memanggil mereka. Mengetahui ketika Unity memanggil fungsi-fungsi ini dapat membantu Anda memahami persis ketika fungsi acara yang Anda lakukan panggilan dieksekusi.
Misalnya, kirakan Anda memanggil Login Login di callback FireAnimationEvents. Jika Anda tahu bahwa callback FireAnimationEvents dipecat hanya setelah fungsi State Machine Update dan Process Graph, Anda dapat mengantisipasi bahwa animation clipAnimasi 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 Anda akan bermain pada bingkai berikutnya, dan tidak segera.
Sitemap Semua mesin negara dievaluasi pada langkah ini dalam urutan eksekusi. Langkah ini hanya terjadi jika ada komponen pengontrol (misalnya, State Machine Update: atau AnimatorController atau AnimatorOverrideController) dalam grafik animasi.AnimatorControllerPlayable
Note:OnStateMachineEnter dan OnStateMachineExit) menonaktifkan multithreading. Lihat Grafik di atas untuk rincian.
Sitemap Mengevaluasi semua grafik animasi. Ini termasuk pengambilan semua klip animasi yang perlu dievaluasi, dan mengkomputasikan Akar Gerak.ProcessGraph: Evaluates all animation graphs. This includes sampling all animation clips that need to be evaluated, and computing Root Motion.
Sitemap Memadukan hasil dari grafik animasi.ProcessAnimation: Blends the results of the animation graph.
Sitemap Tulis semua transformasi animasi ke adegan dari benang pekerja.WriteTransforms:
IK pass diaktifkan dapat memiliki beberapa WriteTransforms pass (Lihat Script Lifecycle Flowchart.
Sitemap Panggilan ini hanya bekerja dengan Note: Built-in.Render PipelineRangkaian operasi yang mengambil isi dari Adegan, dan menampilkannya di layar. Unity memungkinkan Anda memilih dari pipa render yang dibangun sebelumnya, atau menulis sendiri. More info
Lihat di Glossary.
Pembaruan koroutine normal dijalankan setelah fungsi Update kembali. Koroutine adalah fungsi yang dapat menangguhkan eksekusinya (yield) sampai hasil yang diberikan. Penggunaan yang berbeda dari Coroutines:
Fungsi-fungsi ini disebut pada semua benda aktif di tempat kejadian Anda: