售 价:¥
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
Mastering CryENGINE
Table of Contents
Mastering CryENGINE
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
The jump to CryENGINE 3.5
Other required software
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
1. Setting Up the Perfect Pipeline
What is a production pipeline?
Importance of a strong pipeline
Version control for CryENGINE projects
What version control does for you
Production without version control
Working from a shared folder
Selecting a VCS for CryENGINE projects
Setting up version control for CryENGINE
Sandbox
Perforce setup
Exploring digital content creation tools such as Photoshop and 3ds Max
Visual Studio
Notepad
Identifying CryENGINE project files to be excluded from version control
Automated builds and build scripts
Creating nightly builds
Setting up a build server
Operating systems
What build scripts should do
Creating your custom build script
Writing your own script
Getting the latest files from your version control
Compiling the code
Compiling the assets
Wrapping it up
Scheduling automated builds
Automated performance tests
Using level statistics to profile the performance of a level
Build integration
Integrating a new version of CryENGINE
The engine depot
Project branch
Integration
Quality assurance processes
QA pipeline in larger scale teams
QA pipeline in smaller teams
Working without a QA pipeline
Understanding issue tracking in CryENGINE
Summary
2. Using the CryENGINE Input System – Keyboard, Mouse, and Game Controller
The CryENGINE input system
A layer of abstraction
The input event system
Game actions
Action Maps
Multiple Action Maps
Creating a new Action
Setting up an Action event
Adding an Action mapping
Optional parameters
Trigger options
OnPress parameters
OnHold parameters
OnRelease parameters
Analog input
Modifiers
Triggering console commands
Reacting to Action events
Action events in code
Setting up a new Action listener
Extending PlayerInput
Creating a new handler function
Registering your handler function
Custom Action Maps
Action events in FlowGraph
Filtering Actions
Creating Action Filters
Using Action Filters
Reacting to Input events
Code
FlowGraph
User profiles
Modifying user profiles
DLCs and patches
The input event names reference
Keyboard
Mouse
Xbox 360 controller
PS3 controller
Summary
3. Building Complex Flow Graph Logic
Who uses the flow graph system?
A more complex application of the flow graph
Revisiting the basics of flow graphs
Types of nodes
Entity nodes
Component nodes
Flow graph data format and storage
The entity nodes with dynamic targets
What happens if we input the wrong EntityId?
A more complex application of dynamic EntityIds
Let's take a shortcut
Q – node quick search
F/G – link highlighting
Ctrl + Shift + V – paste nodes with links
Embedding the flow graphs
GameTokens
The GameToken libraries
Reaction to a game token changing its state
The GraphTokens variable
Accessing the Lua functionality
Creating nodes in C++ and Lua
Adding ports to an entity flow graph node
Creating flow graph nodes using the Lua script
Creating flow graph nodes using C++
Summary
4. Morphs and Bones – Creating a Facial Setup for Your Character
Creating a facial setup for a character
Exporting the character's head
Using facial expression libraries
Creating a new facial expression library
Manually creating a library
Automatic creation
Bone rig requirements
Creating expressions in 3ds Max
Creating a Facial Library with Morphs
Mapping the library
Creating expressions
Facial animation
Creating facial sequences
Using facial sequences in the engine
Inside the TrackView editor
Inside the FlowGraph node
Using expressions
The Lip Sync feature
Manual lip synching
Automatic phoneme extraction
Lip sync playback
Quality
Quality – phoneme extraction
Quality – visimes and phonemes
Quality – adding emotions
Summary
5. Mastering Sandbox
Don't stop getting better
Getting faster with keyboard shortcuts
Thinking about hand placement
Object editing modes
Test it!
Aligning objects
Using the deep selection feature
Using the Goto Selection feature
Using camera tag-points
Top five shortcuts
Customizing Sandbox
Customizing the Sandbox window layout
Saving and loading layouts
Working with cameras
Camera targets
Switching cameras
Exploring Sandbox custom commands and macros
Sandbox custom commands and macros
Looking at some lesser-known features
Video recording
Mesh editing
Managing PAK files
Renaming multiple objects
Summary
6. Utilizing Lua Script in CryENGINE
Understanding the relevance of the Lua script in CryENGINE
Lua-based entities
Creating a new Lua-based entity
Assigning a 3D object to an entity
Using entity slots
Setting up physics
Making an entity multiplayer-ready
Understanding the dataflow of Lua entities in a multiplayer environment
The Client/Server functions
The Remote Method Invocation definitions
Using the state machine
Using script binds
Calling script binds
Creating new script binds
Using engine callbacks
Using the Lua debugger
Summary
7. Animating Characters
The CryENGINE animation system
Introducing CryMannequin
Splitting up the game and animation logic
Understanding CryMannequin's purpose
Selecting animations
Starting animations
Fragments, Fragment IDs, and Tags
Extending the state machine
Understanding the state machine hierarchy
Creating a new state
Triggering the new state
Playing animations without CryMannequin
TrackView
Multiple animation layers
CryMannequin tracks
Triggering animation from FlowGraph
The PlayAnimation node
Other animation nodes
The code
Summary
8. Mastering the Smart Objects System
What are SmartObjects?
Where the Smart Objects system is used
Smart Objects categories
Environmental SmartObject
A time-based SmartObject
Navigational SmartObject
The concept of the SmartObject system
The SmartObjects editor
The Window layout of the SmartObject editor
The Rules and Tasks windows
The Rules List window
The Rule Properties window
The SmartObject library
Creating a new SmartObject rule
Preparing the level
Creating the SmartObject rule
Creating the SmartObject classes
Creating the SmartObject states
Creating a SmartObject state pattern
User and Object
Setting up the User and Object class
The state pattern
Creating an AIAction
Selecting actions
Creating the action
Setting up the action and state changes
Getting the level ready
Testing the SmartObject rule
Troubleshooting
Debugging SmartObjects
Debugging AIActions
Changing states from Lua
Summary
9. Eye Candy – Particles, Lens Flares, and More
Types of eye candy
Particle effects
Working with particle effects in CryENGINE
The particle editor
Creating a new particle effect
Customizing the particle parameters
Tweaking the effect
Particle effects at runtime
Lens flares
The lens flare editor
Creating a new lens flare effect
Assigning a lens flare effect to a light
Lens flare effects caused by the sun
Postprocessing effects and the flow graph
Using material FX graphs
Creating a custom material FX graph
Testing the new material effect
Debugging material effects
Postprocessing in TrackView
Using effect tracks in a TrackView sequence
Using track events
Performance considerations
Overdraw
Draw calls
Summary
10. Shipping the Build
Getting your game ready to ship
Optimizing performance
Optimizing levels
Level configuration files
Optimizing shadows
Vegetation
Layers
Testing and QA
Errors and warnings
Log verbosity
Tackling legal issues
Copyright
Credits
CryENGINE license
Things to consider for indies
MobyGames
Preparing your build
Building a release candidate
Auto-loading the first level
PAK files
Fast-loading PAK files
Removing all debug features
Reducing your build size
Shaders
Creating an installer
A ZIP file
Selecting an installer
Dependencies
An icon for your executable
Summary
Index
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜