34 super.OnActivate(pPrevCamera, pPrevCameraResult);
38 vector baseAngles = pPrevCamera.GetBaseAngles();
42 vector addAngles = pPrevCamera.GetAdditiveAngles();
60 if (
m_pInput.Camera3rdIsRightShoulder())
81 pOutResult.m_CameraTM[3] =
"0 0 0";
90 lsOffset[0] = lsOffset[0] + shoulderDist;
94 msOffset[0] = msOffset[0] + shoulderDist;
98 pOutResult.m_CameraTM[3] = pOutResult.m_CameraTM[3] + pOutResult.m_CameraTM[0] * lsOffset[0] + pOutResult.m_CameraTM[1] * lsOffset[1] + pOutResult.m_CameraTM[2] * lsOffset[2] + msOffset;
102 pOutResult.m_fUseHeading = 1.0;
103 pOutResult.m_fInsideCamera = 0.0;
131 return "DayZPlayerCamera3rdPerson";
205 super.OnUpdate(pDt, pOutResult);
222 pOutResult.m_CameraTM[3][1] = newY;
268 Print(
"DayZPlayerCamera3rdPersonErcSpr: hips bone not found");
285 float xShift = tm[1][0];
291 super.OnUpdate(pDt, pOutResult);
322 else if ( pPlayer.GetCurrentPerItemCameraUD () == DayZPlayerCameras.PERITEMUD_TWOHANDED )
330 else if ( pPlayer.GetCurrentPerItemCameraUD () == DayZPlayerCameras.PERITEMUD_ONEHANDED )
397 super.OnUpdate(pDt, pOutResult);
432 protected vector m_BaseOffset
458 super.OnActivate(pPrevCamera, pPrevCameraResult);
466 m_BaseOffset =
"0 0 0";
477 float orientYaw =
m_pPlayer.GetOrientation()[0];
505 m_BaseOffset[0] = Math.SmoothCD(m_BaseOffset[0], bonePos[0],
m_BaseOffsetVelX, 0.14, 1000, pDt);
506 m_BaseOffset[1] = Math.SmoothCD(m_BaseOffset[1], bonePos[1],
m_BaseOffsetVelY, 0.14, 1000, pDt);
507 m_BaseOffset[2] = Math.SmoothCD(m_BaseOffset[2], bonePos[2],
m_BaseOffsetVelZ, 0.14, 1000, pDt);
514 lsOffset[0] = lsOffset[0] + shoulderDist;
517 pOutResult.m_CameraTM[3] = m_BaseOffset + pOutResult.m_CameraTM[0] * lsOffset[0] + pOutResult.m_CameraTM[1] * lsOffset[1] + pOutResult.m_CameraTM[2] * lsOffset[2] + msOffset;
524 pOutResult.m_fUseHeading = 1.0;
525 pOutResult.m_fInsideCamera = 0.0;
526 pOutResult.m_fPositionModelSpace = 1.0;
527 pOutResult.m_bUpdateWhenBlendOut =
false;
543 m_iBoneIndex = pPlayer.GetBoneIndexByName (
"Camera3rd_Helper");
560 m_iBoneIndex = pPlayer.GetBoneIndexByName (
"Camera3rd_Helper");
int m_iBoneIndex
main bone
static const float CONST_UD_MAX
up limit
static const float CONST_LR_MIN
down limit
static const float CONST_LR_MAX
up limit
static const float CONST_UD_MIN
down limit
void DayZPlayerCamera3rdPerson(DayZPlayer pPlayer, HumanInputController pInput)
vector m_CameraOffsetMS
model space offset
class DayZPlayerCamera3rdPersonCrouchRaised extends DayZPlayerCamera3rdPersonCrouch m_BaseOffsetVelZ[1]
float m_jumpOffsetVelocity[1]
int m_iBoneIndex
runtime config
float m_fLeftRightAngle
left right angle in rad (in freelook only)
class DayZPlayerCamera3rdPerson extends DayZPlayerCameraBase DayZPlayerCamera3rdPersonErc(DayZPlayer pPlayer, HumanInputController pInput)
float m_fUpDownAngle
runtime values
static const float CONST_UD_MAX
up limit
class DayZPlayerCamera3rdPersonJump extends DayZPlayerCamera3rdPersonErc DayZPlayerCamera3rdPersonClimb(DayZPlayer pPlayer, HumanInputController pInput)
float m_fShoulderWidth
shoulder camera widths
float m_fUpDownAngleAdd
up down angle in rad
float m_fDistance
distance from start
void DayZPlayerCamera3rdPersonCrouch(DayZPlayer pPlayer, HumanInputController pInput)
class DayZPlayerCamera3rdPersonProne extends DayZPlayerCamera3rdPersonProneBase DayZPlayerCamera3rdPersonProneRaised(DayZPlayer pPlayer, HumanInputController pInput)
override bool IsCamera3rdRaised()
class DayZPlayerCamera3rdPersonCrouchRaised extends DayZPlayerCamera3rdPersonCrouch m_BaseOffsetVelY[1]
class DayZPlayerCamera3rdPersonErcSpr extends DayZPlayerCamera3rdPersonErc DayZPlayerCamera3rdPersonErcRaised(DayZPlayer pPlayer, HumanInputController pInput)
float m_fDelayTimer
runtime values
class DayZPlayerCamera3rdPersonCrouchRaised extends DayZPlayerCamera3rdPersonCrouch m_BaseOffsetVelX[1]
float m_fCameraLRShoulder
shoulder offsets
ref HumanMovementState m_MovementState
movement state
float UpdateLRAngleLookAt(float pMin, float pMax, float pDt)
float m_fCameraLRShoulderVel[1]
static const float CONST_UD_MIN
down limit
vector m_CameraOffsetLS
local space offset
class DayZPlayerCamera3rdPersonErcRaisedMelee extends DayZPlayerCamera3rdPersonErcRaised CONST_CAMERAMOVEMENTHEIGH
float m_fCameraHeightVel[1]
void DayZPlayerCamera3rdPersonErcSpr(DayZPlayer pPlayer, HumanInputController pInput)
float UpdateLRAngleUnlocked(out float pAngle, out float pAngleAdd, float pMin, float pMax, float pDt)
float m_CurrentCameraPitch
float UpdateUDAngleUnlocked(out float pAngle, out float pAngleAdd, float pMin, float pMax, float pDt)
void StdFovUpdate(float pDt, out DayZPlayerCameraResult pOutResult)
float m_CurrentCameraRoll
void InitCameraOnPlayer(bool force=false)
float fixAngle_180_180(float pAngle)
float m_WeaponSwayModifier
void UpdateCameraNV(PlayerBase player)
void ProcessCameraShake(float delta, out float leftRight, out float upDown)
override bool IsCamera3rdRaised()
void DayZPlayerCamera3rdPersonCrouchRaised(DayZPlayer pPlayer, HumanInputController pInput)
float m_jumpOffsetVelocity[1]
float m_fDelayTimer
runtime values
override void OnUpdate(float pDt, out DayZPlayerCameraResult pOutResult)
void DayZPlayerCamera3rdPersonErcSpr(DayZPlayer pPlayer, HumanInputController pInput)
void DayZPlayerCamera3rdPersonJump(DayZPlayer pPlayer, HumanInputController pInput)
float m_fDelay
runtime config
override void HandleShoulderCameraOverride(HumanInputController pInput)
void DayZPlayerCamera3rdPersonProne(DayZPlayer pPlayer, HumanInputController pInput)
vector m_CameraOffsetMS
model space offset
float m_fLeftRightAngleAdd
left right angle in rad (in freelook only)
void DayZPlayerCamera3rdPerson(DayZPlayer pPlayer, HumanInputController pInput)
float m_fRoll
camera roll (deprecated)
override vector GetAdditiveAngles()
bool m_bShoulderInLS
true - shoulder is in local space
float m_fLeanDistance
shift on leaning
float m_fCameraLRShoulder
shoulder offsets
override vector GetBaseAngles()
float m_fCameraLRShoulderVel[1]
override void OnActivate(DayZPlayerCamera pPrevCamera, DayZPlayerCameraResult pPrevCameraResult)
override string GetCameraName()
float m_fShoulderWidth
shoulder camera widths
int m_iBoneIndex
main bone
static const float CONST_LR_MIN
down limit
static const float CONST_UD_MAX
up limit
static const float CONST_UD_MIN
down limit
vector m_CameraOffsetLS
local space offset
override void OnUpdate(float pDt, out DayZPlayerCameraResult pOutResult)
float m_fPredictCollisionRadius
collision prediction
float m_fDistance
distance from start
float m_fUpDownAngleAdd
up down angle in rad
float m_fLeftRightAngle
left right angle in rad (in freelook only)
static const float CONST_LR_MAX
up limit
ref HumanMovementState m_MovementState
movement state
float m_fUpDownAngle
up down angle in rad
this is main camera class
static const int PERITEMUD_EMPTYHANDED
uninitialized / invalid per item camera user data
int m_iMovement
current stance (DayZPlayerConstants.STANCEIDX_ERECT, ...), only if the command has a stance
void DayZPlayerCameraResult()
cannot be instanced from script (always created from C++)
float m_fDistance
camera distance (external cameras only)
float m_fPredictCollisionRadius
sphere radius used for collision prediction
HumanInputController m_pInput
human input
class DayZPlayerCameraResult DayZPlayerCamera(DayZPlayer pPlayer, HumanInputController pInput)
vector GetCurrentOrientation()
proto void Print(void var)
Prints content of variable to console/log.
static proto void YawPitchRollMatrix(vector ang, out vector mat[3])
Creates rotation matrix from angles.
static proto float Clamp(float value, float min, float max)
Clamps 'value' to 'min' if it is lower than 'min', or to 'max' if it is higher than 'max'.
static const float RAD2DEG
static proto float SmoothCD(float val, float target, inout float velocity[], float smoothTime, float maxVelocity, float dt)
Does the CD smoothing function - easy in | easy out / S shaped smoothing.
HumanInputControllerOverrideType