class ExpressionNS::limitedMuscle |
Limited muscles were a solution to the problem of not using a physical model of the face.
![]() | taglist list of points effected by muscle |
![]() | skin location of point on skin the muscle pulls at |
![]() | bone location of point on bone the muscle pulls towards |
![]() | zone zone of influence (angle) |
![]() | fs distance to start of contraction |
![]() | fe distance to end of contraction |
![]() | clampv scaling value |
![]() | xfactor scaling for x |
![]() | limitedMuscle ( char* name, Vertex ihead, Vertex itail, float ifs, float ife, float izone, float iclampv, float pathlen, float ixfactor, ExpMeshAdapter* bob) |
![]() | ActivateMuscle ( const float val) |
![]() | PrintData () |
![]() | Draw (bool selected) |
Limited muscles were a solution to the problem of not using a physical model of the face. If a standard linear muscle was used for the upper lip behavior the lower lip would be deformed as well. The limited muscle adds a path traversal algorithm to inside/outside test.It also has an addtional x falloff value and should probably only be used for the mouth area. At initialization time the animation system will do the following: Find the closest vertex to the root of the muscle. Walk through the mesh and add verts within check path lengths, this is akin to the Soft selection - edge distance option in 3dsmax. Discard points on paths greater then the length of the path length. Be aware that this constrains the area around the mouth slightly. It should be symmetrical preferably with the edges oriented away from the muscle. I will happily take suggestions as to how this could be improved.
Alphabetic index HTML hierarchy of classes or Java