140 likes | 258 Views
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.
E N D
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: • Describe the mathematics of 3D modeling and animation • Apply 3D modeling/animation in generating a complex, rendered scene • Utilize modern applications that streamline the modeling and animation process • Discuss the complexity of modeling and animation and trade-offs between fidelity and performance
Why Learn That Stuff? DescriptionArenaNet 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 experiencePluses:• 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 E2 F E1 V2 E3 V3
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. PolygonsWhose 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
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: • First renders with the A-buffer • Raytraces any objects that need it • Layers the raytraced objects onto the A-buffer image