Demo: Green Dragon

Articles with the tag: Green Dragon

CharSim: release and summary

System architecture for version 001

What I planned in the spec is now complete and ready for release. The GLSL shaders now work at version level 120 (compatible with OpenGL 2.2) in order to support older graphics cards.

What has been the point of the project?

  • Am familiarised with 3D APIs and shaders.
  • Have explored and incorporated third-party libraries.
  • Learn and apply knowledge of mathematics and algorithms for a technical animation framework and basic game engine.
  • Handle debugging using exception handling and gdb.
  • Designed an object-oriented framework model.
  • Used C++ standard library tools (smart pointers to automatically refcount resource objects, lambda functions and their relation to STL algorithms, vectors, lists, maps, iterators).
  • Explored C++ design patterns (abstract classes used as interfaces, compositing and inheritance patterns).
  • Have worked with the distributed version control system Git for revisions and distribution.

Of course there are many features I still want to explore ...

Read More »

Character animation: adding logic for face movement

Bugs: First mesh to be rendered in Mouth Features node has no shading... Mouth features don't always load the first time (FIXED) Have to use SkinnedMorphMesh because MorphMesh is broken, or its resman loader is. (FIXED) Armature stops moving when the focus goes outside the window at certain times. Eyes and other features translated from the origin don't seem to be shaded properly.

Optimisation: I'm loading and rendering dragon character's mouth features (tongue, teeth, etc) as separate meshes. For lots of smaller meshes, it should be more efficient to put them all in one VBO to save a lot of buffer context switching each frame cycle. It should be theoretically possible to load the entire scene in one VBO, though there is a vertex limit.

Features added and active. Not sure why top teeth and eyes are so bright.

[28/06/14 19:54]

Implementing random ...

Read More »

Character animation: eye movement constraints

I'm using simple constraints on the rotation angles for the eyes because that's quick to implement, but that will result in abrupt stops when the eye reaches its rotation limits. A better way would be to determine a Field of Vision (FOV) for the eye, and if the target escapes the boundaries of this FOV, the target can be adjusted according to the desired animation behaviour: it could clamp to the sides, so that the eye is still trained to it, or the eye could simply reset and look at something else.

This way the motion-smoothing acceleration/deceleration of eye-movement will remain, while nicely limiting the eye rotation.

[25/06/14 14:16]

If the eye FOV is defined as a viewing frustum similar to that of the camera, the eye can have its own Eye Space, with the frustum defined as a box. The target point can ...

Read More »

Read More »

Character animation: interactive eye movement

Implemented cursor-following eye movement.

Needs some constraints to prevent the eyes from going inwards, though. It'd be neat if they snap back to looking straight ahead when the cursor is detected to go outside the window. That should be easy to do.

[23/06/14 21:56]

Eyes tend to move in immediate motions, so interpolation isn't necessary, but a small amount would look nice. I also want there to be a slight lag and smoothing in the dragon's head and neck movement - the immediate cursor following doesn't look realistic.

A simple approach to this would be to smooth the target point motion - which is what the head/neck movement and the eye movement are following. It could be mapped to a normalised range which can then be put through functions for smoothing and artificial delays.

Or... better: make another point follow the target point with ...

Read More »

Character animation: adding features

Let's get an eyeball to render in DragonFeaturesNode.

[23/06/14 00:30]

OK, Got the eyeball to render. Now for the hard part: make it move with the bust.

Look into those translation matrices.

One of the morphs seems to move the whole head, making the eye shift out slightly. I HAVE NO IDEA WHY.

Could solve it by having an isMorphable array for the shader, but how would I determine which vertices are supposed to morph?

Read More »

Page 1 / 4 Older »