Releases: ProboxAM/SparkEngine
Releases · ProboxAM/SparkEngine
Assignment 3.0
Skeletal animation sub-system
Features
- It allows the user to import fbx files that contain animations using Assimp.
- The user can create clips of the imported animation and set the clip on loop.
- He can also create an asset called Animation Controller. A state machine that allows the user to create different states and transitions between them. He can create/modify the name/select a clip resource/Delete a state, and Create/Set the trigger/Set the blend value/Delete a transition.
System in-depth
- It reads animations and bones from a fbx file, then we link the bones to a mesh so we can modify it through skinning.
- Then, when a animator component is attached to a game object and a Animator Controller to the component, the object bones will be updated from the animation key values in each frame when we hit play.
- On update, every key frame for every bone, an update transform is called which interpolates the current key values with the next key values of every transform component (position, rotation, scale).
- At the end of the animation, if the clip is setted to loop it will start again.
- If theres a transition to another animation and the transition is triggered, both animation transforms will blend for smoother results.
Assignment 2.0
Features
Engine configuration automatically saves on Engine close.
Resource Management
- Upon start, all resources not in library get imported, if they have meta file, it gets imported with meta file info.
- Upon start, all resources already in library get created from meta.
- Resources in library not linked to any meta get deleted on startup.
- On startup if meta file and resource file are not in same folder, it will move meta to resource folder.
- Reference counting.
Not supported yet:
- Delete resources during execution.
- Move resources from folder to folder during execution.
- Create new folders during execution.
Project Window
- Drag file outside engine will import it to currently selected folder if file is not in Assets.
- Drag fbx file to Scene Window creates a new Game Object with mesh and texture.
- Drag texture file to a GameObject that has texture in Scene Window will apply the texture.
- Double click a scene file will load it.
- Import settings of selected Resource. (Saving changes reimports resource)
- Double click folder to move to it.
- Click folder name on path "top part of window" will move back to that folder.
- Textures in selected folder get referenced and unreferenced on folder change.
- Slider will change size of file icons.
Alert:
Changing import settings of a Model being used in Scene will make it "invisible" untill Scene is reloaded. This can be done loading Scene again from Project or pressing Play and Stop.
Debug
- Component Mesh has a check to show bounding boxes (AABB and OBB).
- Component Texture on Inspector can activate Checkers texture for the GameObject.
- Checkbox in Scene Window to draw Octree.
- Stats button in Game Window shows basic stats like fps, ms and game time.
Controls
Scene
- Mouse Left Click: Select GameObject from Scene.
- Supr: Delete selected GameObject.
- CTRL+S: Save scene.
- CTRL+N: Create new scene.
Camera
- Mouse Hold Right:
- WASD: move forward, left, backward and right
- Look around
- F: focus camera to selected Game Object
- Hold Alt:
- Mouse Hold Right Click: look around target
- Mouse Wheel: zoom in/out
- Mouse Hold Shift: move faster
Assignment 1.2 Release
Features
Game Objects
- Drag fbx creates a new Game Object with mesh and texture.
- Drag texture with Game Object selected applies the texture to it.
- GameObject menu to create primitive shapes (Cube doesn't have uv/normals).
- Activate/Deactivate Game Object components on Inspector.
- Hierarchy shows the Game Object parent/children structure.
Debug
- Component Mesh on Inspector can activate debug vertex normals and face normals.
- Component Texture on Inspector can activate Checkers texture for the GameObject.
- Console window logs geometry loading process and texture loading.
Controls
Camera
- Mouse Hold Right:
- WASD: move forward, left, backward and right
- Look around
- F: focus camera to selected Game Object
- Hold Alt:
- Mouse Hold Left: look around target
- Mouse Wheel: zoom in/out
- Mouse Hold Shift: move faster
Fixes
- Now primitives have a Bounding box.
- Camera RotateAround doesn't bug anymore.
Assignement 1.1 Release
Features
Game Objects
- Drag fbx creates a new Game Object with mesh and texture.
- Drag texture with Game Object selected applies the texture to it.
- GameObject menu to create primitive shapes (Cube doesn't have uv/normals).
- Activate/Deactivate Game Object components on Inspector.
- Hierarchy shows the Game Object parent/children structure.
Debug
- Component Mesh on Inspector can activate debug vertex normals and face normals.
- Component Texture on Inspector can activate Checkers texture for the GameObject.
- Console window logs geometry loading process and texture loading.
Controls
Camera
- Mouse Hold Right:
- WASD: move forward, left, backward and right
- Look around
- F: focus camera to selected Game Object
- Hold Alt:
- Mouse Hold Left: look around target
- Mouse Wheel: zoom in/out
- Mouse Hold Shift: move faster