Intro.pptx

advertisement
CGDD 4113 – 3D MODELING AND
ANIMATION
Course Introduction and Terminology
TOPICS
(ACCORDING TO THE COURSE DESCRIPTION)
• Mesh and Non-uniform Rational B-Splines (NURBs) modeling
• Textures
• Subdivision and levels of model detail
• Rigid/constrained body dynamics
• Non-rigid/fluid dynamics
COURSE LEARNING OUTCOMES
Students will be able to:
1. Describe the mathematics of 3D modeling and animation
2. Apply 3D modeling/animation in generating a complex,
rendered scene
3. Utilize modern applications that streamline the modeling and
animation process
4. Discuss the complexity of modeling and animation and tradeoffs between fidelity and performance
WHY LEARN THAT STUFF?
Description
ArenaNet is looking for an experienced animation programmer to work with our AAA team of artists,
designers and programmers to take our characters to new heights. We seek an experienced
programmer who has the skill and passion to create a cutting edge, industry defining high level
animation system.
Requirements:
• 4+ years of demonstrable experience in C/C++
• Expertise with cutting edge animation techniques
• Excellent mathematical skills (including calculus, linear algebra, and quaternions)
• Experience with modern animation middleware packages
• Experience with modern modeling and animation art tools
• Ability to work with artists and designers
• Able to create maintainable, performance-minded code on schedule
• Previous commercial games development experience
Pluses:
• Experience architecting an animation system
• Experience writing cutting edge character controllers
• Experience with multi-core, multi-threaded systems
• Experience writing high performance IK systems
• Experience with Maya
Post date: 1/7/2011
http://jobs.gamasutra.com/JobSeekerX/ViewJob.asp?JobID=5icMXfq5FnfnubqzhRYChEzn5NC7&Keywords=Maya
THE TRUTH
• Will you really be building models?
• Simple, non-animated – yes, but maybe…
• Animated – doubtful
• Usually hire this out to an artist, who’s much better than you
• Will you really be using math?
• Yes. Absolutely. Yes…. But more when you’re doing graphics
• Shaders (linear algebra)
• Translations, rotations, scaling (linear algebra)
• Collisions (linear algebra)
• Calculus? Only lightly, unless you’re into some really serious …
WHAT YOU SHOULD ALREADY KNOW…
• Basic game concepts
• Importing assets into game engines
TERMINOLOGY
• Pose – the position and orientation of an object
• Vertex – a 3D point (x, y, z)
• Edge – a connection between two vertices (who cares)
• Face – a set of 3 or more (but almost always 3)
• Normal – the direction perpendicular to the face
V1
E1
V3
E2
F
V2
E3
TRANSLATE, ROTATE AND SCALE
Translate – move an object’s position
Rotate – change an object’s orientation
Yaw – Y
Pitch – X
Roll – Z
Scale – change an object’s size
VIEWS AND CAMERAS
• Perspective – depth matters
• Orthogonal – view is parallel
PARTICLE SYSTEMS
• Good for smoke, fire, explosion animations…
• You did these in CS 1302…
• We won’t be studying them because you typically program them
NURBS VS. POLYGONS
WHOSE KUNG-FU IS BETTER?
• Non-Uniform Rational B-splines
• Infinite resolution
• Have CVs (Control Vertices)
• Yes, they are better, but…
• Polygons
• It’s what we (programmers) use
• Usually, these are made into triangles
• Much easier to work with
NURBS VS. POLYGONS
WHOSE KUNG-FU IS BETTER?
RENDERING
• “Drawing” what’s in the scene. Time-consuming.
• Hardware rendering – using your graphics card to render
• A-buffer rendering – a quick way to render
• Raytracing – Good for shiny objects (reflections), but slow
• Maya:
1.
First renders with the A-buffer
2.
Raytraces any objects that need it
3.
Layers the raytraced objects onto the A-buffer image
Download