Class.ControllerManager instansi mengelola kontrol gerakan simulasi untuk RootPart yang diberikan. Bersama dengan ControllerPartSensors, itu dapat digunakan untuk membangun kontrol karakter fisik.
Pengaturan Inti
ControllerManager memerlukan BasePart untuk digunakan sebagai akar. Kekuatan gerakan dan deteksi bagian akan berada di bagian ini.
Grupkan bagian sebagai Model instansi untuk organisasi bersama dengan komponen lainnya.
Tambahkan instansi ControllerManager ke model. Jika ControllerManager tidak muncul di menu penambahan objek, bersama-sama "Tampilkan hanya objek yang direkomendasikan" dalam pengaturan penambahan menu.
Pengaturan Sensor
A ControllerPartSensor mendeteksi bagian dengan kode yang sama yang digunakan oleh Humanoid untuk mendeteksi lantai dan tangga.
Sisipkan ControllerPartSensor sebagai anak dari RootPart dan ganti nama itu GroundSensor untuk lebih mudah mengidentifikasi tujuan. Kemudian, dalam jendela 1> Proprieti
Sisipkan another ControllerPartSensor as a child of RootPart and rename it ClimbSensor . Kemudian, dalam jendela 1> Properties1>, set its 4> Class.ControllerPartSensor.SearchDistance|SearchDistance4>
Pengaturan Kontroler
Instansi kontrol seperti GroundController dan ClimbController memberi tahu bagian yang dikelola cara berinteraksi dengan dunia, bekerja sama dengan sensori yang Anda konfigurasikan di Sensor Settings .
Sisipkan kedua GroundController dan ClimbController sebagai anak-anak dari ControllerManager .
Pilih instansi baru GroundController dan kemudian, dalam jendela Propinsi, atur propperti GroundOffset nya ke
Mengaitkan Referensi
Untuk menyelesaikan pengaturan inti, Anda harus menautkan berbagai properti dari instansi ControllerManager ke objek dalam utama Model .
Pilih instansi ControllerManager.
Di jendela Properti, klik setiap dari berikutnya properti dan kemudian, kembali di jendela Eksplorer, klik instans masing-masing untuk menyelesaikan tautkan.
- Hubungkan ActiveController properti ke instansi GroundController.
- Hubungkan properti RootPart ke bagian yang Anda sebutkan RootPart .
- Hubungkan property ClimbSensor ke instansi ClimbSensor .
- Hubungkan property GroundSensor ke instansi GroundSensor .
Menguji
Dengan Sensor dan Kontroler di tempat, dan dengan Referensi yang terhubung, Anda dapat menguji kontroler di Studio.
Mulai playtest menggunakan mode Jalankan ( F8 ) karena Anda tidak perlu menyisipkan karakter avatar Anda dalam skenario ini.
RootPart seharusnya mengambang di atas tanah pada nilai GroundController.GroundOffset yang Anda tetapkan dalam Menambahkan Pengontrol. Ini juga harus berputar untuk mengalineasi dengan vektor 0> Class.ControllerManager.FacingDirection0>.
Berperan dengan berbagai arah dan arah tatap saat mengubah MovingDirection dan
Manajer Kontroler Pengontrol Tanah
Sensor Kustom
Opsi ControllerPartSensor.SensorMode dari Floor dan Ladder mengeksekusi kode sensor Class.Humanoid , sehingga Anda dapat menggunakannya untuk kesesuaian. Namun, Anda juga dapat menyesuaikan cara dan waktu
Ganti ControllerPartSensor.UpdateType dari OnRead ke Manual .
- OnRead menyetel kepemilikan keluaran untuk diperbarui sesuai dengan SensorMode setiap kali Anda membacanya. Itu pada dasarnya menempatkan sensor dalam mode "baca saja" di mana apa pun yang Anda tulis kepada proporsi ini menjadi overwritten oleh perilaku sensing internalnya.
- Manual menonaktifkan perilaku sensing internal. PropOutput gratis untuk Anda tulis apa pun yang Anda suka dan SensorMode tidak melakukan apa-apa.
Buat skrip yang melakukan logika sentralisasi Anda sendiri dan menulis keluaran ke proporsi keluaran sensor Anda. Biasanya Anda akan menggunakan pemintaan ruang seperti WorldRoot:Raycast() atau WorldRoot:Blockcast() yang mengembalikan RaycastResult . Skrip Anda kemudian dapat mengamb
Catat bahwa Anda harus mengelola seberapa sering pencarian Anda berjalan dan menyetel ulang kejadianmereka.
The ControllerManager akan terus menggunakan sensor yang telah ditetapkan, mengambil data yang Anda berikan kepada itu.