Créer une présentation
Télécharger la présentation

Télécharger la présentation
## CSE 380 – Computer Game Programming Introduction

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -

**CSE 380 – Computer Game ProgrammingIntroduction**ITS 102 – 3D Modeling for GamesIntroduction**Who am I?**Richard McKenna E-mail:richard@cs.stonybrook.edu Phone: 631-632-9564 Office: CS Room 1436 Office hours: MF 12pm – 1pm TuTh 1pm - 2pm and by appointment http://www.cs.stonybrook.edu/~richard**Course Homepages**• http://www.cs.stonybrook.edu/~richard/its102/ • syllabus • schedule (lecture slides, hw, etc …) • etc. • http://blackboard.stonybrook.edu • grades**Course Description**• A seminar for students in the College of Information and Technology Studies. Seminar topics vary annually by section and cover a variety of subjects under the scope of information, technology, and engineering studies.**Seminar Description**This course will examine the tools and techniques used for creating animated, textured, 3D models via modeling software. Students in this course will do hands-on exercises using modeling tools and will create their own animated characters using Blender3D.**Course Goals**• To impart a strong sense of academic community • To acquaint first-year students with a full-time member of the faculty engaged in ITS-related studies • To provide students with an opportunity to engage directly with an academic topic in a small setting • To allow for experimentation in curriculum design**Seminar Goals**At the end of the course you should have the following knowledge and skills: • Understand how to construct the geometry for an interesting 3D model using a modeling tool • Understand how to specify material properties for a 3D model • Understand how to make custom textures and to use them to custom texture map your model • Understand how to rig and animate your model • Understand how your animated 3D model may be used by a game application**Course Topics**• 3D Concepts • Using Blender3D • Meshes • Materials • Textures • 3D Animation • The Blender Game Engine**Grading**• All First-Year 102 seminars are graded on an A - C/U basis. Students will be evaluated on the basis of attendance, participation, and work**Course Requirements**• Class Attendance/Participation • Insect Project • Game-Related Event Participation • Nerdfest: Friday, 2/14 @ 6pm in SAC Ballroom • Gamers Guild Playtest Night: Thursday, 5/1 @ 7pm in CS Lobby • Game Programming Competition: Friday, 5/16 @ Wang Center • ITS Requirement**Why study games?**• To get game development jobs • Because it is fun • Because they are complex • Because they push the envelope of computing technology • Bottom line: • games are natural learning devices • making games is a great way to learn other things**Modern Games are Complex**• Can be very complex • Technologies used: • 2D & 3D Graphics • Sound & Music • Networking • Artificial Intelligence • Physics Simulation • Parallel Processing • Custom scripting languages • Etc. • All of it must be implemented efficiently**Blizzard’s World of Warcraft**• Over 10,000,000 subscribers • thousands play simultaneously • players in countries around the world • Requires: • Rich graphical environment • Complex networking • Semi-nude dancing • Needs an army to make it. And: • maintain • update • count profits**The Development Team/Army**Programmers Designers Producers Artists Audio Engineers**Why Blender3D?**• It can make great content • It's widely used • It's free**Download & Install**• http://www.blender.org/download/get-blender • Latest version 2.65a**Blender 3D: Noob to Pro**• http://en.wikibooks.org/wiki/Blender_3D:_Noob_to_Pro**What can blender do?**• Create 3D content • Create 3D worlds • Produce realistic, beautiful, fantastic 2D projected renderings of 3D content/worlds**First, some formal definitions**• What's a 3D model? • an abstract version of an object • renderable • data (vertices, edges, textures, etc.) • What's modeling? • Process of making 3D models**Model Data**• Vertices • Edges • Faces • Surface Normals**Steps in the Modeling Process**• Object modeling • Shading • Lighting • Rigging • Posing**3D World Construction & Rendering**• Based on Geometry • Imagine a model of this room • Everything needs a position in 3D space • think 3D coordinates (x, y, z) • Where's the origin (0,0,0) of our room?**Blender3D Axes**• X, Y, Z • Cartesian Coordinates • Are negative coordinates ok? • Right-handed System, Huh?**Axes of Rotation**• We'll want to rotate stuff • How do we denote a rotation? • We need 2 things: • Axis of rotation • Angle around axis • Right-grip rule**Coordinate Transformations**• Changes an object's coordinate values in some way • Moving an object (translation) • Rotating an object (rotation) • Enlarging or shrinking an object (scaling)**Multiple Transformations**• They can be combined on an object • Order of processing matters**Projections**• Our 3D worlds are projected onto 2D screens • Orthographic vs. Perspective projection Orthographic Perspective**Perspective Projection uses Foreshortening**• What's that? • nearby objects rendered larger than faraway objects • gives the illusion of depth and distance**What's a vanishing point?**• Imagine looking down a set of train tracks • They appear to converge at a point on the horizon • This is the vanishing point**The Projection Plane**• Depends on camera position and orientation**Blender Coordinates**• Global Coordinate System • each scene has its own • fixed origin & orientation • virtual camera may be moved about • Local Coordinate System • each object has its own