售 价:¥
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
Panda3D 1.6 Game Engine
Table of Contents
Panda3D 1.6 Game Engine
Credits
About the Author
About the Reviewers
www.PacktPub.com
Support files, eBooks, discount offers, and more
Why Subscribe?
Free Access for Packt account holders
Preface
Who this book is for
What this book covers
What you need for this book
Conventions
Time for action – heading
What just happened?
Pop quiz – heading
Have a go hero – heading
Reader feedback
Customer support
Errata
Piracy
Questions
1. Installing Panda3D and Preparing a Workspace
Getting started with Panda3D installation packages
Time for action – downloading and installing Panda3D
What just happened?
Switching to an advanced text editor
Time for action – downloading and installing Notepad++
What just happened?
Installing the game content
Time for action – demoing Suicide Jockeys
What just happened?
Installing optional tools
Blender and Chicken
Spacescape
Explosion Texture Generator
Summary
2. Creating the Universe: Loading Terrain
Notepad++
Setting up a new file in Notepad++
Time for action – setting up a new file in Notepad++
What just happened?
Importing Panda3D components
Time for action – importing DirectStart
What just happened?
Creating a World Object
Time for action – creating a World Object
What just happened?
Loading the terrain
Time for action – loading the terrain
What just happened?
Loading files into Panda3D
The model path
Eggs
Bams
Pop Quiz – starting Panda3D and loading models
NodePaths and nodes
Time for action – introducing NodePaths and nodes
What just happened?
Manipulating NodePaths
Time for action – manipulating NodePaths
What just happened?
Have a go hero – more NodePath manipulation
The Scene Graph
Time for action – understanding parent child inheritance
What just happened?
Time for action – explaining relative coordinate systems
What just happened?
Have a go hero – parenting and relative coordinate systems
Loading a file multiple times
Render attributes
Time for action – demonstrating render attributes
What just happened?
Pop Quiz – using NodePaths and understanding Scene Graph inheritance
Have a go hero – render attributes
Summary
3. Managing Tasks Over Time
The task manager
Time for action – printing the task list from the task manager
What just happened?
Avoiding multiple task managers
Adding tasks to the task manager
Time for action – creating a task and adding it to the task manager
What just happened?
Time for action – looking at task statistics
What just happened?
Adding a delay to tasks
Time for action – using doMethodLater
What just happened?
Pop quiz – the task manager
Using delta time
Time for action – using delta time
What just happened?
Pop quiz – delta time
Over viewing task return options
About the None type object
Time for action – exploring task return options
What just happened?
Pop quiz – task return options
Have a go hero – creating more tasks
Prioritizing tasks
Removing tasks from the task manager
Time for action – removing tasks by name
What just happened?
Dissecting task objects
Summary
4. Taking Control: Events and User Input
Working with events
Time for action – registering and responding to events
What just happened?
Pop quiz – working with events
Using keyboard events
Using a key map
Time for action – creating and using a key map
What just happened?
Pop quiz – using keyboard input
Implementing advanced cycle controls
Time for action – implementing acceleration
What just happened?
Time for action – implementing throttle control
What just happened?
Time for action – implementing turning
What just happened?
Utilizing mouse input and creating camera control
Time for action – tying the camera to the cycle
What just happened?
Reacting to mouse movement
Time for action – turning the camera with the mouse position
What just happened?
Pop quiz – utilizing mouse input
Have a go hero – creating more tasks
Ending event response
Summary
5. Handling Large Programs with Custom Classes
Importing custom classes
Time for action – making and importing a custom class
What just happened?
Pop quiz – importing custom classes
Adding NodePath functionality to a custom class
Time for action – defining the Cycle class
What just happened?
Simulating drift
Time for action – simulating drift
What just happened?
Pop quiz – using custom classes with NodePaths
Accessing classes from within another class
Time for action – adding an input manager
What just happened?
Have a go hero – Adding AI to the cycle
Pop quiz – accessing custom classes from other custom classes
Summary
6. The World in Action: Handling Collisions
Collision basics: Our first collision system
Time for action – creating a simple collision detection system
What just happened?
Pop Quiz – regarding basic collision detection
Creating inter-cycle collisions
Time for action – inter-cycle collisions
What just happened?
Pop quiz – understanding handlers that generate events
Have a go hero – using collision events
Using BitMasks to organize collisions
Time for action – implementing BitMasks
What just happened?
Time for action – setting a range of bits with BitMask.range
What just happened?
Pop quiz – understanding BitMasks
Using Python tags to get colliding objects
Time for action – setting and getting PythonTags
What just happened?
Have a go hero – gaining experience with BitMasks and PythonTags
Pop quiz – using Python Tags
Setting up ground collision
Time for action – creating a ground collision system
What just happened?
Pop quiz – complex collision detection
Overview of additional collision solids and handlers
Collision solids
Collision handlers
Summary
7. Making it Fancy: Lighting, Textures, Filters, and Shaders
Adding lighting
Time for action – adding lights to the game
What just happened?
Types of lights
Have a go hero – adding more lights to the scene
Pop quiz – using lights
Applying textures to models
Time for action – creating a bam writer
What just happened?
Have a go hero – loading the bam file
Texture stages
Time for action – using TextureStages
What just happened?
Have a go hero – apply textures
Pop quiz – understanding textures and TextureStages
Creating filters
Time for action – adding a bloom filter
What just happened?
Using a sky sphere
Time for action – adding a sky sphere
What just happened?
Pop quiz – setting up a sky sphere
Summary
8. GUI Goodness: All About the Graphic User Interface
Creating a menu system
About DirectGUI
Time for action – creating a menu system
What just happened?
Pop quiz – understanding DirectGUI
Have a go hero – performing additional actions with new menus
Putting menus to use
Time for action – using menus
What just happened?
In-game HUD
Time for action – creating a basic HUD
What just happened?
Pop quiz – creating a Heads Up Display
Have-a-go hero – proper order of images
Summary
9. Animating in Panda3D
Actors and Animations
Time for action – loading Actors and Animations
What just happened?
Pop quiz – animation basics
Controlling animations
Have a go hero – basic animation controls
Animation blending
Time for action – blending two animations
What just happened?
Creating and using Actor subparts
Time for action – playing animations on subparts
What just happened?
Pop quiz – advanced animation
Exposing joints
Time for action – animating our cycles
What just happened?
Summary
10. Creating Weaponry: Using Mouse Picking and Intervals
Using mouse picking
Time for action – setting up mouse aim
What just happened?
Pop quiz – mouse picking
Understanding Intervals, Sequences, and Parallels
Sequences and Parallels
Creating machine guns
Time for action – using Intervals in Sequences and Parallels
What just happened?
Time for action – adding collision detection to the MachineGun
What just happened?
Implementing the main cannon
Time for action – creating the main cannon
What just happened?
Adding weapon information to the HUD
Time for action – adding a new HUD section
What just happened?
Handling damage response
Time for action – finalizing weapons with damage response
What just happened?
Pop quiz – Intervals
Summary
11. What's that Noise? Using Sound
Editing Config.prc
Time for action – selecting an audio library
What just happened?
Adding music
AudioSound objects
AudioManager objects
Time for action – creating background music
What just happened?
Pop quiz – making music
Adding sound effects
Time for action – generating 3D audio with Audio3DManager
What just happened?
About sound intervals
Pop quiz – sounding off
Summary
12. Finishing Touches: Getting the Game Ready for the Customer
Collecting garbage
Time for action – collecting garbage from the Explosion classes
What just happened?
Time for action – collecting garbage from the Gun classes
What just happened?
Time for action – collecting garbage from the Cycle class
What just happened?
Time for action – collecting garbage from the Track class
What just happened?
Pop quiz – garbage collection
Creating a preloader
Time for action – creating a preloader to load models
What just happened?
File handling
Time for action – reading data from a file
What just happened?
Customizing the mouse cursor
Time for action – customizing the mouse cursor
What just happened?
Have a Go Hero – the end of the race
Pop quiz – using a custom mouse cursor
Creating an Installer
Time for action – packing a Panda3D game
What just happened?
Have a Go Hero – improving load times
Pop quiz – building an installer
Summary
A. Creating a Sky Sphere with Spacescape
Learning Spacescape basics
Time for action – getting started with Spacescape
What just happened?
Blending layers
Time for action – blending layers to create nebulas
What just happened?
Using point stars and billboard stars
Time for action – populating the sky with stars
What just happened?
Creating a sky sphere from a skybox made with Spacescape
Time for action – populating the sky with stars
What just happened?
Time for action – creating the sky sphere in Panda3D
What just happened?
Summary
B. Using Egg-Texture-Cards and ExploTexGen
Using ExploTexGen
Time for action – reading the ExploTexGen documentation
What just happened?
Time for action – designing an explosion
What just happened?
Creating flipbook animations with egg-texture-cards
Time for action – using egg-texture-cards
What just happened?
Additional egg-texture-card options
Summary
C. Pop quiz Answers
Chapter 2: Creating the Universe: Loading Terrain
Starting Panda3D and loading models
Using NodePath and understanding scene graph inheritance
Chapter 3: Managing Tasks Over Time
The task manager
Delta time
Task return options
Chapter 4: Taking Control: Events and User Input
Working with events
Using keyboard input
Utilizing mouse input
Chapter 5: Handling Large Programs with Custom Classes
Importing custom classes
Accessing custom classes from other classes
Chapter 6: The World in Action: Handling Collisions
Regarding basic collision detection
Understanding handlers that generate events
Understanding BitMasks
Using Python tags
Complex collision detection
Chapter 7: Making it Fancy: Lighting, Textures, Filters, and Shaders
Using lights
Understanding textures and TextureStages
Setting up a sky sphere
Chapter 8: GUI Goodness: All About the Graphic User Interface
Understanding DirectGUI
Creating a Heads Up Display
Chapter 9: Animating in Panda3D
Animation basics
Advanced animation
Chapter 10: Creating Weaponry: Using Mouse Picking and Intervals
Mouse picking
Intervals
Chapter 11: What's that Noise? Using Sound
Making music
Sounding off
Chapter 12: Finishing Touches: Getting the Game Ready for the Customer
Garbage collection
Using a custom mouse cursor
Building an installer
Index
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜