O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Building Interactive Worlds in 3D

Book Description

In Building Interactive Worlds in 3D readers will find turnkey tutorials that detail all the steps required to build simulations and interactions, utilize virtual cameras, virtual actors (with self-determined behaviors), and real-time physics including gravity, collision, and topography. With the free software demos included, 3D artists and developers can learn to build a fully functioning prototype. The book is dynamic enough to give both those with a programming background as well as those who are just getting their feet wet challenging and engaging tutorials in virtual set design, using Virtools. Other software discussed is: Lightwave, and Maya. The book is constructed so that, depending on your project and design needs, you can read the text or interviews independently and/or use the book as reference for individual tutorials on a project-by-project basis. Each tutorial is followed by a short interview with a 3D graphics professional in order to provide insight and additional advice on particular interactive 3D techniques-from user, designer, artist, and producer perspectives.

Table of Contents

  1. Cover
  2. Half Title
  3. Title Page
  4. Copyright
  5. Table of Contents
  6. Acknowledgments
  7. Contributors
  8. Preface
  9. Introduction
  10. Chapter 1: Emergence of Virtual Spaces
    1. 1. Emergence
    2. 2. Discussion about Virtual Spaces
      1. 2.1 Let’s Start the Discussion
      2. 2.2 Notes on the Discussion
  11. Chapter 2: The Basic 3D Kit
    1. 1. The Roadmap
    2. 2. The Making of Cyclop, an Interactive Character in Maya
      1. 2.1 Tour of Maya’s Interface
      2. 2.2 Modeling
      3. 2.3 Materials and Textures
      4. 2.4 Building a Skeleton with Inverse Kinematics
      5. 2.5 Creating a Walk Animation
      6. 2.6 How to Export the Character to Virtools
      7. 2.7 What Did You Learn in This Tutorial?
    3. 3. Creating a 3D Immersive Environment
      1. 3.1 Creating the Ground
      2. 3.2 Painting the Trees
      3. 3.3 Painting Grass
      4. 3.4 Conversion of 3D Models to Polygonal Meshes
      5. 3.5 Reducing the Number of Polygons
      6. 3.6 Materials and Textures
      7. 3.7 How to Export the Scene to Virtools
      8. 3.8 Setting Up the Scene in Virtools
      9. 3.9 Loading Textures from Maya in Virtools
      10. 3.10 Creating a Skybox
      11. 3.11 Using Textures with Alpha-Channels
      12. 3.12 Importing a Character
      13. 3.13 The Character Stands on the Floor
      14. 3.14 The Character Walks
      15. 3.15 What Did You Learn in This Tutorial?
  12. Chapter 3: Interactive Textures and Lighting Design
    1. 1. Introduction
      1. 1.1 Bitmaps and Procedural Images
      2. 1.2 Shaders
      3. 1.3 Displacement Maps
      4. 1.4 Procedural Painting
      5. 1.5 Particle Animation
    2. 2. Texture Primer: Creating a Skybox
      1. 2.1 Origins of the Skybox
      2. 2.2 Skybox Tutorial
      3. 2.3 Design of a Skybox in Lightwave Modeler
      4. 2.4 Create a Scene with Lights and Cameras in Lightwave
      5. 2.5 Creating a Database to Manage 3D Assets in Virtools
    3. 3. Create Interactive Textures: Bitmaps and Procedural Images
      1. 3.1 Blending Textures Looped in Time
      2. 3.2 Blending Textures Controlled by Viewer’s Input
      3. 3.3 Scrolling Textures
      4. 3.4 Scrolling Texture with a Transparent Background
      5. 3.5 Playing Movie Clips in a Loop Controlled by the Viewer
      6. 3.6 Playing Movie Clips Controlled by the Viewer
      7. 3.7 Using a Live Video from a Virtual Camera
      8. 3.8 Texturing with a Random Live Video Signal
      9. 3.9 Texturing with Live Video Signals Controlled by the Mouse
      10. 3.10 Controlling a Texture with an Animated Character
      11. 3.11 Texturing with Two Distinct Live Video Signals
      12. 3.12 Texturing with Two Live Video Signals Reflected in a Mirror
      13. 3.13 Texturing with Live Video Stream from a Video Camera
    4. 4. Programmable Shaders
      1. 4.1 The X-Ray Shader, Created by Zach Rosen
      2. 4.2 Focus and Defocus
    5. 5. Displacement Maps
    6. 6. Vertex Painting
    7. 7. Procedural Painting
      1. 7.1 Painting in 3D with One Texture
    8. 8. Examples of Particle Animation
      1. 8.1 Designing a Planar Particle Emitter
        1. 8.1.1 Creating the Particle Emitter
      2. 8.2 Designing Behaviors for Flying Particles
        1. 8.2.1 Particle Emitters
        2. 8.2.2 Particle Deflectors
        3. 8.2.3 3D Objects Can Replace Textures in a Particle Animation Setup
    9. 9. Design of a Futuristic City
      1. 9.1 Designing the City
        1. 9.1.1 Creating Textures in Photoshop®
        2. 9.1.2 Modeling the Cityscape in Bryce
        3. 9.1.3 Textures, Lights, and Cameras
      2. 9.2 Particle Animation and Texture Blending in Virtools
        1. 9.2.1 Texture Blending
        2. 9.2.2 Particle Animation of the Traffic of Flying Vehicles
        3. 9.2.3 Particle Animation of the Fires
  13. Chapter 4: Kinematics
    1. 1. Introduction
      1. 1.1 Kinematics
      2. 1.2 Key-Frame Animations
      3. 1.3 Why Use Event-Driven Motions?
        1. 1.3.1 Hybrid Animation Systems
        2. 1.3.2 Parametric Animations
      4. 1.4 Using Pseudophysics
      5. 1.5 Virtual Worlds with Physics
      6. 1.6 Moving Physicalized 3D Objects
        1. 1.6.1 Translation with Physics
        2. 1.6.2 Rotation with Physics
        3. 1.6.3 Adding New Objects to a Simulation with Physics
    2. 2. Creating Simple Motions and Manipulations
      1. 2.1 Rolling Stones
      2. 2.2 Multiple Collisions
      3. 2.3 Driving
        1. 2.3.1 Driving with Pseudophysics
        2. 2.3.2 Driving a String of Balls with Physics
      4. 2.4 Springs
        1. 2.4.1 Setting Up Physics for the Falling Object
    3. 3. Mesh Deformations
      1. 3.1 Twisting and Bending
        1. 3.1.1 Twisting
        2. 3.1.2 Bending
      2. 3.2 Applying Noise to a Mesh
      3. 3.3 Interactive Displacement of Vertices of a Mesh with a Mouse
      4. 3.4 Moving One Vertex at a Time by Hand
    4. 4. Complex Moving Structures
      1. 4.1 Snake
        1. 4.1.1 Building the Snake
        2. 4.1.2 Driving the Snake
      2. 5. Inverse Kinematics
        1. 5.1 Bird
        2. 5.2 The Hand
    5. 6. Motion Planning
      1. 6.1 “3D Hand with a Pendulum” Project
      2. 6.2 Path Finding
        1. 6.2.1 Setting Up a Character with Path Finding on a Terrain
        2. 6.2.2 Moving Goals through Time
    6. 7. Conclusion
  14. Chapter 5: Interactive Paths
    1. 1. Story of a Famous Path
      1. 1.1 Designing Paths
      2. 1.2 Managing Paths
    2. 2. Paths Tutorials
      1. 2.1 How to Set Up the Path of an Insect Flying Along the Branch of a Tree
      2. 2.2 Controlling the Speed of a Camera on a Path
      3. 2.3 Interactive Motion Control of a Camera on a Path
      4. 2.4 Cameras Can Jump from One Path to Another
      5. 2.5 Viewers Can Jump from One Camera to the Other
      6. 2.6 How to Switch Cameras on the Same Path
      7. 2.7 How a Moving Object on a Path Can Detect and Avoid Obstacles
      8. 2.8 How to Record a Path on the Fly
    3. 3. The Donut Tutorial: Setting Up a Camera Inside an Interactive Race Track
      1. 3.1 Conceptual Design
      2. 3.2 Let’s Start the Tutorial
        1. 3.2.1 Conceptual Design
        2. 3.2.2 Modeling a Donut-Shaped Ring
        3. 3.2.3 Texturing the Donut
        4. 3.2.4 Adding Lights and Cameras
        5. 3.2.5 Drawing a Path
        6. 3.2.6 Creating an Interactive Path
        7. 3.2.7 Controlling the Camera’s Speed on the Path
        8. 3.2.8 Switching between Path Camera and Free Camera
        9. 3.2.9 Creating Interactive Textures
        10. 3.2.10 Adding an Additional Top View Helps to Keep Track of the Locations of Cameras on the Circuit
  15. Chapter 6: Virtual Cameras
    1. 1. Introduction
      1. 1.1 Relationships between Virtual Cameras and the Environment of a Scene
      2. 1.2 The Psychology of the Viewer
      3. 1.3 Cameras are Rarely Working Alone
    2. 2. Building Virtual Cameras
      1. 2.1 Motion Stabilization
      2. 2.2 Virtual Cinematography
        1. 2.2.1 Character-Dependent Camera
        2. 2.2.2 Camera System Independent from Characters
    3. 3. How to Design Behaviors for Interactive Cameras that Produce the Same Effect as Cameras Found in Movies
      1. 3.1 Notes about Rear Window by Alfred Hitchcock
      2. 3.2 The Design of the Hitch Camera
      3. 3.3 Notes about Paths of Glory by Stanley Kubrick
      4. 3.4 The Design of a Maze Camera
      5. 3.5 Notes about L’Avventura by Antonioni
    4. 4. Conclusion
  16. Chapter 7: Advanced Virtual Cameras and Their Environments
    1. 1. Conceptual Design
      1. 1.1 Step 1: Conceptual Design
      2. 1.2 Step 2: Cameras and Navigation
      3. 1.3 Step 3: The Following Questions Are Related to the Viewer’s Experience
    2. 2. Advanced Virtual Camera Development for the Diner Project
      1. 2.1 Step 1: Diner: Conceptual Design
      2. 2.2 Step 2: Cameras and Ways to Navigate Inside the Virtual World
      3. 2.3 Step 3: The Viewer’s Experience
    3. 3. Virtual Camera Development for Nighthawks
      1. 3.1 Step 1: Conceptual Design
      2. 3.2 Step 2: Cameras and Navigation
      3. 3.3 Step 3: User Experience
    4. 4. Virtual Archeology at Aphrodisias 2003
    5. 5. Conclusion
  17. Chapter 8: The Viewer’s Experience, Interactive Installations, and Displays
    1. 1. The Viewer’s Interaction
    2. 2. Serial Input Devices
      1. 2.1 Technological Path for Serial Input Devices for a Virtual World
      2. 2.2 An Example of Virtual Space Installation Using an Ultrasound Sensor
      3. 2.3 Passing Variables from the Outside World Inside Virtools
      4. 2.4 Embedding a Virtools Scene Inside a Director Movie
      5. 2.5 Serial Communication
      6. 2.6 Sensors
      7. 2.7 Using Active X with Microsoft Visual Basic®
    3. 3. Using a Telephone as an Input Device
      1. 3.1 Technological Path
      2. 3.2 An Example of a Virtual Space Installation Using a Telephone in Virtools
    4. 4. Musical Instrument Digital Interface
      1. 4.1 Setting Up MIDI Channels
      2. 4.2 Sensor and Microcontroller
      3. 4.3 Virtools and Max Configuration
    5. 5. Data Glove
    6. 6. Infrared Sensors and Mouse-Driven Devices
    7. 7. Game Controller
    8. 8. Sound as an Input Device
      1. 8.1 Using a Threshold
      2. 8.2 Sampling Sound
    9. 9. Navigation
      1. 9.1 Example of Process
      2. 9.2 Interface Design and Content Management
        1. 9.2.1 Static Interfaces—Creating a Push Button and a Mouse Rollover
        2. 9.2.2 Dynamic Interfaces—Examples of 3D Interfaces
        3. 9.2.3 How to Create a 3D Mouse Pointer
        4. 9.2.4 How to Create an Interface Design for a 3D Character
    10. 10. Displays
      1. 10.1 Multiscreen Displays
      2. 10.2 Split View with Two Rendering Windows
      3. 10.3 Comics Split Views
      4. 10.4 Multiple Screens Display
    11. 11. Conclusion: The Shape of Things to Come
  18. Bibliography
  19. Index