All Classes Namespaces Functions Variables Enumerations Properties Pages
Public Attributes | List of all members
IKSolverVR.Spine Class Reference

Spine solver for IKSolverVR. More...

Inheritance diagram for IKSolverVR.Spine:
Inheritance graph
[legend]
Collaboration diagram for IKSolverVR.Spine:
Collaboration graph
[legend]

Public Attributes

Transform headTarget
 The head target. This should not be the camera Transform itself, but a child GameObject parented to it so you could adjust its position/rotation to match the orientation of the head bone. The best practice for setup would be to move the camera to the avatar's eyes, duplicate the avatar's head bone and parent it to the camera. Then assign the duplicate to this slot. More...
 
float positionWeight = 1f
 Positional weight of the head target. Note that if you have nulled the headTarget, the head will still be pulled to the last position of the headTarget until you set this value to 0. More...
 
float rotationWeight = 1f
 Rotational weight of the head target. Note that if you have nulled the headTarget, the head will still be rotated to the last rotation of the headTarget until you set this value to 0. More...
 
float headClampWeight = 0.6f
 Clamps head rotation. Value of 0.5 allows 90 degrees of rotation for the head relative to the headTarget. Value of 0 allows 180 degrees and value of 1 means head rotation will be locked to the target. More...
 
float minHeadHeight = 0.8f
 Minimum height of the head from the root of the character. More...
 
float useAnimatedHeadHeightWeight
 Allows for more natural locomotion animation for 3rd person networked avatars by inheriting vertical head bob motion from the animation while head target height is close to head bone height. More...
 
float useAnimatedHeadHeightRange = 0.1f
 If abs(head target height - head bone height) < this value, will use head bone height as head target Y. More...
 
float animatedHeadHeightBlend = 0.3f
 Falloff range for the 'Use Animated Head Height Range' effect above. If head target height from head bone height is greater than useAnimatedHeadHeightRange + animatedHeadHeightBlend, then the head will be vertically locked to the head target again. More...
 
Transform pelvisTarget
 The pelvis target (optional), useful for seated rigs or if you had an additional tracker on the backpack or belt are. The best practice for setup would be to duplicate the avatar's pelvis bone and parenting it to the pelvis tracker. Then assign the duplicate to this slot. More...
 
float pelvisPositionWeight
 Positional weight of the pelvis target. Note that if you have nulled the pelvisTarget, the pelvis will still be pulled to the last position of the pelvisTarget until you set this value to 0. More...
 
float pelvisRotationWeight
 Rotational weight of the pelvis target. Note that if you have nulled the pelvisTarget, the pelvis will still be rotated to the last rotation of the pelvisTarget until you set this value to 0. More...
 
float maintainPelvisPosition = 0.2f
 How much will the pelvis maintain its animated position? More...
 
Transform chestGoal
 If chestGoalWeight is greater than 0, the chest will be turned towards this Transform. More...
 
float chestGoalWeight
 Weight of turning the chest towards the chestGoal. More...
 
float chestClampWeight = 0.5f
 Clamps chest rotation. Value of 0.5 allows 90 degrees of rotation for the chest relative to the head. Value of 0 allows 180 degrees and value of 1 means the chest will be locked relative to the head. More...
 
float rotateChestByHands = 1f
 The amount of rotation applied to the chest based on hand positions. More...
 
float bodyPosStiffness = 0.55f
 Determines how much the body will follow the position of the head. More...
 
float bodyRotStiffness = 0.1f
 Determines how much the body will follow the rotation of the head. More...
 
float neckStiffness = 0.2f
 Determines how much the chest will rotate to the rotation of the head. More...
 
float moveBodyBackWhenCrouching = 0.5f
 Moves the body horizontally along -character.forward axis by that value when the player is crouching. More...
 
float maxRootAngle = 25f
 Will automatically rotate the root of the character if the head target has turned past this angle. More...
 
float rootHeadingOffset
 Angular offset for root heading. Adjust this value to turn the root relative to the HMD around the vertical axis. Usefulf for fighting or shooting games where you would sometimes want the avatar to stand at an angled stance. More...
 
Vector3 IKPositionHead
 Target position of the head. Will be overwritten if target is assigned. More...
 
Quaternion IKRotationHead = Quaternion.identity
 Target rotation of the head. Will be overwritten if target is assigned. More...
 
Vector3 IKPositionPelvis
 Target position of the pelvis. Will be overwritten if target is assigned. More...
 
Quaternion IKRotationPelvis = Quaternion.identity
 Target rotation of the pelvis. Will be overwritten if target is assigned. More...
 
Vector3 goalPositionChest
 The goal position for the chest. If chestGoalWeight > 0, the chest will be turned towards this position. More...
 
Vector3 pelvisPositionOffset
 Position offset of the pelvis. Will be applied on top of pelvis target position and reset to Vector3.zero after each update. More...
 
Vector3 chestPositionOffset
 Position offset of the chest. Will be reset to Vector3.zero after each update. More...
 
Vector3 headPositionOffset
 Position offset of the head. Will be applied on top of head target position and reset to Vector3.zero after each update. More...
 
Quaternion pelvisRotationOffset = Quaternion.identity
 Rotation offset of the pelvis. Will be reset to Quaternion.identity after each update. More...
 
Quaternion chestRotationOffset = Quaternion.identity
 Rotation offset of the chest. Will be reset to Quaternion.identity after each update. More...
 
Quaternion headRotationOffset = Quaternion.identity
 Rotation offset of the head. Will be applied on top of head target rotation and reset to Quaternion.identity after each update. More...
 

Detailed Description

Spine solver for IKSolverVR.