View on GitHub

Engine

3D Game Engine developed by two students from CITM-UPC Terrassa, Alejandro París and Cere Venteo

Engine is a 3D game engine developed by two students from CITM-UPC Terrassa, Alejandro París and Cere Venteo.

The Team

The Engine

Game Objects

Debug

Camera

Play/Pause

Resource Manager

**IMPORTANT: To import things to the assets folder it is recommended to drag them to the engine.

Scene Serialization

Render Mode

In this menu you can enable and disable: - Depth - Cull Face - Lightning - Color - Textures - Bounding Box - Quadtree - Normals - Wireframe

If something is not working as expected, please, revise console panel to understand what is happening. If, after that, you assume the engine is running an error, revise issues or send a new one (we would be very grateful).

Skeletal Animation

The importing of animations is done with Assimp, from fbx and dae files. When creating meshes, it reads the bones that it is using and create the corresponding bone resource. It then reads all the animations of the scene and creates the animation resources, storing the corresponding transformations over time of the bones (linked by name). When assigning a resource to a component animation, it looks for the used bones inside the gameObjects hierarchy and find them by the name. On the Update, it loops through all the bones and apply the corresponding transformation to the gameObjects, calculating interpolations if activated, as well as animation blending when changing them. To do the interpolation, it basically does a Lerp operation of the current frame and the next frame based on the percentage of time elapsed. For animation blending, it temporally keeps the new resource that will be assigned and do interpolation between the frame of the current animation and the first frame of the next animation before finally swaping the animations. Before the render of the mesh, it calculates a morphed version of it, adapting to the linked bones and rendering it instead of the original one.

Editor


InGame


Controls

Camera

Shortcuts

Delivery List by Members

Game Video

License

MIT License

Copyright (c) 2019 Alejandro París and Cere Venteo

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.