Instantiating Prefabs pada waktu berjalan
Fungsi Acara

Order eksekusi untuk fungsi acara

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.

Gambaran keseluruhan siklus Script

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:

Flowchart

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.

Pertama adegan beban

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).

  • Sitemap Fungsi ini selalu disebut sebelum fungsi Start dan juga hanya setelah Awake: disaatkan. (Jika GameObject tidak aktif selama memulai Awake tidak disebut sampai dibuat aktif.)prefabJenis aset yang memungkinkan Anda untuk menyimpan GameObject lengkap dengan komponen dan properti. Prefab bertindak sebagai template dari mana Anda dapat membuat instance objek baru di tempat kejadian. More info
    Lihat di Glossary
    is instantiated. (If a GameObject is inactive during start up Awake is not called until it is made active.)
  • OnEnable: (hanya disebut jika objek aktif): Fungsi ini disebut hanya setelah objek diaktifkan. Ini terjadi ketika instance MonoBehaviour diciptakan, seperti ketika tingkat dimuat atau GameObjectObjek mendasar dalam adegan Unity, yang dapat mewakili karakter, props, pemandangan, kamera, waypoints, dan banyak lagi. Fungsi GameObject didefinisikan oleh Komponen yang melekat padanya. More info
    Lihat di Glossary
    dengan komponen skrip sesaat.

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.

Editor

  • Sitemap Atur ulang disebut untuk menginisialisasi sifat skrip ketika pertama kali melekat pada objek dan juga ketika perintah Reset: digunakan.Reset command is used.
  • Sitemap OnValidate disebut ketika sifat skrip diatur, termasuk ketika objek dinonaktifkan, yang dapat terjadi pada berbagai kali, seperti ketika Anda membuka adegan di Editor dan setelah reload domain.OnValidate: OnValidate is called whenever the script’s properties are set, including when an object is deserialized, which can occur at various times, such as when you open a scene in the Editor and after a domain reload.

Sebelum pembaruan bingkai pertama

  • Sitemap Mulai disebut sebelum pembaruan bingkai pertama hanya jika instance skrip diaktifkan.Start: Start is called before the first frame update only if the script instance is enabled.

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.

Di antara bingkai

  • Sitemap Ini disebut pada akhir bingkai di mana jeda terdeteksi, efektif antara pembaruan bingkai normal. Satu bingkai tambahan akan dikeluarkan setelah OnApplicationPause: disebut untuk memungkinkan permainan untuk menunjukkan grafis yang menunjukkan keadaan jeda.OnApplicationPause is called to allow the game to show graphics that indicate the paused state.

Memperbarui Order

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.

Grafik

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.

Penanda profil yang berguna

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.

Rendering

  • Sitemap Disebut sebelum kamera kusam adegan. Culling menentukan objek yang terlihat pada kamera. OnPreCull disebut hanya sebelum penanaman berlangsung.OnPreCull: Called before the camera culls the scene. Culling determines which objects are visible to the camera. OnPreCull is called just before culling takes place.
  • Sitemap Disebut ketika sebuah objek menjadi terlihat/dilihatkan ke kamera apa pun.OnBecameVisible/OnBecameInvisible: Called when an object becomes visible/invisible to any camera.
  • Sitemap Disebut OnWillRenderObject: untuk setiap kamera jika objek terlihat.once for each camera if the object is visible.
  • Sitemap Disebut sebelum kamera mulai rendering adegan.OnPreRender: Called before the camera starts rendering the scene.
  • Sitemap Disebut setelah semua rendering adegan rutin dilakukan. Anda dapat menggunakan kelas OnRenderObject: atau GL untuk menggambar geometri kustom pada titik ini.Grafik.DrawMeshNow to draw custom geometry at this point.
  • Sitemap Disebut setelah kamera selesai rendering adegan.OnPostRender: Called after a camera finishes rendering the scene.
  • Sitemap Disebut setelah rendering adegan selesai untuk memungkinkan OnRenderImage: gambar, lihat post-processingProses yang meningkatkan visual produk dengan menerapkan filter dan efek sebelum gambar muncul di layar. Anda dapat menggunakan efek pasca proses untuk mensimulasikan kamera fisik dan sifat film, misalnya Bloom dan Kedalaman Lapangan. More info pemrosesan pos, pasca proses, pasca proses
    Lihat di Glossary
    .Efek pasca proses.
  • Sitemap Disebut beberapa kali per bingkai dalam menanggapi acara GUI. Peristiwa Tata Letak dan Repaint diproses terlebih dahulu, diikuti oleh acara Layout dan keyboard/mouse untuk setiap acara input.OnGUI: Called multiple times per frame in response to GUI events. The Layout and Repaint events are processed first, followed by a Layout and keyboard/mouse event for each input event.
  • Sitemap Digunakan untuk menggambar OnDrawGizmos dalam GizmosOverlay grafis yang terkait dengan GameObject di Adegani, dan ditampilkan di Tampilan Adegan. Alat adegan internal seperti alat bergerak adalah Gizmos, dan Anda dapat membuat Gizmos kustom menggunakan tekstur atau scripting. Beberapa Gizmos hanya ditarik ketika GameObject dipilih, sementara Gizmos lainnya ditarik oleh Editor terlepas dari GameObjects mana yang dipilih. More info
    Lihat di Glossary
    untuk tujuan visualisasi.scene viewTampilan interaktif ke dunia yang Anda buat. Anda menggunakan Adegan Lihat untuk memilih dan posisi pemandangan, karakter, kamera, lampu, dan semua jenis lain dari Game Object. More info
    Lihat di Glossary
    for visualisation purposes.

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
.

Coroutines

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:

  • Sitemap Koroutine akan terus setelah semua fungsi Update telah disebut pada bingkai berikutnya.yield The coroutine will continue after all Update functions have been called on the next frame.
  • Sitemap Lanjutkan setelah penundaan waktu tertentu, setelah semua fungsi Update telah disebut untuk bingkai.yield WaitForSeconds Continue after a specified time delay, after all Update functions have been called for the frame.
  • Sitemap Lanjutkan setelah semua tetapUpdate telah disebut pada semua skrip. Jika koroutine dihasilkan sebelum Memperbaiki Perbarui, maka resume setelah Memperbaiki Perbarui dalam bingkai saat ini.yield WaitForFixedUpdate Continue after all FixedUpdate has been called on all scripts. If the coroutine yielded before FixedUpdate, then it resumes after FixedUpdate in the current frame.
  • Sitemap Lanjutkan setelah unduhan www selesai.yield WWW Continue after a WWW download has completed.
  • Sitemap Rantai koroutine, dan akan menunggu koroutine MyFunc untuk menyelesaikan terlebih dahulu.yield StartCoroutine Chains the coroutine, and will wait for the MyFunc coroutine to complete first.

Ketika objek hancur

  • Sitemap Fungsi ini disebut setelah semua pembaruan bingkai untuk bingkai terakhir keberadaan objek (keberatan mungkin hancur dalam menanggapi Objek. Destroy atau pada penutupan adegan).OnDestroy: This function is called after all frame updates for the last frame of the object’s existence (the object might be destroyed in response to Object.Destroy or at the closure of a scene).

When quitting

Fungsi-fungsi ini disebut pada semua benda aktif di tempat kejadian Anda:

  • Sitemap Fungsi ini disebut pada semua objek permainan sebelum aplikasi berhenti. Dalam editor itu disebut ketika pengguna berhenti playmode.OnApplicationQuit: This function is called on all game objects before the application is quit. In the editor it is called when the user stops playmode.
  • Sitemap Fungsi ini disebut ketika perilaku menjadi dinonaktifkan atau tidak aktif.OnDisable: This function is called when the behaviour becomes disabled or inactive.

  • 2019–03–18 Login
Instantiating Prefabs pada waktu berjalan
Fungsi Acara