Unformatted text preview:

MotivationHair ModelingIndividual StrandsIndividual Hair StrandsStrand of HairPolar Coordinate SystemSlide 7Physics of MotionSlide 9CollisionSlide 11Limitations of MethodSetup and Styling HairResultsGroup StrandsLayered Wisp ModelSlide 17Wisp SkeletonWisp EnvelopeSlide 20Hair StrandsCollisionsSlide 23Slide 24Slide 252D StripsSlide 27Setup of HairSlide 29Collision Detection & AvoidanceSlide 31Simplified RepresentationsSlide 33Subdivision FrameworkApply ForcesSlide 36Slide 37Slide 38ReferencesMotivationMotivation•Hair animation used in movies, games, virtual reality, etc.•Problem due to complexity–Human head has over 100,000 strands of hair–Computation time for simulation and rendering is costlyHair ModelingHair Modeling•Different modeling techniques based on desired outcome–Speed vs. Appearance–Short vs. Long–Wavy vs. StraightFinal FantasyIndividual StrandsIndividual Strands•“A Simple Method for Extracting the Natural Beauty of Hair”–K. Anjyo, Y. Usami, and T. Kurihara–Computer Graphics, 1992•“Hair Animation with Collision Detection–T. Kurihara, K. Anjyo, D. Thalmann–Models and Techniques in Computer Animation, 1993Individual Hair StrandsIndividual Hair Strands•Each strand represented as a series of connected line segmentsStrand of HairStrand of Hair•Shape represented by angles specified between two segments•Polar coordinates–Zenith θi–Azimuth Φi•Specify resting position for hair as θ0 and Φ0Polar Coordinate SystemPolar Coordinate SystemPolar Coordinate SystemPolar Coordinate SystemSection 0Node 0Section 1Node 1yxzΦ1θ1N1N2yz0  θ  180°xz0  Ф  360°Nodes, or control points, control the shape of the skeletondMθ = Mθspring + MθexternalMΦ = MΦspring + MΦexternalPhysics of MotionPhysics of Motion•Apply forces to control points•Use torque for resulting motion of control points–Mθspring, MΦspring between two segments–Mθexternal, MΦexternal from external forces •Gravity, WindPhysics of MotionPhysics of MotionWhere kθ and kΦ are spring constants and θ0 and Φ0 are initial anglesWhere • u is (1/2)d, • d is the length of a segment of hair• v is the half length of the segment that is the projection of si onto the Φ plane.CollisionCollision•Hair-Hair collision ignored•Collision Detection with Head and Body–Divide human body into several parts and create a cylindrical representation•Collision detection reduced to checking for control points inside or outside of cylindersCollisionCollision•Collision Reaction–Use lookup table and bi-linear interpolation to find normal vectors for collision response direction–Reaction constraint method by Platt and Barr 1988 is used:N = normal vector at point TV = velocity of point Pc = damping coefficientk = strength of the constraintFinput = applied force to node point PLimitations of MethodLimitations of Method•Simulating each strand very costly•Collision detection is just rough estimation–Can fail to detect collisions•Table Resolution•Some objects cannot be represented well as cylinder, particularly top of head–Cannot be applied to hair-hair collisionsSetup and Styling HairSetup and Styling HairResultsResultsGroup StrandsGroup Strands•Strands close to each other behave similarly•Use some strands as a guide, interpolate position and motion of strands near it•Save computation timeLayered Wisp ModelLayered Wisp Model•“A Layered Wisp Model for Simulating Interactions inside Long Hair”–E. Plante, M. Cani, P. Poulin–Proc. of Eurographics Workshop on Animation and Simulation, 2001•Strands are grouped together into a deformable wispLayered Wisp ModelLayered Wisp Model•Three Layers to Wisp–Skeleton Curve•Defines global motion and deformations–Deformable Envelope•Coats skeleton, defines deformations of wisp sections–Hair Strands•Individual strands of hair for renderingWisp SkeletonWisp Skeleton•Defines global movements and deformations of wisp•Chain of point-masses linked by linear damping•Create motion by applying forces to point-masses•Similar to strand of previous worksWisp EnvelopeWisp Envelope•Surrounds the skeleton and defines deformations of the wisp sections•Responsible for motion that occurs when the group of hair, or wisp, is stretched or compressedWisp EnvelopeWisp Envelope•Broken up into cross-sections that are associated with each point-mass of skeleton•Shape of cross-section dependent on number of envelope point-masses used•Envelope point-masses linked to skeleton point-masses through damped springsHair StrandsHair Strands•Individual strands of hair are placed within the wisp for rendering•Strands placed randomly within cross-section of wisp, skeleton is origin•Catmull-Rom piecewise cubic curves are used to define strandsCollisionsCollisions•Interactions between wisps–Create bounding boxes around wisp segments–Test bounding boxes against each other to detect collision•Checks for penetration of envelope or skeleton point mass into another bounding volume–Wisp envelopes can be compressed depending on orientation of colliding wisps•If same orientation, allow collisionCollisionsCollisions•Check orientations of wisps •Determine if collision is allowed–If not, determine if a point-mass is inside the volume of another wisp section•Volume defined by two cross-sectionsCollisionsCollisions•Interactions between wisp and person–Sliding Contact•Check point-mass close to body (within threshold)•Eliminate velocity of point-mass–Penetration Reaction•If point-mass (either envelope or skeleton) collides with the body, move point-mass outside of body then use “sliding contact” methodResultsResults•http://w3imagis.imag.fr/Publications/2001/PCP01/long.mpg2D Strips2D Strips•“A Simple Physics Model to Animate Human Hair Modeled in 2D Strips in Real Time”–C. K. Koh, Z. Huang–Proc. of Eurographics Workshop on Animation and Simulation, 2001•Group hairs into 2D strips represented as NURBS surfacesPhysics of MotionPhysics of Motion•Dynamic equations are defined and solved for the control points of the surface•Physics model used is same as previous examplesSetup of HairSetup of Hair•Hair strands are represented in layers of strips overlaying each other to cover the head•Surfaces are texture mapped with hair images•Alpha map is used to define transparencySetup of HairSetup of HairCollision Detection & Collision Detection & AvoidanceAvoidance•Hair


View Full Document

UNC-Chapel Hill COMP 259 - Motivation

Download Motivation
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Motivation and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Motivation 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?