6 static const float CONST_UD_MIN = -85.0;
7 static const float CONST_UD_MAX = 85.0;
9 static const float CONST_LR_MIN = -160.0;
10 static const float CONST_LR_MAX = 160.0;
14 if (pInput.Camera3rdIsRightShoulder())
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);
209 yDiff =
Math.Clamp(yDiff, 0.0, 2.0);
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];
478 float headYaw =
m_pInput.GetHeadingAngle() *
Math.RAD2DEG;
487 if (
m_pInput.Camera3rdIsRightShoulder())
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");
this is main camera class
vector m_CameraOffsetMS
model space offset
float m_fLeftRightAngleAdd
left right angle in rad (in freelook only)
float m_fRoll
camera roll (deprecated)
bool m_bShoulderInLS
true - shoulder is in local space
float m_fLeanDistance
shift on leaning
float m_fCameraLRShoulder
shoulder offsets
float m_fShoulderWidth
shoulder camera widths
vector m_CameraOffsetLS
local space offset
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)
float m_fUpDownAngle
up down angle in rad
vector GetAdditiveAngles()
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()
int m_iBoneIndex
main bone
float m_fLeftRightAngle
left right angle in rad (in freelook only)
float m_fUpDownAngle
up down angle in rad
float m_fLeftRightAngleAdd
left right angle in rad (in freelook only)
float m_fUpDownAngleAdd
up down angle in rad
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
void DayZPlayerCamera3rdPersonJump(DayZPlayer pPlayer, HumanInputController pInput)
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
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
float m_fDelay
runtime config
void DayZPlayerCamera3rdPersonCrouch(DayZPlayer pPlayer, HumanInputController pInput)
class DayZPlayerCamera3rdPersonProne extends DayZPlayerCamera3rdPersonProneBase DayZPlayerCamera3rdPersonProneRaised(DayZPlayer pPlayer, HumanInputController pInput)
float m_fPredictCollisionRadius
collision prediction
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]
vector m_CameraOffsetLS
local space offset
void DayZPlayerCamera3rdPersonProne(DayZPlayer pPlayer, HumanInputController pInput)
class DayZPlayerCamera3rdPersonErcRaisedMelee extends DayZPlayerCamera3rdPersonErcRaised CONST_CAMERAMOVEMENTHEIGH
float m_fLeanDistance
shift on leaning
bool m_bShoulderInLS
true - shoulder is in local space
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)
void HandleShoulderCameraOverride(HumanInputController pInput)
float fixAngle_180_180(float pAngle)
float m_WeaponSwayModifier
void UpdateCameraNV(PlayerBase player)
void ProcessCameraShake(float delta, out float leftRight, out float upDown)
proto void Print(void var)
Prints content of variable to console/log.
HumanInputControllerOverrideType