Index
A
- animation
- previewing, by adjusting scene elements / Adjusting the scene elements to preview the animation
- previewing, in game view / Previewing the hit animation in the game view
- animation curve
- animator controller
- setting up / Setting up the animator controller
- second layer, creating / Creating a second layer in the animator controller
- updating, for including face animation / Updating the animator controller to include the face animation
- Snarl state, adding / Adding the Snarl state
- Null state, creating / Creating a Null state
- transitions, setting between Null and Snarl states / Setting transitions between the Null and Snarl states
- used, for driving blendshape animation / Driving a blendshape animation with the animator controller
- updating, to handle blendshape animation / Updating the animator to handle the blendshape animation
- animator controller, setting up
- steps / Setting up the animator controller
- states, creating / Creating states
- parameter, creating / Creating a parameter
- transitions, adding / Adding transitions
- script, writing / Writing the script
- arm joints, rigging process
- creating / Creating the arm joints
- finger joints, cloning / Cloning the finger joints
- Avatar
- creating / Adjusting the rig import settings and creating the Avatar, Creating the Avatar
- characters pose, adjusting / Adjusting the character's pose
- bone hierarchy, checking / Checking the bone hierarchy in the Avatar
- Avatar Body Masks
- working with / Working with Avatar Body Masks
- new scene, opening / Opening the new scene
- Avatar masks
- adding / Adding more Avatar masks
B
- bipeds parameters
- adjusting / Adjusting the Biped's parameters
- adjusting, to fit character / Adjusting the Biped to fit the character
- X-ray mode, switching to / Switching to X-ray mode and freezing the character mesh
- character mesh, freezing / Switching to X-ray mode and freezing the character mesh
- bone display colors, changing / Changing bone display colors
- bones, scaling to match character model / Scaling and orienting the bones to match the character model
- bones, orienting to match character model / Scaling and orienting the bones to match the character model
- joints, repositioning for pony tail / Repositioning the joints for the ponytail and jaw
- joints, repositioning for jaw / Repositioning the joints for the ponytail and jaw
- limb positions, adjusting / Adjusting limb positions
- bones, renaming / Renaming bones
- shortcuts, using / Copying and pasting the position, rotation, and scale data from one side to the other
- blended animation
- testing, in game / Testing the blended animation in the game
- collectable prefabs, instancing / Instancing the collectable prefabs
- previewing / Previewing the blended animation
- blendshape animation
- driving, with animator controller / Driving a blendshape animation with the animator controller
- viewing, in Unity / Viewing the blendshape in Unity
- face blendshape, keyframing / Keyframing the face blendshape
- handling, by updating animator controller / Updating the animator to handle the blendshape animation
- Blendshape or Morph Target / Driving a blendshape animation with the animator controller
- Blend Tree
- adding, to players existing animator controller / Adding a Blend Tree to the player's existing animator controller
- used, for adding strafing animation to player character / Adding strafing animation to the player character with a Blend Tree
- properties, using / Using Blend Tree properties
- parameter / Using Blend Tree properties
- blending graph / Using Blend Tree properties
- motions group / Using Blend Tree properties
- motion clips, adding / Adding the motion clips to the Blend Tree
- parameters, adding / Adding and adjusting the Blend Tree parameters and thresholds
- thresholds, adding / Adding and adjusting the Blend Tree parameters and thresholds
- thresholds, adjusting / Adding and adjusting the Blend Tree parameters and thresholds
- parameters, adjusting / Adding and adjusting the Blend Tree parameters and thresholds
- accommodating, by updating character script / Updating the character script to use the Blend Tree
- testing, in game view / Testing the Blend Tree in the Game View
- used, for varying pickup animation / Varying the pickup animation with a Blend Tree
- creating, in Pickup state / Creating a Blend Tree in the Pickup state
- pickup Blend Tree parameter, setting up / Setting the pickup Blend Tree parameter
- threshold, setting for pickup Blend Tree / Setting the threshold for the pickup Blend Tree
- character animation script, editing / Editing the character animation script to accommodate the pickup Blend Tree
- Collectable script, updating / Updating the Collectable script to include a weight variable
- objectWeight variable, sending / Sending the objectWeight variable
- blended animation, testing / Testing the blended animation in the game
C
- character
- skinning, with skin modifier / Skinning the character using the skin modifier
- character, skinning
- skin modifier, using / Skinning the character using the skin modifier
- selection set, creating / Creating a selection set
- default pose, saving / Saving the default pose
- test pose, creating / Creating the test pose
- character animation script
- Pick function, updating / Updating the Pick function in the character animation script
- character joints
- fine tuning / Fine-tuning the character joints
- rotational limits of upper arm, adjusting / Adjusting the rotational limits of the upper arm
- rotational limits of forearm, adjusting / Adjusting the rotational limits of the forearm
- rotational limits of head, adjusting / Adjusting the rotational limits of the head
- character script
- updating, for using Blend Tree / Updating the character script to use the Blend Tree
- collectable objects
- adding / Adding and implementing collectable objects
- implementing / Adding and implementing collectable objects
- lunchbox collectable, instantiating into game level / Instantiating the lunchBox collectable in the game level
- lunchbox collectables components, inspecting / Inspecting the lunchBox collectable's components
- player characters response, setting up / Setting up the player character's response
- lunchbox collectable, testing / Testing the lunchBox collectable
- Collectable script
- updating, for including weight variable / Updating the Collectable script to include a weight variable
- collision objects
- adjusting / Adjusting collision objects
- capsule collider radius, adjusting / Adjusting the radius of the capsule collider to fit the leg
- heads collider, adjusting / Adjusting the head's collider
- considerations, modeling
- polycount / Modeling for animation
- mesh density / Modeling for animation
- Quads and Triangles / Modeling for animation
- cross sections / Adjusting envelopes
- custom joint, adding to ragdoll object
- about / Adding a custom joint to the ragdoll
- capsule collider, adding to ponytail / Adding a capsule collider to the ponytail
- Rigidbody component, adding / Adding a Rigidbody component
- character joint, adding / Adding the character joint
D
- 3ds Max
- rigging process / Rigging in 3ds Max
E
- Edge Loop / Modeling for animation
- enemy
- importing / Importing our enemy
- material, organizing / Organizing the material and textures
- textures, organizing / Organizing the material and textures
- import scale, adjusting / Adjusting the import scale
- rig import settings, adjusting / Adjusting the rig import settings and creating the Avatar
- Avatar, creating / Adjusting the rig import settings and creating the Avatar
F
- FBX files / Importing our enemy
- female zombie character
- snarl face animation, adding / Adding the snarl face animation to the female zombie character
- First-Person Shooter (FPS) / Adding the character controller
- five walk variations
- creating, from walk cycles / Creating five walk variations from two walk cycles
- Forward Kinematics (FK) / Creating the test pose
G
- GameObject.FindWithTag method / Associating tags with the enemy and player game objects
- Generic format / Choosing the appropriate rig import settings
- GetComponent method / Creating a script to see both animation loops in action
H
- hinge joint
- adding / Adding a hinge joint
- Humanoid animation / Choosing the appropriate rig import settings
- Humanoid Avatar / Minimum requirements
- Humanoid format / Choosing the appropriate rig import settings
I
- import settings
- adjusting / Adjusting import settings to get a better fit
- duplicate walk cycle, creating / Creating a duplicate walk cycle
- motion parameters, adjusting / Adjusting the motion parameters
- muscle limits, adjusting / Adjusting the muscle limits
- initial ragdoll
- generating / Generating the initial ragdoll
- bones, assigning to list / Assigning bones to the ragdoll list
- mass, assigning / Assigning mass
- default ragdoll, previewing / Previewing the default ragdoll
- Inverse Kinematics (IK) / Rigging in 3ds Max, Creating the test pose
- IsSnarling parameter
- creating / Creating the IsSnarling parameter
- isTurning parameter
- setting / Setting up the IsTurning parameter
- transitions, creating to connect turning state / Creating the transitions to connect the turning state
J
- joints, Unity
- about / Introduction to joints in Unity
- test scene, creating / Creating a test scene
- hinge joint, adding / Adding a hinge joint
L
- Legacy format / Choosing the appropriate rig import settings
- leg and arm chains, rigging process
- mirroring / Mirroring joints for the leg and arm chains
- connecting / Connecting the arm and leg chains
- ponytail, creating / Creating the ponytail and jaw joints
- jaw joints, creating / Creating the ponytail and jaw joints
- joint transforms, aligning / Aligning joint transforms
- test pose, creating / Creating a test pose
- lunchbox collectables components
- inspecting / Inspecting the lunchBox collectable's components
- collectable script, viewing / Looking at the collectable script
- self destruction, implementing / Implementing self destruction in the collectable script
M
- material, ragdoll object
- assigning / Assigning the material
- initial ragdoll, generating / Generating the initial ragdoll
- collision objects, adjusting / Adjusting collision objects
- character joints, fine tuning / Fine-tuning the character joints
- rotational head limits, adjusting / Adjusting the rotational limits of the head
- custom joint, adding / Adding a custom joint to the ragdoll
- ragdoll, saving as prefab / Saving the ragdoll as a prefab
- Maya
- rigging process / Rigging in Maya
- Mecanim / Choosing the appropriate rig import settings
- modeling
- for animation / Modeling for animation
- considerations / Modeling for animation
- motion capture
- characteristics / Introduction to motion capture sequences and their characteristics
- sequences, creating / Introduction to motion capture sequences and their characteristics
- motion capture sequence
- creating / Introduction to motion capture sequences and their characteristics
- using, with pre-rigged model / Using a motion capture sequence with a pre-rigged model, Getting started
- importing / Importing the motion capture sequence
- import settings, adjustiing / Adjusting the import settings
- rig import settings, adjustiing / Adjusting the rig import settings
- adjusting, in Animations tab / Adjusting the sequence in the Animations tab
- second walk cycle, creating / Creating the second walk cycle
N
- navMesh
- used, for pathfinding / Pathfinding and obstacle detection with navMesh
- used, for obstacle detection / Pathfinding and obstacle detection with navMesh
- navigation, suspending during turn / Suspending navigation during the turn
- navigation, adjusting / Adjusting navigation during the attack
- Attack function, modifying / Modifying the Attack function
- ngons / Modeling for animation
O
- objectWeight variable
- sending / Sending the objectWeight variable
P
- patrol behavior
- setting up / Setting up the patrol behavior
- variables, adding / Adding variables for the patrol
- initial patrol point code, adding for function updation / Adding the initial patrol code to the Update function
- Pick function / Updating the FPSAnimation script
- updating, in character animation script / Updating the Pick function in the character animation script
- pickup animation
- varying, with Blend Tree / Varying the pickup animation with a Blend Tree
- pickup_heavy animation sequence, viewing / Viewing the pickup_heavy animation sequence
- pickup Blend Tree parameter
- setting / Setting the pickup Blend Tree parameter
- Pickup state
- adding, to animator controller / Adding the Pickup state to the animator controller
- transitions and parameter, setting / Setting the Pickup state's transitions and parameter
- shoot Idle and Pickup states, transitioning / Transitioning between the ShootIdle and Pickup states
- parameter, creating / Creating and adding the parameter
- parameter, adding / Creating and adding the parameter
- Blend Tree, creating / Creating a Blend Tree in the Pickup state
- players character response
- setting up / Setting up the player character's response, Updating the Collectable script
- Pickup state, adding to animator controller / Adding the Pickup state to the animator controller
- pickup camera, creating / Creating the pickup camera
- pickup camera prefab, finalizing / Finalizing the pickup camera prefab
- player status script, viewing / Looking at the player status script
- player status script, adding to game object / Adding the PlayerStatus script to the player character game object
- Collectable script, updating / Updating the Collectable script
- variables, hooking up in collectable script / Hooking up variables in the collectable script
- FPSAnimation script, updating / Updating the FPSAnimation script
- pickup script, modifying / Modifying the pickup script
- pre-rigged model
- motion capture sequence, using with / Using a motion capture sequence with a pre-rigged model, Getting started
- project assets package
- importing / Importing the project assets package
- player character, setting up / Setting up the player character
- new scene, creating / Creating a new scene
- player character model, adding to scene / Adding the player character model to the scene
- character controller, adding / Adding the character controller
- camera height, adjusting / Adjusting the camera height
- shoot idle animation, adding / Adding the shoot idle animation
- gun, parenting / Adding and parenting the gun
- gun, adding / Adding and parenting the gun
- first person rig, saving as prefab / Saving the first-person rig as a prefab
- office-level scene, adding / Adding the office-level scene
- camera setup, completing / Completing the camera setup
- animator controller, modifying / Modifying the animator controller
- transition, setting / Setting the transition
- trigger parameter, creating for Shoot state / Creating a trigger parameter for the Shoot state
- character animation script, writing / Writing and implementing the character animation script
- character animation script, implementing / Writing and implementing the character animation script
- initial code, adding to FPSAnimation script / Adding the initial code to the FPSAnimation script
- script, adding to player character game object / Adding the script to the player character game object
R
- ragdoll object
- creating / Creating the ragdoll object
- material, assigning / Assigning the material
- adjusted ragdoll, previewing / Previewing the adjusted ragdoll
- Ragdoll Wizard / Generating the initial ragdoll
- range detection
- implementing / Implementing range detection
- scene, opening / Looking at the scene
- initial AI script, adding / Adding the initial AI script
- proximity detection, adding to enemy AI script / Adding proximity detection to the enemy AI script
- patrol behavior, setting up / Setting up the patrol behavior
- patrol points, defining / Defining patrol points
- animator, modifying / Modifying the animator
- animation curve, adding / Adding and accessing an animation curve
- animation curve, accessing / Adding and accessing an animation curve
- zombie attack, adding / Adding the attack
- attack, adding / Adding the attack
- zombie, damaging / Damaging and killing the zombie
- zombie, killing / Damaging and killing the zombie
- fire button, using by player / Allowing the player to fire
- Reference Coordinate System / Scaling and orienting the bones to match the character model
- rigging process
- need for / Understanding the need for rigging
- requisites / Minimum requirements
- in 3ds Max / Rigging in 3ds Max
- in Maya / Rigging in Maya
- rigging process, 3ds Max
- about / Rigging in 3ds Max
- scene, setting up / Setting up the scene
- character model, importing / Importing the character model
- biped system, creating / Creating the Biped system
- bipeds parameters, adjusting / Adjusting the Biped's parameters
- character, skinning with skin modifier / Skinning the character using the skin modifier
- character, exporting / Exporting the rigged character
- rigging process, Maya
- about / Rigging in Maya
- setting up / Setting up Maya to rig our character model
- system units, setting to meters / Setting system units to meters
- display grid size, modifying / Changing the display grid size
- model, importing / Importing the model
- model scale, adjusting / Adjusting the model scale
- viewport display, adjusting for joint creation / Adjusting the viewport display and toolset for joint creation
- toolset, adjusting for joint creation / Adjusting the viewport display and toolset for joint creation
- joints, creating for back / Creating joints for the back, neck, and head
- joints, creating for neck / Creating joints for the back, neck, and head
- joints, creating for head / Creating joints for the back, neck, and head
- joints, renaming / Renaming and repositioning the joints
- joints, repositioning / Renaming and repositioning the joints
- leg joints, creating / Creating the leg joints
- arm joints, creating / Creating the arm joints
- joints, mirroring for arm chains / Mirroring joints for the leg and arm chains
- joints, mirroring for leg / Mirroring joints for the leg and arm chains
- character mesh, binding to skeleton / Binding the character mesh to the skeleton
- skin weights, painting / Painting skin weights
- exporting, for Unity / Exporting for unity
- rig import settings
- adjusting / Adjusting the rig import settings and creating the Avatar
- appropriate rig import settings, selecting / Choosing the appropriate rig import settings
- Legacy / Choosing the appropriate rig import settings
- Humanoid / Choosing the appropriate rig import settings
- Generic / Choosing the appropriate rig import settings
- root movement / Adding and accessing an animation curve
S
- scene
- loading / Loading the scene
- animation, adding / Adding and previewing the animation
- animation, previewing / Adding and previewing the animation
- import settings, adjusting / Adjusting import settings to get a better fit
- Avatar Body Masks, working / Working with Avatar Body Masks
- second layer, creating in animation controller / Creating a second layer in the animator controller
- scene elements
- adjusting, for animation preview / Adjusting the scene elements to preview the animation
- second layer, animator controller
- creating / Creating a second layer in the animator controller
- states, creating in mask layer / Creating states in the mask layer
- parameter, setting in mask layer / Setting the parameter and transitions in the mask layer
- transitions, setting in mask layer / Setting the parameter and transitions in the mask layer
- script, editing / Editing the script
- masked animation, previewing / Previewing the masked animation
- second walk cycle
- creating / Creating the second walk cycle
- new motion clips, adding to animation controller / Adding the new motion clips to the animation controller
- walk animation loops difference, checking with script / Creating a script to see both animation loops in action
- script, adding / Adding the script and previewing the animation switch
- animation switch, previewing / Adding the script and previewing the animation switch
- selection set, 3ds Max
- creating / Creating a selection set
- SendMessage method / Allowing the zombie to hurt the player
- shoot idle sequence / Adding the shoot idle animation
- skin modifier
- used, for skinning character / Skinning the character using the skin modifier
- adjustments, making / Making adjustments to the Skin modifier
- Envelopes, adjusting / Adjusting envelopes
- influence, adjusting on head vertices / Adjusting influence on the head vertices
- skin weights, painting for jaw bone / Painting skin weights for the jaw bone
- skinning process / Copying and pasting the position, rotation, and scale data from one side to the other
- snarl face animation
- adding, to female zombie character / Adding the snarl face animation to the female zombie character
- scene, adding / Setting the scene in Unity
- Snarl function
- creating / Creating the Snarl function
- sourcing models / Sourcing models
- Start function / Creating a script to see both animation loops in action
T
- time out
- adding, to zombie attack / Timing out the zombie's pursuit
- transform.LookAt method / Smoothing the zombie's turn rotation
- Transforms / Defining patrol points
- Transitions / Creating states
- transitions, setting between Null and Snarl states
- about / Setting transitions between the Null and Snarl states
- IsSnarling parameter, creating / Creating the IsSnarling parameter
- script, editing for including Face layer / Editing the script to include the Face layer
- zombies turn rotation, smoothing / Smoothing the zombie's turn rotation
- turn animation
- implementing / Implementing the turn animation
- state, adding / Adding the turning state
- isTurning parameter, setting / Setting up the IsTurning parameter
- transitions, setting for turn state / Setting the transitions for the Turn state
- TurnToPlayer function
- adding / Adding the TurnToPlayer function
U
- Unity
- joints / Introduction to joints in Unity
- Unity Asset Store
- about / Sourcing models
- URL / Sourcing models
- Unity Input Manager / Adding the initial code to the FPSAnimation script
- Unity project
- setting up / Setting up the project
- enemy, importing / Importing our enemy
- animator controller, setting up / Setting up the animator controller
- animation, previewing by adjusting scene elements / Adjusting the scene elements to preview the animation
- Update function / Writing the script, Editing the script
V
- Vector3.Distance method / Adding proximity detection to the enemy AI script, Adding the initial patrol code to the Update function
W
- WaitForSeconds method / Updating the Collectable script
- Wavefront OBJ format / Importing the character model
Y
- yield WaitForSeconds method / Adding the TurnToPlayer function
Z
- zombie attack
- adding / Adding the attack
- Attack state, adding / Adding the Attack state
- tags, associating with enemy / Associating tags with the enemy and player game objects
- tags, associating with player game objects / Associating tags with the enemy and player game objects
- code, adding to MonoDevelop script / Allowing the zombie to hurt the player
- zombie_ready script
- code, adding / Adding code to the zombie_ready script
- TurnToPlayer function, adding / Adding the TurnToPlayer function
- variables, connecting, in Inspector panel / Connecting the variables in the Inspector panel
- updating, for accommodating turn state / Updating the zombie_ready script to accommodate the Turn state
- Snarl function, creating / Creating the Snarl function
- snarl sound, synchronizing / Synchronizing the snarl sound