So far I have modified my joint system that I created in CSE 169. It involves a hierarchy so that moving the parents affects the children. It takes in a file containing joints, sizes, and poses and creates a skeleton hierarchy that creates a box for each joint.
offset: Distance from the parent joint
boxmin: Lower corner of the box
boxmax: Upper corner of the box
rot*limit: Limit on rotation.
pose: Rotations required to get to a certain position, in radians.
Here's an example file:
balljoint hip_r {
offset 0.1 -0.3 0
boxmin -0.05 -0.3 -0.05
boxmax 0.05 0 0.05
balljoint knee_r {
offset 0 -0.3 0
boxmin -0.05 -0.3 -0.05
boxmax 0.05 0 0.05
rotxlimit -2 0
rotylimit 0 0
rotzlimit 0 0
pose -3 1 2
}
}

The file results in this skeleton.
Earlier, the project was written using old openGL, so I spent time converting it to new openGL by loading a cube obj and using some shaders. From here all I need to do is figure out the various methods for inverse kinematics.
For the final I want to get an inverse kinematic system working in two ways. Analytically, for a two joint system and numerically for a 4 joint system. I also want to animate the joints reaching their appropriate positions, so I am also planning on adding either a simple lerp or rotational velocity to smoothly move the joints into position.
I want to import the Oculus and Touch controllers and be able to specify target points in 3d space that way. If there's time, I want to have a simple sword fighting system, where it will attempt to block your attacks.
No comments:
Post a Comment