售 价:¥
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
CryENGINE 3 Game Development Beginner's Guide
Table of Contents
CryENGINE 3 Game Development Beginner's Guide
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Support files, eBooks, discount offers and more
Why Subscribe?
Free Access for Packt account holders
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Time for action – heading
What just happened?
Pop quiz – heading
Have a go hero – heading
Reader feedback
Customer support
Downloading the example code
Downloading the color images of this book
Errata
Piracy
Questions
1. Introducing the CryENGINE 3 Free SDK
What is the CryENGINE?
Applying your vision
Far Cry by Crytek – first-person shooter
Aion by NCsoft – massively online role-playing game
Crysis by Crytek – first-person shooter
Crysis Warhead by Crytek – first-person shooter
Crysis 2 by Crytek – first-person shooter
CryENGINE 3 Free SDK
What's in it for me?
Do I need a full team to develop with the CryENGINE?
Learning by example
Time for action – installing the CryENGINE 3 Free SDK
What just happened?
Come in...stay awhile
Time for action – load the sample map in the launcher
What just happened?
Visual Studio Express and C++ game code
Acquiring the sample source assets
Time for action – installation of the 3ds Max exporter Plugin
What just happened?
Time for action – downloading and opening the sample assets
What just happened?
Time for action – installing the Adobe Photoshop plugin-CryTif
What just happened?
CryENGINE 3 Sandbox
Time for action – starting Sandbox and WYSIWYP
What just happened?
Getting around in the Sandbox Editor
Time for action – manipulating the perspective camera
What just happened?
Handling level objects
Time for action – selecting and browsing objects
What just happened?
Time for action – saving our work
What just happened?
Have a go hero – free your mind
Summary
2. Breaking Ground with Sandbox
What makes a game?
Reducing, reusing, recycling
Developing out of the box
Time for action - creating a new level
What just happened?
Using the right Heightmap Resolution
Scaling your level with Meters Per Unit
Calculating the real-world size of the terrain
Using or not using terrain
Time for action - creating your own heightmap
What just happened?
Have a go hero – using additional brush settings
Using alternative ways for creating terrain
Generating procedural terrain
Have a go hero – generating procedural terrain
Importing a pre-made heightmap
Pop quiz – level size and scale
Creating terrain textures
Time for action - creating some basic terrain texture layers
What just happened?
Adding altitude and slope
Adjusting the tile resolution
Pop Quiz – terrain texture layers
Creating vegetation
Time for action - creating some flora for your level
What just happened ?
Time for action - setting up time of day and its basic parameters
What just happened?
Have a go hero – moving the sun
Adding Atmosphere
Summary
3. Playable Levels in No Time
Building levels with entities and objects
Starting a level
Creating a spawn point
Time for action - creating a spawn point
What just happened?
Landmarks to guide the player
Using roads in levels
Time for action - creating a road object
What just happened?
Have a go hero – mastering roads
Utilizing layers to organize level objects
Time for action - creating and managing layers
What just happened?
Have a go hero – utilizing layers for multiple developer collaboration
Adding objects using the asset browser
Time for action - adding brushes to the level
What just happened?
White boxing
White boxing using Constructive Solid Geometry (CSG)
Time for action - creating constructive solid geometry
What just happened?
Have a go hero
Adding characters with Artificial Intelligence (AI)
Time for action - place a basic AI entity
What just happened?
Have a go hero
Create an archetype entity
Time for action - creating your own archetype
What just happened?
Pop quiz – essential game objects
Exporting to engine
Time for action - exporting your level to engine
What just happened?
Have a go hero
Summary
4. I'm a Scripter, Not a Coder
Scripting and the CryENGINE 3
Lua usage in the CryENGINE 3
Visual scripting with Flow Graph
Scripted events
Time for action - making a Flow Graph to spawn the player at a specific location
What just happened?
Component and entity nodes
Composition of flow nodes
Have a go hero - experimenting with different flow nodes
Using trigger entities with Flow Graph
Time for action - adding a trigger to Flow Graph and outputting its status
What just happened?
Pop quiz - scripting
AI scripting with Flow Graph
Time for action - creating a patrolling AI
What just happened?
Debugging Flow Graphs using the visual debugger
Time for action - debugging the patrol Flow Graph
What just happened?
Using breakpoints with the visual debugger
Time for action - adding and removing breakpoints
What just happened?
Summary
5. C++ and Compiling Your Own Game Code
Installing Visual C++ 2010 Express Edition
Time for action - downloading and installing Visual C++ 2010 Express
What just happened?
Starting CryENGINE 3 with Visual Studio
Time for action - starting CryENGINE with the debugger attached
What just happened?
Have a go hero - debugging the launcher
Breakpoints, watches, and code
Time for action - setting up your first breakpoint
What just happened?
Have a go hero - stepping through the code
Create a new Lua entity and call C++ code to interact with it
Time for action - creating a new entity
What just happened?
Time for action - placing your entity into your level
What just happened?
How to interact with entities via Lua script
Time for action - making the teleporter usable
What just happened?
Have a go hero - adding Flownode input/outputs to your Lua entity
Time for some real code
Time for action - writing a new scriptbind function in C++
What just happened?
Call the new C++ function from your Lua script
Time for action - changing the teleporter entity to execute the C++ code
What just happened?
Have a go hero - doing the complete teleporter logic in C++
CryENGINE specific data types
Pop quiz - Lua entities and scriptbind functions
Summary
6. User Interface and HUD Creation with Flash
Adobe Flash as a very powerful UI design tool
Time for action – creating a new Flash asset with Adobe Flash
What just happened?
Have a go hero – adding a crosshair to the HUD
Bringing your Flash asset into CryENGINE 3
Time for action – bringing your Flash asset into CryENGINE 3
What just happened?
Time for action – making functions, variables, and movieclips accessible in CryENGINE 3
What just happened?
Different alignment modes for UI elements
Dynamic alignment
Fixed and fullscreen alignment
Using the UI Emulator to display and test your asset
Time for action – starting Sandbox and testing your UIElement
What just happened?
Have a go Hero – extending the ActionScript function
Creating a new UI Action for the new HUD
Time for action – making the HUD work
What just happened?
Have a go Hero – hiding the crosshair if the weapon is zoomed
Basic event handling from Flash to CryENGINE 3
Time for action – creating a simple interactive menu
What just happened?
UI Emulator, UI Actions, and FreeSDK example menus
UI Actions – Flow Graphs to control the UI
UI Action is a standalone, level-independent Flow Graph
UI Action can have start and end nodes
UI Action can be in a disabled state
UI Actions support multitriggering
UIEventSystems and UI Emulator to test your UI
Time for action – using the UI Emulator to test the FreeSDK demo menus
What just happened?
Have a go Hero – creating a new menu page
Pop quiz – UI Actions
Summary
7. Creating Assets for the CryENGINE 3
What are assets?
Understanding the CryENGINE 3 asset pipeline
Exploring the CryENGINE 3 asset file types
Following a workflow for artists
Working with units and scale in CryENGINE 3
Time for action - setting up 3ds Max units to match CryENGINE scale
What just happened?
Matching grid and snap settings between 3ds Max and Sandbox
Using real-world measurement reference
Creating textures for the CryENGINE
Time for action - creating your own texture
What just happened?
Working with the CryTIF (.TIF) format
Creating and exporting custom assets
Time for action - creating and exporting your first model
What just happened?
Using a physics proxy instead of the render geometry for collision
Adjusting physical dynamics with user-defined properties
Creating destructible objects
Time for action - making your object destructible
What just happened?
Have a go hero - use some of the other breakability types
Specifying physics and render dynamics with user defined properties
Breaking two-dimensional assets
Designing breakables with constraints
Pop quiz - creating assets for your games
Using character assets
Following the character creation pipeline
Creating your own characters
Time for action - creating your own skinned character
What just happened?
Creating a character LOD (Level of Detail)
Bone attachments
Creating animations for your character
Time for action - creating animation for a skinned character
What just happened?
.chrparams wildcard mapping
Have a go hero - using the animobject entity for animation playback
Creating animation for rigid body assets
Time for action - creating animation using rigid body data
What just happened?
Have a go hero - using pre-baked physics with .cga objects
Summary
8. Creating Real-time Cutscenes and Cinematic Events
Discovering the Track View editor
Creating a new Track View sequence
Time for action – creating a new sequence
What just happened?
Have a go hero – using Sequence Properties and director node tracks
Adding tracks to the director node
Adjusting Sequence Properties
Animating a camera in Track View
Time for action – animating a camera
What just happened?
Have a go hero – doing more with the tools available
FOV
Playback speed
Curve Editor
Triggering a sequence using Flow Graph
Time for action – triggering a sequence
What just happened?
Have a go hero – triggering sequences even faster and adjusting the PlaySequence FlowNode
Using the Input:Key node to trigger a sequence
StartTime property
BreakOnStop property
Animating entities in Track View
Time for action – animating an entity in Track View
What just happened?
Have a go hero – using other tracks on entities
Entity Visibility track
Animating scale
Entities and their tracks
Playing animations on entities in Track View
Time for action – playing an animation on an entity in Track View
What just happened?
Have a go hero – using more properties for animations on entities
Using Console Variables in Track View
Time for action – adding a Console Variable to a sequence
What just happened?
Have a go hero – animating CVAR values
The t_scale CVAR in Track View
Using Track Events
Time for action – creating some Track Events for a sequence
What just happened?
Capturing video from CryENGINE 3
Time for action – capturing frames from CryENGINE
What just happened?
Have a go hero – increasing frame size and setting useful CVARs for video recording
Useful CVARs for high resolution capturing
Pop quiz – creating cinematics and cutscenes
Summary
9. Immersion through Audio Design
Introducing sound design
Understanding the CryENGINE sound event system
Setting up a project structure
Event grouping
Using categories
Adding events
Reviewing sound event system file formats
Using wavebanks
Getting your first sound into the CryENGINE
Time for action - creating an ambient sound event
What just happened?
Have a go hero - using more ambient volume properties
Leveraging advanced parameters of ambient sounds
Time for action - nesting ambient sounds and using other parameters for sound events
What just happened?
Have a go hero - sound obstruction using area shapes and boxes
Randomizing sounds
Time for action - creating random sounds
What just happened?
Reverb volumes
Time for action - create your own reverb preset
What just happened?
Have a go hero - setting parameters in the reverb preset editor
Adding sounds to particle effects
Time for action - add a sound to a particle effect
What just happened?
Have a go hero - changing sound over time on particles
Using the three different sound control overtime functions
Sound events and weapons
Time for action - add sound to a weapon
What just happened?
Weapon sound workflow tips
Pop quiz - creating sound for your game
Summary
10. Preparing to Share Your Content
Profiling performance in Sandbox
Profiling with display info
Time for action – enabling and reading display info
What just happened?
Understanding draw calls
Visualizing triangle count
Setting budgets
Saving a level's statistics
Time for action – Save Level Statistics
What just happened?
Have a go hero – view additional statistics in the save level stats file
Viewing textures and render targets in the Textures tab
Viewing physical triangle count and physics memory footprints
Reading the Detailed Dependencies tab
Enabling Debug Draw modes
Time for action – enabling Debug Draw modes
What just happened?
Profiles
Time for action – using profiles to break down frame-time performance
What just happened?
Optimizing levels with VisAreas and Portals
Time for action – set up a VisArea
What just happened?
Ambient color of VisAreas and Portals
Blind spots
Using VisAreas and Portals vertically
Light clipping boxes and areas
Time for action – create a light clipping box
What just happened?
Using a concave light shape
Linking to multiple light shapes
Activating and deactivating layers
Time for action – use layer switching logic
What just happened?
Limitations of layer switching
Cinematics
Pop quiz – performance profiling
Packaging your content to share
CryDev project database
Time for action – create a team, project, and share an upload
What just happened?
Summary
A. Pop Quiz Answers
Chapter 2, Breaking Ground with Sandbox
Pop quiz – level size and scale
Pop quiz – Terrain texture layers
Chapter 3, Playable Levels in No Time
Pop quiz – essential game objects
Chapter 4, I’m a Scripter Not a Coder
Pop quiz – scripting
Chapter 5, C++ and Compiling Your Own Game Code
Pop quiz – lua entities and scriptbind functions
Chapter 6, User Interface and HUD Creation with Flash
Pop quiz – UI Actions
Chapter 7, Creating Assets for the CryENGINE 3
Pop quiz - creating assets for your games
Chapter 8, Creating Real-time Cutscenes and Cinematic Events
Pop quiz – creating cinematics and cutscenes
Chapter 9, Immersion through Audio Design
Pop quiz – creating sound for your game
Chapter 10, Preparing to Share Your Content
Pop quiz – performance profiling
Index
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜