万本电子书0元读

万本电子书0元读

顶部广告

Panda3D 1.6 Game Engine Beginner's Guide电子书

售       价:¥

10人正在读 | 0人评论 6.2

作       者:David Brian Mathews

出  版  社:Packt Publishing

出版时间:2011-02-09

字       数:116.1万

所属分类: 进口书 > 外文原版书 > 电脑/网络

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
This book is a step-by-step, tutorial-driven guide to game or application development using Panda3D that follows the process used in professional development. You will learn through first-hand experience how a Panda3D developer goes from literally nothing to a finished product. Along the way there are illustrations to explain difficult topics and to display the results of progress, as well as a complete archive of thoroughly explained code for every tutorial. Every single code file the reader saves is mirrored in the example code, finished and explained. In addition, every art and audio asset required by the tutorials is provided, so the user need not provide any assets of their own. If you are an independent developer interested in creating your own video games or other 3D applications using Panda3D for personal or commercial distribution at minimal expense, this book is definitely for you. A basic understanding of general programming, such as familiarity with the concept of a variable, is necessary. Some familiarity with object-oriented programming and the Python language is expected, but not essential. This book does not cover the creation of three dimensional models or similar art assets, nor does it cover the creation of two dimensional art assets or audio assets.
目录展开

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

累计评论(0条) 1个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部