3d concepts
DESCRIPTION
3D Concepts. Coordinate Systems Coordinates specify points in space 3D coords commonly use X, Y, & Z A vertex is a 'corner' of an object Different coordinate systems have different measurement orientations. 3D Concepts. Coordinate Systems - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: 3D Concepts](https://reader035.vdocuments.mx/reader035/viewer/2022070419/56815b66550346895dc9573e/html5/thumbnails/1.jpg)
3D ConceptsCoordinate Systems• Coordinates specify points in
space• 3D coords commonly use X, Y, &
Z• A vertex is a 'corner' of an object• Different coordinate systems
have different measurement orientations
![Page 2: 3D Concepts](https://reader035.vdocuments.mx/reader035/viewer/2022070419/56815b66550346895dc9573e/html5/thumbnails/2.jpg)
3D Concepts
Coordinate Systems• 3D objects in isolation are
measured in object space• 3D views are measured in world
space
![Page 3: 3D Concepts](https://reader035.vdocuments.mx/reader035/viewer/2022070419/56815b66550346895dc9573e/html5/thumbnails/3.jpg)
3D Concepts
Coordinate Systems
Positive Y
Positive Z
Positive XLeft-Handed coordinate system
![Page 4: 3D Concepts](https://reader035.vdocuments.mx/reader035/viewer/2022070419/56815b66550346895dc9573e/html5/thumbnails/4.jpg)
3D Concepts
Coordinate Systems
Positive Y
Positive Z
Positive XRight-Handed coordinate system
![Page 5: 3D Concepts](https://reader035.vdocuments.mx/reader035/viewer/2022070419/56815b66550346895dc9573e/html5/thumbnails/5.jpg)
3D Concepts
Coordinate Systems• XNA Game Studio world space is
right-handed• 0,0,0 in object space is the
geometric center
![Page 6: 3D Concepts](https://reader035.vdocuments.mx/reader035/viewer/2022070419/56815b66550346895dc9573e/html5/thumbnails/6.jpg)
3D Concepts
3D Models• Defined by their vertices• Simple 3D models are called
primitives: cylinder, cube, cone, sphere
• Simplified model views often use an axis bug instead of a full axis rendition
![Page 7: 3D Concepts](https://reader035.vdocuments.mx/reader035/viewer/2022070419/56815b66550346895dc9573e/html5/thumbnails/7.jpg)
3D Concepts
3D Shapes• Defined by their polygons• Usually triangles are used to
define polygons• 3D shapes are often called
meshes• 3D accelerated graphics cards
work best with triangle polygons
![Page 8: 3D Concepts](https://reader035.vdocuments.mx/reader035/viewer/2022070419/56815b66550346895dc9573e/html5/thumbnails/8.jpg)
3D Concepts
3D Shapes• The polygons that make up a
shape are called faces• Faces within a shape that are not
viewable are called hidden faces• Faces on the backside of a
shape are called back faces
![Page 9: 3D Concepts](https://reader035.vdocuments.mx/reader035/viewer/2022070419/56815b66550346895dc9573e/html5/thumbnails/9.jpg)
Displaying 3D Models
Three-step process:1. Convert to world space
(transformation)
2. Convert to view space(3D rendering)
3. Convert to screen space(2D rendering)
![Page 10: 3D Concepts](https://reader035.vdocuments.mx/reader035/viewer/2022070419/56815b66550346895dc9573e/html5/thumbnails/10.jpg)
Displaying 3D Models
Transformation• Scaling• Rotating• Translating
![Page 11: 3D Concepts](https://reader035.vdocuments.mx/reader035/viewer/2022070419/56815b66550346895dc9573e/html5/thumbnails/11.jpg)
Displaying 3D Models
Scaling• Multiply measurements in each axis • Apply to all of a shape's vertices• Scale factors larger than 1 will make
object bigger• Scale factors smaller than 1 will make
object smaller• Scale factors of 0 or less are not
applicable
![Page 12: 3D Concepts](https://reader035.vdocuments.mx/reader035/viewer/2022070419/56815b66550346895dc9573e/html5/thumbnails/12.jpg)
Displaying 3D Models
Rotation• Each axis is rotated in turn• Order of rotation matters• Roll: rotate around longitudinal (Z) axis• Pitch: rotate around lateral (X) axis• Yaw: rotate around vertical (Y) axis• Common convention is roll-pitch-yaw
ordering
![Page 13: 3D Concepts](https://reader035.vdocuments.mx/reader035/viewer/2022070419/56815b66550346895dc9573e/html5/thumbnails/13.jpg)
Displaying 3D Models
Translation• Moves an object in space• Vectors are applied to a shape’s
vertices to translate it• Shape is not changed• Shape is not re-oriented
![Page 14: 3D Concepts](https://reader035.vdocuments.mx/reader035/viewer/2022070419/56815b66550346895dc9573e/html5/thumbnails/14.jpg)
Displaying 3D Models
Rendering• Process of converting a 3D
model of a shape to 2D picture• Shading• Mapping• Graphing
![Page 15: 3D Concepts](https://reader035.vdocuments.mx/reader035/viewer/2022070419/56815b66550346895dc9573e/html5/thumbnails/15.jpg)
Displaying 3D Models
Rendering• Flat Shading• Lambert Shading• Gouraud Shading• Phong Shading• Fake Phong Shading
![Page 16: 3D Concepts](https://reader035.vdocuments.mx/reader035/viewer/2022070419/56815b66550346895dc9573e/html5/thumbnails/16.jpg)
Displaying 3D Models
Rendering• Texture Mapping• Shaders• Bump Mapping• Environment Mapping• Mipmapping• Scene Graphs
![Page 17: 3D Concepts](https://reader035.vdocuments.mx/reader035/viewer/2022070419/56815b66550346895dc9573e/html5/thumbnails/17.jpg)
Displaying 3D Models
3D Audio• Positioning sound in 3D using
stereo• Balancing left & right & volume
control can approximate 3D position of sound
![Page 18: 3D Concepts](https://reader035.vdocuments.mx/reader035/viewer/2022070419/56815b66550346895dc9573e/html5/thumbnails/18.jpg)
Displaying 3D Models
3D Programming• XNA has built-in methods to use• Scenegraph insertion is not automatic,
but is a useful abstraction • placing (spawning)• transforming• allows us to manually manipulate
objects as well
![Page 19: 3D Concepts](https://reader035.vdocuments.mx/reader035/viewer/2022070419/56815b66550346895dc9573e/html5/thumbnails/19.jpg)
Displaying 3D Models
Lab 1: “Simple Direct Movement”• Move an object from one location
to another• Input script statements directly
via the console
![Page 20: 3D Concepts](https://reader035.vdocuments.mx/reader035/viewer/2022070419/56815b66550346895dc9573e/html5/thumbnails/20.jpg)
Displaying 3D Models
Lab 2: “Programmed Movement”• Move an object from one place to
another over time• Use script files to move objects• Real-time scene manipulation
![Page 21: 3D Concepts](https://reader035.vdocuments.mx/reader035/viewer/2022070419/56815b66550346895dc9573e/html5/thumbnails/21.jpg)
Displaying 3D Models
Lab 3: “Programmed Rotation”• Make an object rotate about one
or more axes• Use script files to move objects• Real-time scene manipulation
![Page 22: 3D Concepts](https://reader035.vdocuments.mx/reader035/viewer/2022070419/56815b66550346895dc9573e/html5/thumbnails/22.jpg)
Displaying 3D Models
Lab 4: “Programmed Scaling”• Change an object's size smoothly
over time• Use script files to re-size objects• Real-time scene manipulation
![Page 23: 3D Concepts](https://reader035.vdocuments.mx/reader035/viewer/2022070419/56815b66550346895dc9573e/html5/thumbnails/23.jpg)
Displaying 3D Models
Lab 5: “Programmed Animation”• Perform complex transformations
smoothly over time• Utilize a loop in game script• Practice ad hoc game animation
using script• Real-time scene manipulation
![Page 24: 3D Concepts](https://reader035.vdocuments.mx/reader035/viewer/2022070419/56815b66550346895dc9573e/html5/thumbnails/24.jpg)
3D Audio
Lab 6: “Animated 3D Audio”• Control sound effect positions in
game world using script• Use script to insert and animate
audio objects• Real-time scene manipulation
![Page 25: 3D Concepts](https://reader035.vdocuments.mx/reader035/viewer/2022070419/56815b66550346895dc9573e/html5/thumbnails/25.jpg)
Summary • 3D coordinates can be expressed as left-
handed or right-handed• Objects are designed in object space, placed
in game world in world space• Object space may use a different coordinate
system than world space, and each uses a different center (zero reference)
• Changing an object's size, orientation, or location is called transforming the object
• Order of transformation matters• The axis order of rotation matters
![Page 26: 3D Concepts](https://reader035.vdocuments.mx/reader035/viewer/2022070419/56815b66550346895dc9573e/html5/thumbnails/26.jpg)
Summary• Converting the mathematical description of
an object to a visual representation on a screen is called rendering
• Scene graphs contain and organize objects in a world in preparation for rendering and manipulation
• Torque provides many script commands for manipulating and moving 3D objects in real time
• 3D Audio effects can be handled in exactly the same way as regular 3D objects