Skip to content

Releases: ProboxAM/SparkEngine

Assignment 3.0

29 Dec 19:50

Choose a tag to compare

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

24 Nov 13:29

Choose a tag to compare

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

27 Oct 17:29

Choose a tag to compare

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

25 Oct 17:51

Choose a tag to compare

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