1. Trang chủ
  2. » Công Nghệ Thông Tin

panda3d 1.6 game engine

356 1,9K 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 356
Dung lượng 6,12 MB

Nội dung

www.it-ebooks.info Panda3D 1.6 Game Engine Beginner's Guide Create your own computer game with this 3D rendering and game development framework David Brian Mathews www.it-ebooks.info Panda3D 1.6 Game Engine Beginner's Guide Copyright © 2011 Packt Publishing All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmied in any form or by any means, without the prior wrien permission of the publisher, except in the case of brief quotaons embedded in crical arcles or reviews. Every eort has been made in the preparaon of this book to ensure the accuracy of the informaon presented. However, the informaon contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book. Packt Publishing has endeavored to provide trademark informaon about all of the companies and products menoned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this informaon. First published: February 2011 Producon Reference: 1040211 Published by Packt Publishing Ltd. 32 Lincoln Road Olton Birmingham, B27 6PA, UK. ISBN 978-1-849512-72-5 www.packtpub.com Cover Image by Charwak A (charwak86@gmail.com) www.it-ebooks.info Credits Author David Brian Mathews Reviewers Paulo Barbeiro Ferreira Joni Hariyanto Acquision Editor Usha Iyer Development Editor Reshma Sundaresan Technical Editors Arun Nadar Manasi Poonthoam Indexer Hemangini Bari Editorial Team Leader Mithun Sehgal Project Team Leader Ashwin Shey Project Coordinators Zainab Bagasrawala Joel Goveya Proofreaders Aaron Nash Jonathan Todd Graphics Nilesh R. Mohite Producon Coordinator Kruthika Bangera Cover Work Kruthika Bangera www.it-ebooks.info About the Author David Brian Mathews is a graduate in Electronic Visualizaon program from the University of Illinois at Chicago. He began programming in the h grade with QBASIC and has been designing games of various kinds, from table-top board games to computer games, since childhood. Prior to entering higher educaon, he served for two years in the United States Navy as a nuclear engineer before being honorably discharged for medical reasons, where he learned discipline, advanced mathemacs, and nuclear theory, as well as teamwork and leadership skills. During his years in school, Mathews earned valuable experience with professional game development methods working both by himself and with teams. He is skilled at programming, 3D modeling and animaon, drawing, and 2D composing. I'd like to thank my friends and family, who have been immensely supporve of me throughout the wring of this book. In parcular, I'd like to thank my mother, Carol Malley, and my friends Je Fuja and William Hebert for all their eorts and sacrices on my behalf. www.it-ebooks.info About the Reviewers Paulo Barbeiro Ferreira is Brazilian, from São Paulo, and graduated in Graphic Design in 2004 at Belas Artes SP college. He is a postgraduate in Game Development at SENAC SP. Paulo started his professional career in 1999 as a web developer. Today, besides the web and mobile applicaon development work, Paulo is involved in experimental educaonal projects in technology and cyber culture at SESC SP, where he leads acvies about creave code and art soware, such as interacve environments, games, and entertainment media. Joni Hariyanto graduated from the Engineering Faculty of Brawijaya University a few years ago. Now, he works as a freelance architect. Actually, he's just a hobbyist in the computer science world. He has been programming since rst grade junior high in languages including Pascal, Python, and C++. Bored with the never changing architectural visualizaon teaching materials at uni, he wandered on the Internet searching for a way to get unlimited control over visualizaon, for the sake of design clarity and without sacricing too much me in the "post-design" phase; that is, rendering the gazillion frames. He stumbled upon Panda3D in 2005, a free 3D game engine, which makes perfect balance of power, exibility, and handling (from programmer's point of view). Liked it, melted with it in no me, thanks to Python. www.it-ebooks.info www.PacktPub.com Support les, eBooks, discount offers, and more You might want to visit www.PacktPub.com for support les and downloads related to your book. Did you know that Packt oers eBook versions of every book published, with PDF and ePub les available? You can upgrade to the eBook version at www.PacktPub.com and as a print book customer, you are entled to a discount on the eBook copy. Get in touch with us at service@packtpub.com for more details. At www.PacktPub.com, you can also read a collecon of free technical arcles, sign up for a range of free newsleers and receive exclusive discounts and oers on Packt books and eBooks. http://PacktLib.PacktPub.com Do you need instant soluons to your IT quesons? PacktLib is Packt's online digital book library. Here, you can access, read and search across Packt's enre library of books. Why Subscribe?  Fully searchable across every book published by Packt  Copy and paste, print, and bookmark content  On demand and accessible via web browser Free Access for Packt account holders If you have an account with Packt at www.PacktPub.com, you can use this to access PacktLib today and view nine enrely free books. Simply use your login credenals for immediate access. www.it-ebooks.info Table of Contents Preface 1 Chapter 1: Installing Panda3D and Preparing a Workspace 7 Geng started with Panda3D installaon packages 8 Time for acon – downloading and installing Panda3D 8 Switching to an advanced text editor 11 Time for acon – downloading and installing Notepad++ 11 Installing the game content 13 Time for acon – demoing Suicide Jockeys 13 Installing oponal tools 14 Blender and Chicken 15 Spacescape 16 Explosion Texture Generator 16 Summary 17 Chapter 2: Creang the Universe: Loading Terrain 19 Notepad++ 20 Seng up a new le in Notepad++ 20 Time for acon – seng up a new le in Notepad++ 20 Imporng Panda3D components 21 Time for acon – imporng DirectStart 21 Creang a World Object 22 Time for acon – creang a World Object 23 Loading the terrain 27 Time for acon – loading the terrain 28 Loading les into Panda3D 30 The model path 30 Eggs 30 Bams 32 NodePaths and nodes 32 www.it-ebooks.info Table of Contents [ ii ] Time for acon – introducing NodePaths and nodes 33 Manipulang NodePaths 35 Time for acon – manipulang NodePaths 36 The Scene Graph 37 Time for acon – understanding parent child inheritance 38 Time for acon – explaining relave coordinate systems 40 Loading a le mulple mes 41 Render aributes 41 Time for acon – demonstrang render aributes 43 Summary 46 Chapter 3: Managing Tasks Over Time 47 The task manager 48 Time for acon – prinng the task list from the task manager 48 Avoiding mulple task managers 49 Adding tasks to the task manager 49 Time for acon – creang a task and adding it to the task manager 50 Time for acon – looking at task stascs 52 Adding a delay to tasks 54 Time for acon – using doMethodLater 54 Using delta me 55 Time for acon – using delta me 56 Over viewing task return opons 57 About the None type object 58 Time for acon – exploring task return opons 58 Priorizing tasks 61 Removing tasks from the task manager 61 Time for acon – removing tasks by name 62 Dissecng task objects 64 Summary 65 Chapter 4: Taking Control: Events and User Input 67 Working with events 67 Time for acon – registering and responding to events 68 Using keyboard events 70 Using a key map 71 Time for acon – creang and using a key map 72 Implemenng advanced cycle controls 75 Time for acon – implemenng acceleraon 75 Time for acon – implemenng throle control 78 Time for acon – implemenng turning 80 Ulizing mouse input and creang camera control 82 www.it-ebooks.info Table of Contents [ iii ] Time for acon – tying the camera to the cycle 82 Reacng to mouse movement 84 Time for acon – turning the camera with the mouse posion 85 Ending event response 86 Summary 87 Chapter 5: Handling Large Programs with Custom Classes 89 Imporng custom classes 89 Time for acon – making and imporng a custom class 90 Adding NodePath funconality to a custom class 93 Time for acon – dening the Cycle class 93 Simulang dri 97 Time for acon – simulang dri 97 Accessing classes from within another class 103 Time for acon – adding an input manager 103 Summary 107 Chapter 6: The World in Acon: Handling Collisions 109 Collision basics: Our rst collision system 109 Time for acon – creang a simple collision detecon system 110 Creang inter-cycle collisions 116 Time for acon – inter-cycle collisions 116 Using BitMasks to organize collisions 122 Time for acon – implemenng BitMasks 123 Time for acon – seng a range of bits with BitMask.range 124 Using Python tags to get colliding objects 126 Time for acon – seng and geng PythonTags 126 Seng up ground collision 128 Time for acon – creang a ground collision system 128 Overview of addional collision solids and handlers 142 Collision solids 142 Collision handlers 144 Summary 144 Chapter 7: Making it Fancy: Lighng, Textures, Filters, and Shaders 145 Adding lighng 145 Time for acon – adding lights to the game 146 Types of lights 149 Applying textures to models 150 Time for acon – creang a bam writer 151 Texture stages 154 Time for acon – using TextureStages 156 Creang lters 161 www.it-ebooks.info [...]... of 3D games Also, Panda3D is Open Source and free for any purpose, including commercial ventures This book will enable you to create finished, marketable computer games using Panda3D and other entirely open source tools, and then sell those games without paying a cent for licensing Panda3D 1.6 Game Engine Beginner's Guide follows a logical progression from a zero start through the game development process... the Game Ready for the Customer Garbage collection Using a custom mouse cursor Building an installer Index 325 325 325 325 325 326 326 327 [ vii ] www.it-ebooks.info www.it-ebooks.info Preface Panda3D is a game engine, a framework for 3D rendering and game development for Python and C++ programs It includes graphics, audio, I/O, collision detection, and other abilities relevant to the creation of 3D games... here with the game nearly complete, it's time to introduce some sound effects and background music to bring the game to life This chapter also introduces editing the config.prc file to change the audio library Panda3D uses Chapter 12, Finishing Touches: Getting the Game Ready for the Customer is the final chapter of the guide and focuses on some important functions for Panda3D- based games, including... necessary for the game ‹‹ Demo the game we'll be creating ‹‹ Install any optional tools desired ‰‰ Blender and Chicken ‰‰ Spacescape ‰‰ Explosion Texture Generator There's no time to waste, so let's get cracking! www.it-ebooks.info Installing Panda3D and Preparing a Workspace Getting started with Panda3D installation packages The kind folks who produce Panda3D have made it very easy to get Panda3D up and... starting up Panda3D From there, you will begin adding objects such as a level and a character to the world inside Panda3D Then, the book will teach you to put the game' s player in control by adding changes over time and responses to user input Then, you will learn how to make it possible for objects in the world to interact with each other by using collision detection and beautify your game with Panda3D' s... Panda3D: 1 Navigate your web browser to www .Panda3D. org 2 Under the Downloads option, you'll see a link labeled SDK Click it 3 If you are using Windows, scroll down this page you'll find a section titled Download other versions This book is written for Panda3D version 1.6. 2, which is the most current stable version at the time of writing Find the link to Panda3D SDK 1.6. 2 and click it If you aren't using... run as intended Summary We spent most of the chapter installing the tools we need to use Panda3D We talked about and installed: ‹‹ Panda3D 1.6. 2 ‹‹ Notepad++ We also talked about some helpful optional tools that can be useful for creating game content Oh, and let's not forget that we took a look at the demo for the game we'll be making over the course of this book! We've got everything prepared now; it's... Download other versions section and find the link to Panda3D SDK 1.6. 2, as before 4 When the download is complete, run the file and this screen will pop up: [8] www.it-ebooks.info Chapter 1 5 Click Next to continue and then accept the terms After that, you'll be prompted about where you want to install Panda3D [9] www.it-ebooks.info Installing Panda3D and Preparing a Workspace 6 The default location... we'll cover in this chapter is how to load a Panda3D game from the command prompt Until the game is packaged and ready for shipping, this is how we'll run it Don't worry, it's easy 1 Open a command prompt by going to the Start menu | All Programs| Accessories and choosing Command Prompt 2 Open Windows Explorer the same way [ 13 ] www.it-ebooks.info Installing Panda3D and Preparing a Workspace 3 In Windows... address it [6] www.it-ebooks.info 1 Installing Panda3D and Preparing a Workspace It's time to take the first big step In this chapter we're going to acquire Panda3D and get our work environment set up Once we have all that done, we're going to take a look at the game we'll be creating over the course of this book In this chapter we shall: ‹‹ Download and install Panda3D ‹‹ Download and install Notepad++ . lter 16 1 Using a sky sphere 16 4 Time for acon – adding a sky sphere 16 4 Summary 16 7 Chapter 8: GUI Goodness: All About the Graphic User Interface 16 9 Creang a menu system 16 9 About DirectGUI 17 0 Time. the game 14 6 Types of lights 14 9 Applying textures to models 15 0 Time for acon – creang a bam writer 15 1 Texture stages 15 4 Time for acon – using TextureStages 15 6 Creang lters 16 1 www.it-ebooks.info Table. www.it-ebooks.info Panda3D 1. 6 Game Engine Beginner's Guide Create your own computer game with this 3D rendering and game development framework David Brian Mathews www.it-ebooks.info Panda3D 1. 6 Game Engine

Ngày đăng: 24/04/2014, 15:43

TỪ KHÓA LIÊN QUAN