Mesin kecil
Mesin C ++ 3D dikembangkan selama gelar master dalam pengembangan videogame AAA

Highlight
- Buat, simpan, dan muat adegan.
- Buat GameObjects dan ubah perilaku mereka menggunakan sistem komponen.
- Jelajahi pemandangan menggunakan kamera seperti Unity.
- Konfigurasikan berbagai properti mesin: renderer, manajemen waktu, ...
Instalasi
- Unduh rilis terakhir (atau rilis apa pun yang Anda inginkan) dari bagian rilis.
- Ekstrak
Build.zip . - Jalankan
LittleOrionEngine.exe .
Penggunaan
Silakan merujuk ke wiki kami untuk mempelajari cara menggunakan mesin.
Pengaturan Pembangunan
Untuk melakukan itu memastikan bahwa Anda memiliki yang berikut:
- Komputer.
- Kartu grafis dengan dukungan OpenGL.
- VisualStudio 2017 atau di atas.
Berkontribusi
Karena ini adalah proyek akademik tidak mungkin untuk berkontribusi langsung ke repo ini. Mengatakan itu, jangan ragu untuk membayar (https://github.com/unnamed-company/littleorionengine/fork) dan untuk memperluasnya dengan cara Anda sendiri!
Penulis
Mario Fernández Villalba
| Anabel Hernández Barrera
| Enrique Alexandre González Sequeira
| Joan Ginard Mateo
| Jordi Sauras
| Jordi Romagosa
| Toni Ferrari Juan
|
Luis Moyano
| Marco Rodríguez
| Artemis Georgakopoulou
| Pau Casas Garcia
| Raúl González
| Ricard Vivó
| Vidal Melero
|
Metodologi Pengembangan
Proyek ini dikembangkan mengikuti filosofi metodologi gesit. Jika Anda tertarik untuk mengetahui distribusi tugas, jangan ragu untuk mengunjungi Dewan Trello kami!
Dibangun dengan
- SDL 2.0 - Digunakan untuk mengelola pembuatan dan input jendela.
- GLEW 2.1.0 - Digunakan untuk mengelola ekstensi OpenGL.
- Mathgeolib 3.0.0 - digunakan untuk melakukan matematika.
- Dear Imgui 1.73 - Digunakan untuk membangun GUI.
- IMGUI Filebrowser - Digunakan untuk membuka direktori file dengan IMGUI.
- Devil 1.8 - Digunakan untuk memuat gambar.
- AssIMP 5.0 - Digunakan untuk memuat model 3D.
- Font Awesome 5 - Digunakan untuk menampilkan ikon mewah.
- Ikon Font CPP Header - Digunakan untuk mengimpor ikon luar biasa di C ++.
- PCG - Digunakan untuk menghasilkan angka acak yang baik di C ++.
- RapidJson 1.1.0 - Digunakan untuk menangani file JSON.
- Draw Debug - Digunakan untuk menggambar bentuk dasar.
- Par_shapes - Digunakan untuk menghasilkan primitif dasar.
- Imguizmo - Digunakan untuk menggambar Gizmos.
- PhysFS 3.0.2 - Digunakan untuk mengelola sistem file.
- Fisika peluru - digunakan untuk mensimulasikan fisika.
- SPDLOG - Digunakan untuk mencatat barang.
Lisensi
Proyek ini dilisensikan di bawah lisensi MIT - lihat file lisensi untuk detailnya.
Rilis Riwayat
- [1.0.1] Menyelirkan bug dan pemolesan
- Banyak perbaikan bug.
- Menyetel kontrol untuk memberikan pengalaman pengguna terbaik.
- Peningkatan kinerja saat memuat sumber daya.
- [1.0.0] rilis v1.0.0 ada di sini!
- Bahan mesh. Mesh memiliki bahannya sendiri, yang menyimpan tekstur dan parameter cahaya yang berbeda.
-
ComponentLight baru, yang mewakili sumber cahaya untuk adegan itu. Ini digunakan di sepanjang bahan mesh. - Memetik tikus. Objek game dapat dipilih mengkliknya di jendela adegan.
- Gizmos. Mereka digunakan untuk memodifikasi transformasi objek yang dipilih.
- [0.2.2] File biner dan serialisasi adegan
- Manajemen sumber daya yang lebih baik.
- Aset diubah menjadi format yang lebih sedikit memakan ruang.
- Cache baru yang menghindari duplikasi sumber daya.
- Serialisasi pemandangan, yang memungkinkan pemuatan dan menyimpan adegan.
- [0.2.1] Mempercepat mesin!
- Modul ModuleCamera baru. Ini berisi frustum kamera yang dapat dilampirkan ke GameObjects.
- Dua tab baru, adegan, dan permainan. Yang pertama berisi adegan yang terlihat dari kamera editor sementara yang kemudian berisi adegan yang terlihat dari kamera game.
- FRUSTUM CULLING. Dengan perbaikan ini jerat yang berada di luar kamera frustum dibuang dalam proses render.
- Kamera Clear Mode. Kamera dapat dibersihkan menjadi skybox atau warna polos.
- Tekstur diterjemahkan menggunakan tekstur alih -alih primitif OpenGL.
- Quadtree dan Octtree. Dengan peningkatan ini kita dapat mempercepat lebih banyak proses render dengan mengurangi jumlah cek.
- Modul ModuleBug baru. Ini berisi fungsi debug useFull.
- [0.2.0] Dan ada GameObjects
- GameObject masuk. Setiap GameObject mewakili entitas yang dapat dimodifikasi menggunakan komponen.
- Komponen adalah objek yang berisi bagian entitas yang berbeda, seperti jerat, bahan, dll.
- Jendela hierarki baru yang mewakili hirarki GameObject adegan.
- Jendela Properti yang Diubah. Di sini parameter komponen dapat dimodifikasi.
- [0.1.5] Final 0.1 Versi (ini adalah satu guru)!
- Memperbaiki berbagai bug.
- Beberapa refactor untuk mengikuti praktik C ++ yang baik.
- Readme yang sangat keren.
- [0.1.4] Log baru, persiapan untuk versi final 0,1 alpha!
- Log yang Diubah. Ini menampilkan pesan dengan cara yang lebih jelas dan lebih mudah dibaca.
- Pesan debug ditangkap dari AssImp dan OpenGL.
- Saring pesan dengan soruce!
- Tekstur model dapat ditimpa menyeret dan menjatuhkan file PNG ke jendela mesin.
- [0.1.3] Wow UI, begitu banyak opsi konfigurasi
- Gui baru yang cantik.
- Banyak opsi konfigurasi baru untuk berbagai modul (kamera, render, ...).
- Adegan diterjemahkan di jendela terpisah.
- Properti model ditampilkan di jendela baru.
- Kecepatan dan fokus kamera dihitung mengenai ukuran model yang dimuat.
- [0.1.2] Waktu mulai mengalir, pertunjukan GUI baru yang akan datang di cakrawala ...
- Modul waktu yang ditambahkan, yang mengontrol aliran waktu. Ini mengimplementasikan dua jam, jam waktu nyata dan jam permainan.
- Waktu dapat dijeda dan melangkah untuk satu bingkai. Juga skala waktu dapat diubah.
- FPS dapat dibatasi.
- Memulai implementasi baru GUI. Menambahkan beberapa info baru ke konfigurasi kamera.
- [0.1.1] Ini tentang pemuatan model dan kamera
- Pemuatan model yang ditingkatkan. Dimungkinkan untuk memuat model yang menyeret dan menjatuhkan file .fbx mereka ke jendela mesin. Kamera akan diskalakan sesuai dengan dimensi model baru.
- Kontrol kamera yang ditingkatkan. Menekan F akan memfokuskan kamera pada model yang dimuat. Juga, menekan Alt akan membuat orbit kamera di sekitar model ini.
- Kotak pembatas yang ditambahkan. Menekan B akan mengaktifkan/menonaktifkan kotak pembatas dari model saat ini.
- [0.1.0] Inilah versi dasar!
- Ini dapat memuat model dari file FBX menggunakan tekstur difus.
- Kamera dapat dikontrol dengan gaya seperti persatuan.
- Mesin memiliki UI dasar dengan beberapa opsi konfigurasi dan debug.