Memuat Beberapa NavMeshes menggunakan Pemuatan Aditif
Menggunakan Agen NavMesh dengan Komponen Lain
Anda dapat menggunakan agen NavMeshSebuah mesh yang Unity menghasilkan perkiraan daerah dan hambatan yang dapat berjalan di lingkungan Anda untuk mencari jalan dan navigasi yang dikendalikan AI. More info
Lihat di Glossary, NavMesh Obstacle, dan Off komponen MeshGrafik utama primitif Unity. Mesh membuat sebagian besar dunia 3D Anda. Unity mendukung mesh poligon triangulat atau Quadrangulasi. Nurbs, Nurms, permukaan Subdiv harus dikonversi ke poligon. More info
Lihat di Glossary Link dengan komponen Unity lainnya juga. Berikut adalah daftar dos dan tidak ketika mencampur komponen yang berbeda bersama.
Agen NavMesh dan Fisika
- Anda tidak perlu menambahkan fisika collidersBentuk tak terlihat yang digunakan untuk menangani tabrakan fisik untuk objek. Seorang sari tidak perlu menjadi bentuk yang sama dengan jala objek - perkiraan kasar sering lebih efisien dan tidak dapat dibedakan dalam gameplay. More info
Lihat di Glossary ke Agen NavMesh untuk mereka untuk menghindari satu sama lain
- Itu, sistem navigasi mensimulasikan agen dan reaksi mereka terhadap hambatan dan dunia statis. Di sini dunia statis adalah NavMesh panggang.
- Jika Anda ingin Agen NavMesh untuk mendorong objek fisika atau menggunakan pemicu fisika:
- Tambahkan komponen Collider (jika tidak ada)
- Tambahkan komponen RigidbodyKomponen yang memungkinkan GameObject untuk dipengaruhi oleh gravitasi simulasi dan kekuatan lainnya. More info
Lihat di Glossary
- Nyalakan kinematik (Is Kinematik) - ini penting!
- Kinematik berarti bahwa tubuh yang kaku dikendalikan oleh sesuatu yang lain dari simulasi fisika
- Jika kedua agen NavMesh dan kaku (non-kinematik) aktif pada saat yang sama, Anda memiliki kondisi ras
- Kedua komponen dapat mencoba untuk memindahkan agen sama yang mengarah pada perilaku yang tidak ditentukan
- Anda dapat menggunakan Agen NavMesh untuk bergerak misalnya karakter pemain, tanpa fisika
- Mengatur prioritas agen pemain untuk nomor kecil (prioritas tinggi), untuk memungkinkan pemain untuk menyikat melalui kerumunan
- Pindahkan agen pemain menggunakan NavMeshAgent.velocity, sehingga agen lain dapat memprediksi pergerakan pemain untuk menghindari pemain.
Agen NavMesh dan Animator
- Agen NavMesh dan Animator dengan Root MotionGerak simpul akar karakter, apakah itu dikendalikan oleh animasi itu sendiri atau eksternal. More info
Lihat di Glossary dapat menyebabkan kondisi balap
- Kedua komponen mencoba untuk memindahkan transformasi setiap bingkai
- Dua solusi yang mungkin
%
- Informasi harus selalu mengalir dalam satu arah
- Baik agen memindahkan karakter dan animasi berikut
- Atau animasi bergerak karakter berdasarkan hasil simulasi
- Jika tidak, Anda akan berakhir setelah hard ke debug umpan balik loop
- Animasi berikut agen
- Gunakan NavMeshAgent.velocity sebagai masukan ke Animator untuk kira-kira mencocokkan pergerakan agen ke animasi
- Robust dan sederhana untuk menerapkan, akan mengakibatkan geser kaki di mana animasi tidak dapat mencocokkan kecepatan
- Agen mengikuti animasi
NavMesh Agen dan NavMesh Obstacle
- Jangan bercampur dengan baik!
- Mengaktifkan keduanya akan membuat agen mencoba untuk menghindari dirinya
- Jika ukiran diaktifkan di samping itu, agen mencoba untuk terus-menerus kembali ke tepi lubang yang diukir, bahkan lebih banyak perilaku erron
- Pastikan hanya salah satu dari mereka aktif pada waktu tertentu
- Tentukan keadaan, Anda dapat mematikan agen dan menyalakan hambatan untuk memaksa agen lain untuk menghindarinya
- Atau Anda dapat menggunakan prioritas untuk membuat agen tertentu untuk dihindari lebih
NavMesh Obstacle dan Fisika
- Jika Anda ingin objek yang dikendalikan fisika untuk mempengaruhi perilaku NavMesh Agent
- Tambahkan komponen NavMesh Obstacle ke objek yang agen harus menyadari, ini memungkinkan sistem penghindaran untuk alasan tentang hambatan
- Jika objek permainan memiliki kaku dan NavMesh Obstacle terpasang, kecepatan rintangan diperoleh dari kakubody secara otomatis
- Ini memungkinkan Agen NavMesh untuk memprediksi dan menghindari hambatan bergerak
Memuat Beberapa NavMeshes menggunakan Pemuatan Aditif