Description
3D Engine made by Guillem Sunyer Caldú and Simón Stoyanov Beltrán for the 3D engines subject during the 3rd year of Game Design and Game Development degree at CITM.
The engine was born for the 3d engines assignment and has a User Interface subsytem.
Work
Guillem Sunyer
Simón Stoyanov
- Random Number Generation implemention
- About Window
- MMGR implemention
- Wireframe, Fill and Point Rendering modes implemented
- Hardware Window
- Ambient, Diffuse and Specular lights with color picker
- VRAM and RAM shown in profiler
- Docking
- Menu Bar for the editor
- Inspector Window
- Icon added
- First approach to Mesh rendering
- TextureLoader and MeshLoader
- Unity-like Movement
- K-D Tree Implemention
- First approach to Save and Load
- Explorer Implemention
- Base for the User Interface event system
- Keyboard and Mouse events for the User Interface
- Anchors, Position and Scale of the UI Components serialization
- UIElements texture serialization
- Button implemention
- Checkbox implemention
- Button implemention
- HTML Website
Project
The game engine's layout is based in Unity's design and has a docking functionality. SuSto Engine's game objects work with components, so if the user wants to use a mesh, a Mesh Component will be needed.
Sub-Systems
Hierarchy
GameObjects are shown at the hierarchy. There, they can be selected (by right clicking) and created (with a button above the list of GameObject. Also, by right clicking and then pressing the button delete it will erase the GameObject.
Inspector
- Transform
- Mesh
- Texture
- Camera
- UICanvas
- Other User Interface Elements
Console
- .Clear: clears the log of the console.
- .Help: Shows a list of commands.
Profiler
Mainly, the user can look at the memory usage and the framerate within the profiler window.
User Interface
- Button: A button has 3 textures, an idle texture (when there is no event activated), an over texture (if the cursor is over the element) and a pressed texture (if the element is clicked).
- Image: An image is basicaly a texture rendered in the canvas.
- Checkbox: A checkbox has 2 states, ruled by a bool that changes between true or false if the element is clicked.
- Text: A text is printed in the canvas by converting it to a texture using a font.
- Input Text: The text input is an element that lets the user write text into the space given by the element.
Toolbar
- Move: Selects the current guizmo mode to Movement.
- Rotate: Selects the current guizmo mode to Rotation.
- Scale: Selects the current guizmo mode to Scale.
- Play: Starts the game, every object that is moved during play-time will return to its original position, also for the rotation and scale.
- Pause: Only shown during play-time. It will change to editor mode, stoping the game.
- Draw KDTree: Debug functionality that shows the planes that are dividing the gameobjects to create the KDTree.
- Draw BBoxes: Draws the bounding boxes of all gameobjects that have one.
MIT License
Copyright (c) 2017 Guillem Sunyer Caldú and Simon Stoyanov Beltran
Permission is hereby granted, free of charge, to any person obtaining a copy of th is 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.
Get In Touch
- C/ de la Igualtat 33, Terrassa CP 08222
- simon.stoyanov@hotmail.com
- gsunyercaldu@gmail.com
- @stoyanov_simon
- @6uillem