Tutorial ini mengajarkan Anda semua yang perlu Anda tahu untuk membuat Aktor Anda sendiri. Dengan mengikuti 3 bagian tutorial ini, Anda akan mempelajari cara membuat bendera berkibar yang dapat Anda gunakan tepat di editor. Anda akan mempelajari cara membuat sebuah kompleks Aktor, ukuran, kecepatan, dan tinggi melalui ActorProxy, dan bahkan membuat bendera Anda dapat diakses untuk editor.
Tutorial ini mengasumsikan Anda telah bekerja dengan STAGE. Jika tidak, silakan lihat 'Getting to Know the Editor'. Catatan - tutorial ini menggunakan kata 'game', 'Simulasi', dan 'Pelatihan Aplikasi' secara bergantian.
Figure 1 – Properties Aktor Tesselation
Sekarang Anda tahu dasar-dasar tentang Aktor dan ActorProxies, ada satu langkah terakhir untuk dijalani. editor tidak dapat menemukan secara ajaib kelas ActorProxy, kita perlu menceritakannya tentang objek baru. Apa yang perlu anda lakukan adalah menaruh ActorProxy anda ke sebuah library yang dapat ditemukan editor. Setelah Anda membuat library ini Anda akan dapat mengimpor langsung ke editor. Untungnya, ini terdengar lebih sulit dari prakteknya. Bahkan, seperti yang akan Anda lihat di bagian 3 dari tutorial ini, dibutuhkan sekitar 5 baris kode aktual untuk melakukan hal ini. Ditambah lagi, Anda hanya akan perlu 1 library untuk semua aktor Anda.
OK. Jadi, mari kita simpulkan, untuk menciptakan Aktor baru untuk STAGE, anda harus melakukan langkah-langkah berikut :
1) Buat Aktor anda – ini merupakan keahlian anda!
2) Membuat Aktor Proxy – wrapper data sederhana
3) Membuat sebauh Library Aktor – satu kali saja
4) Tambahkan Proxy ke Library – sekitar 5 baris kode
Sekarang, Anda cukup tahu tentang arsitektur dasar STAGE untuk memulai.
Serius, berhenti di sini! Jika Anda hanya ingin tahu bagaimana melakukan sesuatu dengan contoh, saatnya untuk berpindah ke Bagian 2 dari tutorial.
Namun, jika Anda adalah tipe teknis dan benar-benar ingin tahu apa yang terjadi, maka Anda akan senang mengetahui bahwa kami mempunyai beberapa informasi yang bagus di depan. Seperti yang kita tahu, Dynamic Actor Layer (DAL) benar-benar dirancang sebelum kita pernah menulis baris kode. Berikut ini adalah beberapa materi yang digunakan dalam perancangan detil pembangunan DAL.
2. Dynamic Actor Layer (DAL)
Dynamic Actor Layer (DAL) menyediakan mekanisme, fleksibel yang tidak mengganggu untuk mengekspos secara umum sifat pelaku permainan di C + +. Dua komponen utama rancangan ini adalah ActorProxies dan ActorProperties. Komponen proxy adalah pembungkus untuk permainan aktor yang mendasari dan memegang kumpulan sifat individu. Komponen properti mengekspos data untuk properti aktor permainan tunggal melalui pengambil dan penyetel fungsi objek; mirip dengan spesifikasi Java Bean. proxy itu tahu tentang propertiesnya dan properties tahu bagaimana untuk mengakses data. Kedua komponen ini digunakan untuk mengekspos secara umum yang mendasari semua data tanpa pernah memodifikasi kode game aktor asli. Penggunaan data komponen ini, bukan permainan aktor yang mendasari, yang mempromosikan enkapsulasi data dan penggunaan kode kembali.
Dynamic Aktor Layer dan gambaran arsitektur editor tercatat pada Figure 2. Tujuan utama Editor adalah untuk memungkinkan manipulasi aktor dalam sebuah adegan yang diberikan. Untuk mendukung ini, DAL memaparkan template generic yang memungkinkan STAGE untuk bekerja dengan aktor sebagai objek umum. Inti dari konsep ini adalah bahwa setiap aktor harus ditangani secara umum hanya menggunakan nama, id, dan sebuah koleksi properti. Penjelasan rinci dari komponen-komponen dari DAL akan dibahas selanjutnya.
3. ActorProxy
Sebagaimana disebutkan di atas, Aktor adalah setiap obyek dalam aplikasi pelatihan Anda yang memiliki perilaku dan perlu dimanipulasi dalam STAGE. Kelas Aktor bisa apa saja, editor harus dilindungi dari cara kerja internal dari setiap objek . Untuk membuat hal ini terjadi setiap Aktor harus memiliki kelas proxy terkait yang memungkinkan akses terhadap properties internal. Pada dasarnya, ActorProxy adalah saluran bagi aktor untuk berkomunikasi perilaku mereka untuk aplikasi eksternal atau untuk memastikan suatu protokol komunikasi konsisten di antara aktor-aktor. Figure 3 menunjukkan diagram kelas dari ActorProxy, Aktor (DeltaDrawable), dan ActorProperty.
Figure 3 – Diagram Kelas ActorProxy
Mengikuti kelas yang ada pada kelas diagram dalam Figure 3.
DeltaDrawable
Ini adalah kelas dasar untuk semua Aktor dalam sistem. The DeltaDrawable (dtCore:: DeltaDrawable) adalah kelas dasar dari semua objek Delta3D yang berada di lokasi. Selain itu, ia mempunyai pelacakan informasi seperti nama tag dan sebuah ID yang unik.
MyTruck
Ini adalah contoh dari pengguna kelas Aktor dibangun. Beberapa akan dibangun secara internal sebagai bagian dari Editor, namun banyak dari sini akan dibangun oleh pengembang akhir dan mungkin hanya diketahui aplikasi khusus mereka sendiri. Aktor kelas bisa cukup banyak. Mereka dapat memiliki pencahayaan, bagian diartikulasikan, gerakan, AI, meshes, suara, triggers, dan hal lain yang dapat Anda lakukan dengan Delta3D. MyTruck bisa menggambar dirinya dengan cara apapun mereka tetap sesuai dalam arsitektur Delta3D. MyTruck dapat memiliki banyak atau nol properti, dapat memiliki referensi untuk membagikan sumber daya, dan bisa apa saja dari sebuah billboard persegi menjadi ruang yang penuh .
ActorProxy
MyTruckProxy
Ini adalah contoh dari pengguna yang sebenarnya Aktor Proxy dibangun. Dalam hal ini, truk memiliki properti kecepatan disebut, sehingga proxy Truck mungkin mengekspos sifat yang disebut 'speed' untuk editor. Lalu, proxy Truck bisa menangani permintaan seperti setProperty ("speed", nilai) dengan memanggil myTruck.setSpeed (nilai). Dalam hal ini, TruckProxy tahu pekerjaan kelas Truck. Ia tahu kecepatan yang sesungguhnya adalah nilai floating point. Seringkali proxy akan masuk melalui data. Namun, kadang-kadang, proxy tersebut akan perlu melakukan manipulasi data. Misalnya, kecepatan mungkin telah diwakili oleh pecahan vektor (xspeed, yspeed, dan zspeed). Dalam hal ini proxy mungkin harus 3 properti kepada editor di mana hanya ada satu nilai yang sebenarnya mendasari. Hal ini mungkin bergantian menggunakan vec3. Dalam kasus lain, proxy bertanggung jawab untuk mengetahui bagaimana menangani sebuah setProperty ("xSpeed", nilai) permintaan dan pengaturan nilai kecepatan internal truk.
4. ActorProperty
Sebagaimana disebutkan di atas, kelas ActorProperty menyediakan meakisme sebuah pengambil / penyetel untuk mengakses properti dari kelas yang sama dengan paradigma pemrograman Java. Figure 4 melukiskan suatu pandangan yang lebih rinci dari kelas ActorProperty termasuk bagian dari properti kelas untuk tipe data tertentu.
Figure 4 – Diagram Kelas ActorProperty
Para pengambil dan penyetel bagian dari kelas ActorProperty adalah Functors (Fungsi Objects) yang referensi pengambil dan metode penyetel pada properti kelas yang diberikan. Karena itu, ketika sebuah ActorProperty dibuat, ia tahu bagaimana untuk menyimpan dan mengambil data yang diwakilinya. Kelas ActorProperty juga digunakan untuk menyampaikan informasi tentang sifat dari Aktor hingga Editor. ActorProperty memiliki nama, nama tampilan, deskripsi, dan tipe pencacahan. Kelas properti mungkin juga memiliki daftar enumerations jika properti itu sendiri merupakan enumerations. Sebagai contoh, property dari truk memiliki kecepatan yg mendukung Lambat, Sedang, dan Cepat atau cahaya yang mungkin memiliki properti jenis dengan pengaturan dari Directional, Strobe, Pulse, Omni, dll .
5. ActorLibraries
ActorLibraries adalah komponen didistribusikan yang melayani untuk paket kelompok aktor terkait dan aktor proxy. ActorLibraries adalah library dinamis kode C + + yang dimuat ke editor atau aplikasi lainnya. Figure 5 menunjukkan diagram kelas tinjauan subsistem Aktor Library. Penjelasan rinci setiap komponen diberikan di bawah ini.
LibraryManager
Kelas ini merupakan kelas utama dalam Library Manager. Kelas memiliki daftar library yang terdaftar dengan Manager serta daftar dari tipe Aktor yang masing-masing dapat menciptakan library. Ini juga merupakan kendaraan utama untuk menciptakan Aktor proxy baru. Manajer menggunakan pola tunggal.
ActorPluginRegistry
Ini adalah kelas dasar yang memperpanjang pengembang untuk membangun registri mereka sendiri. Perilaku yang paling penting dalam registri adalah kemampuan untuk mengambil Jenis Aktor dan membuat Aktor baru melalui proxy Aktor. Registri adalah yang bertanggung jawab untuk mengetahui jenis Aktor yang dapat dibangun. Sejak Editor tidak tahu apa-apa tentang kelas-kelas objek, registri bertanggung jawab untuk memahaminya. Kelas dasar registri juga menyebabkan pabrik objek yang menyediakan sebagian besar, jika tidak semua, dari tipe aktor ActorPluginRegistry's untuk kemampuan pemetaan aktor.
MyPluginRegistry
Ini adalah implementasi pihak ke-3 dari Registry. Para pengembang harus membuat dan melacak tipe Aktor yang memahami serta dapat mengambil Jenis Aktor dan membuat Aktor proxy baru. Hal ini mungkin kelas yang sangat sederhana yang menciptakan dan register aktor yang tipe dengan pabrik sehingga mereka tersedia pada saat run-time.
ActorType
Ini merupakan kelas data sederhana yang memiliki informasi yang menggambarkan jenis Aktor tertentu. Akan ada satu Aktor Jenis untuk setiap kelas Aktor unik seperti 'BouncyTruck' atau 'AgressiveSoldier'. Untuk setiap kelas aktor, harus ada Jenis Aktor dengan nama, kategori, dan deskripsi. Kategori ini memiliki catatan khusus karena digunakan untuk visual semacam kelas di editor. Ini mengikuti sebuah titik notasi hirarkis (ex. "Vehicles.Trucks.NeatTrucks") tersebut digunakan untuk kelas kelompok dalam beberapa panel UI. Hal ini juga dapat digunakan untuk mencari objek.
6. Project/Map
Konteks proyek pada dasarnya adalah "rumah" direktori peta Anda. Hal ini bertanggung jawab atas sumber daya penyimpanan diimpor ke Editor; seperti statis meshes, sistem partikel, tekstur, dan suara. Semua aktor impor di peta disimpan dan referensi relatif terhadap konteks proyek peta. Rincian Proyek dan interaksi kelas Peta berada di luar cakupan tutorial ini, namun Figure 6 menunjukkan diagram kelas yang melukiskan interaksi dasar tersedia untuk Proyek dan kelas Peta.
Ini menyimpulkan gambaran dari arsitektur dari STAGE. Jika Anda mengikuti semua ini, maka Anda lebih dari siap untuk pergi ke Bagian 2 dari tutorial ini.
uj854 replica bags,fake bags,replica bags,fake bags,fake designer bags,yslreplicabags,replicabaghome,replica handbags,replica handbags xd560
BalasHapus