Amy Lewis (alewis19) - 471 Final Project

Goal
Make a dream world that the user can explore and interact with. The more it is explored and the more objects that are collided with, the brighter it becomes. Once it is sufficiently bright, the scene ends.

Brief Description
Present the user into a dark dream world. This world includes a field of rainbow sunflowers, a group of hopping and waving bunnies, a pack of happy walking dogs, and lollipops scattered throughout. The user has a first person perspective of the camera and can explore the world using [W] to move forward, [A] to move left, [S] to move down (but not past the ground plane), [D] to move right, and the mouse pad to rotate the angle of the user's view. The user can also move the position of the point light left with [Q] and right with [E]. Collding with an object causes it to turn bright green and float up and away, as well as increaing the brightness of the total scene. Once the user collides with enough objects and the scene is sufficiently bright, all of the object float up and away together and the scene ends.

Lessons
- collision detection is hard to be accurate with objects that have varying heights and widths, so it is better to have bounding boxes around each individual part.
- world/model cordinates: positive y goes up. texture coordinates: positive y goes down (like screen).
- textures must be a power of two in size.
- parametic equations are good for modeling flower pedals.

Knowledge Deepened
- Hierarchical modeling
- dogs have multiple joints that move forward, rotate, and are scaled differently.
- ear waves on bunny
- Collision Detection
- bounding boxes around each individual part of hierarchical models to allow collisions for models with varying heights and widths to be more accurate.
- Texture Mapping
- mapping images to objects (as grass and dog fur)

thumb

flowers

bunnies that hop and wave their right ear

rainbow lollipop

pack of walking dogs

dogs floating away after user collision

end of the scene after it is made sufficiently bright