Top Banner
CSE 380 – Computer Game Programming Introduction ITS 102 – 3D Modeling for Games Introduction
36

CSE 380 – Computer Game Programming Introduction ITS 102 – 3D Modeling for Games Introduction.

Dec 15, 2015

Download

Documents

Leslie Raff
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: CSE 380 – Computer Game Programming Introduction ITS 102 – 3D Modeling for Games Introduction.

CSE 380 – Computer Game ProgrammingIntroduction

ITS 102 – 3D Modeling for GamesIntroduction

Page 2: CSE 380 – Computer Game Programming Introduction ITS 102 – 3D Modeling for Games Introduction.

Who am I?

Richard McKenna E-mail: [email protected]

Phone: 631-632-9564

Office: CS Room 1436

Office hours: MF 12pm – 1pm

TuTh 1pm - 2pmand by appointment

http://www.cs.stonybrook.edu/~richard

Page 3: CSE 380 – Computer Game Programming Introduction ITS 102 – 3D Modeling for Games Introduction.

Course Homepages• http://www.cs.stonybrook.edu/~richard/its102/

– syllabus– schedule (lecture slides, hw, etc …)– etc.

• http://blackboard.stonybrook.edu– grades

Page 4: CSE 380 – Computer Game Programming Introduction ITS 102 – 3D Modeling for Games Introduction.

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.

Page 5: CSE 380 – Computer Game Programming Introduction ITS 102 – 3D Modeling for Games Introduction.

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.

Page 6: CSE 380 – Computer Game Programming Introduction ITS 102 – 3D Modeling for Games Introduction.

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

Page 7: CSE 380 – Computer Game Programming Introduction ITS 102 – 3D Modeling for Games Introduction.

Seminar GoalsAt 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

Page 8: CSE 380 – Computer Game Programming Introduction ITS 102 – 3D Modeling for Games Introduction.

Course Topics• 3D Concepts

• Using Blender3D

• Meshes

• Materials

• Textures

• 3D Animation

• The Blender Game Engine

Page 9: CSE 380 – Computer Game Programming Introduction ITS 102 – 3D Modeling for Games Introduction.

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

Page 10: CSE 380 – Computer Game Programming Introduction ITS 102 – 3D Modeling for Games Introduction.

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

Page 11: CSE 380 – Computer Game Programming Introduction ITS 102 – 3D Modeling for Games Introduction.

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

Page 12: CSE 380 – Computer Game Programming Introduction ITS 102 – 3D Modeling for Games Introduction.

To really join the industry

Page 13: CSE 380 – Computer Game Programming Introduction ITS 102 – 3D Modeling for Games Introduction.

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

Page 14: CSE 380 – Computer Game Programming Introduction ITS 102 – 3D Modeling for Games Introduction.

Pong by Atari, released to public 1975

Page 15: CSE 380 – Computer Game Programming Introduction ITS 102 – 3D Modeling for Games Introduction.

Battlefield 3 by Electronic Arts/DICE

Page 16: CSE 380 – Computer Game Programming Introduction ITS 102 – 3D Modeling for Games Introduction.

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

Page 17: CSE 380 – Computer Game Programming Introduction ITS 102 – 3D Modeling for Games Introduction.

The Development Team/Army

Designers

Artists

Audio

Engineers

Producers

Programmers

Page 18: CSE 380 – Computer Game Programming Introduction ITS 102 – 3D Modeling for Games Introduction.

Why Blender3D?

• It can make great content

• It's widely used

• It's free

Page 19: CSE 380 – Computer Game Programming Introduction ITS 102 – 3D Modeling for Games Introduction.

Download & Install

• http://www.blender.org/download/get-blender

• Latest version 2.65a

Page 20: CSE 380 – Computer Game Programming Introduction ITS 102 – 3D Modeling for Games Introduction.

Blender 3D: Noob to Pro

• http://en.wikibooks.org/wiki/Blender_3D:_Noob_to_Pro

Page 21: CSE 380 – Computer Game Programming Introduction ITS 102 – 3D Modeling for Games Introduction.

What can blender do?

• Create 3D content• Create 3D worlds• Produce realistic, beautiful, fantastic 2D projected

renderings of 3D content/worlds

Page 22: CSE 380 – Computer Game Programming Introduction ITS 102 – 3D Modeling for Games Introduction.

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

Page 23: CSE 380 – Computer Game Programming Introduction ITS 102 – 3D Modeling for Games Introduction.

Model Data

• Vertices

• Edges

• Faces

• Surface Normals

Page 24: CSE 380 – Computer Game Programming Introduction ITS 102 – 3D Modeling for Games Introduction.

Steps in the Modeling Process

• Object modeling

• Shading

• Lighting

• Rigging

• Posing

Page 25: CSE 380 – Computer Game Programming Introduction ITS 102 – 3D Modeling for Games Introduction.

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?

Page 26: CSE 380 – Computer Game Programming Introduction ITS 102 – 3D Modeling for Games Introduction.

Blender3D Axes

• X, Y, Z– Cartesian Coordinates– Are negative coordinates ok?

• Right-handed System, Huh?

Page 27: CSE 380 – Computer Game Programming Introduction ITS 102 – 3D Modeling for Games Introduction.

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

Page 28: CSE 380 – Computer Game Programming Introduction ITS 102 – 3D Modeling for Games Introduction.

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)

Page 29: CSE 380 – Computer Game Programming Introduction ITS 102 – 3D Modeling for Games Introduction.

Translation, Rotation, & Scaling

Page 30: CSE 380 – Computer Game Programming Introduction ITS 102 – 3D Modeling for Games Introduction.

Multiple Transformations

• They can be combined on an object

• Order of processing matters

Page 31: CSE 380 – Computer Game Programming Introduction ITS 102 – 3D Modeling for Games Introduction.

Projections

• Our 3D worlds are projected onto 2D screens

– Orthographic vs. Perspective projection

Orthographic

Perspective

Page 32: CSE 380 – Computer Game Programming Introduction ITS 102 – 3D Modeling for Games Introduction.

Orthographic views can be useful. Why?

Page 33: CSE 380 – Computer Game Programming Introduction ITS 102 – 3D Modeling for Games Introduction.

Perspective Projection uses Foreshortening

• What's that?

– nearby objects rendered larger than faraway objects– gives the illusion of depth and distance

Page 34: CSE 380 – Computer Game Programming Introduction ITS 102 – 3D Modeling for Games Introduction.

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

Page 35: CSE 380 – Computer Game Programming Introduction ITS 102 – 3D Modeling for Games Introduction.

The Projection Plane

• Depends on camera position and orientation

Page 36: CSE 380 – Computer Game Programming Introduction ITS 102 – 3D Modeling for Games Introduction.

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