Releases: CITM-UPC/SolarisEngine
SolarisEngine_v1.0.1
SolarisEngine
Solaris Engine es un motor de videojuegos desarrollado para la asignatura “Motors De Videojocs” en la Universidad UPC-CITM: Diseño y Desarrollo de Videojuegos, realizado durante el 3.º año por: Martí Sabaté Miranda(@msabate00), Jiajie Lin(@Linjiajie2002), Aleix Botella Llobet(@Aleix3).
Nuestro Motor
Solaris Engine es un motor 3D desarrollado con SDL2, OpenGL, glew, DevIL, GLM, Assimp e ImGui, programado en C y C++17.
Implementaciones
Nuevas
- Gestión de padres e hijos (transform, propiedades...).
- Gestión del panel de jerarquía(mover objetos, asignar padres e hijos...).
- Implementación del componente "camera".
- Selección de objetos en la escena mediante el ratón.
- "Frustum Culling" de la cámara (dejar de dibujar objetos que no se ven).
- Las mallas se guardan en nuestro propio formato.
- Todos los recursos usan recuento de referencias.
- El usuario puede navegar por la ventana de "assets" así como mover, añadir, cargar, duplicar o borrar archivos.
Antiguas
- Carga de FBXs (arrastrar y soltar).
- Carga de texturas (PNG, JPG, JPEG, DDS).
- Gestión de GameObjects.
- Tres componentes básicos para los GameObjects:
- Transform: Permite ver y modificar la posición, rotación y escala.
- Mesh: Permite dibujar la malla en la escena y muestra información de esta (normales, Bounding Box).
- Material: Permite aplicar la textura al objeto, mostrar información de esta y cargar la textura de cuadros para comprobar las UVs.
- Cámara del editor (renderizado y movimiento).
- Ventanas del editor:
- Menú Principal: Barra superior que permite ver estadísticas, editar preferencias, obtener más información sobre el motor, cargar primitivas, etc.
- Jerarquía: Muestra y permite seleccionar los objetos de la escena, así como eliminarlos y duplicarlos.
- Inspector: Muestra y permite modificar los componentes del objeto seleccionado.
- Consola: Muestra el proceso de carga de la geometría y de la inicialización de las bibliotecas, así como los logs escritos por el usuario.
- Proyecto: Muestra los archivos del proyecto dentro de la carpeta de "Assets".
Controles:
- Cámara:
- LMB: Seleccionar objetos.
- RMB: Rotar cámara.
- RMB + W: Avanzar cámara.
- RMB + S: Retroceder cámara.
- RMB + D: Mover la cámara hacia la derecha.
- RMB + A: Mover la cámara hacia la izquierda.
- LSHIFT: Duplica la velocidad de movimiento de la cámara.
- MMB Scroll: Zoom in / Zoom out.
- MMB: Desplazamiento de la cámara.
- ALT + LMB: Orbitar el objeto seleccionado.
- F: Centra la cámara en el objeto seleccionado.
Entrega01
SolarisEngine
Solaris Engine, es un motor de videojuegos de la asignatura “Motors De Videojocs” en la universidad UPC-CITM : Diseño y Desarrollo de Videojuegos, realizado durante el 3.º año por: Martí Sabater Miranda(@msabate00.), Jiajie Lin(@Linjiajie2002), Aleix Botella Llobet(@Aleix3).
Nuestro Motor
Solaris Engine es un motor en 3D realizado con SDL2, OpenGL, glew, DevIL, GLM, Assimp e ImGui. Programado en c y c++17.
Implementaciones
- Cargar FBXs(Drag and drop).
- Cargar Texturas(PNG, JPG, JPEG, DDS).
- Gestión de GameObjects.
- 3 Componentes básicos para los GameObjects:
-Transform: Permite ver y modificar la posición, rotación y escala.
-Mesh: Permite dibujar la maya en la escena y muestra información de esta(normales, Bounding Box).
-Material: Permite aplicar la textura al objeto así como mostrar información de esta y cargar la textura de cuadros para comprobar las UVs. - Cámara del editor(Renderizado y Movimiento).
- Ventanas Del editor:
-Menú Principal: Barra superior que permite ver estadísticas, editar preferencias, obtener más información sobre el motor, cargar primitivos, etc.- Jerarquía: Muestra y permite seleccionar los objetos de la escena así como eliminarlos y duplicarlos.
- Inspector: Muestra y permite modificar los componentes del objeto seleccionado.
- Consola: Muestra el proceso de carga de la geometría y de la inicialización de las bibliotecas, así como los LOGs escritos por el usuario.
- Proyecto: Muestra los archivos del proyecto dentro de la carpeta de "Assets".
Controles:
- Cámara:
- RMB: Rotar cámara
- RMB+W: Avanzar cámara
- RMB+S: Retroceder cámara
- RMB+D: Mover hacia la derecha la cámara
- RMB+A: Mover hacia la izquierda la cámara
- LSHIFT: Duplica la velocidad del movimiento de la cámara
- MMB Scroll: zoom in || zoom out
- MMB: Desplazamiento de la cámara
- ALT+LMB: Orbitar el objeto seleccionado
- F: Centra la cámara a objeto seleccionado