Data Structures | |
class | DayZPlayerCamera1stPerson |
Functions | |
void | DayZPlayerCamera3rdPersonVehicle (DayZPlayer pPlayer, HumanInputController pInput) |
override void | OnActivate (DayZPlayerCamera pPrevCamera, DayZPlayerCameraResult pPrevCameraResult) |
override void | OnUpdate (float pDt, out DayZPlayerCameraResult pOutResult) |
override vector | GetBaseAngles () |
override vector | GetAdditiveAngles () |
void DayZPlayerCamera3rdPersonVehicle | ( | DayZPlayer | pPlayer, |
HumanInputController | pInput | ||
) |
References HumanCommandVehicle::GetTransport(), m_CameraOffsetMS, m_fDistance, and m_Transport.
Referenced by DayZPlayerCameras::RegisterCameras().
override vector GetAdditiveAngles | ( | ) |
override vector GetBaseAngles | ( | ) |
override void OnActivate | ( | DayZPlayerCamera | pPrevCamera, |
DayZPlayerCameraResult | pPrevCameraResult | ||
) |
References Math::DEG2RAD, m_fLagOffsetVelocityPitch, m_fLagOffsetVelocityRoll, m_fLagOffsetVelocityX, m_fLagOffsetVelocityY, m_fLagOffsetVelocityYaw, m_fLagOffsetVelocityZ, m_fLeftRightAngle, m_fLeftRightAngleAdd, m_fUpDownAngle, m_fUpDownAngleAdd, m_LagOffsetOrientation, m_LagOffsetPosition, m_pPlayer, and vector::Zero.
override void OnUpdate | ( | float | pDt, |
out DayZPlayerCameraResult | pOutResult | ||
) |
get player transform
get vehicle and set it as ignore entity for camera collision solver
update camera offset
orientation LS
create LS lag from vehicle velocities
smooth it!
setup orientation
setup position
setup rest
References Math::AbsFloat(), Math::Clamp(), CONST_ANGULAR_LAG_PITCH_STRENGTH, CONST_ANGULAR_LAG_ROLL_STRENGTH, CONST_ANGULAR_LAG_YAW_STRENGTH, CONST_ANGULAR_VELOCITY_STRENGTH, CONST_LINEAR_VELOCITY_STRENGTH, CONST_LR_MAX, CONST_LR_MIN, CONST_UD_MAX, CONST_UD_MIN, dBodyGetAngularVelocity(), Math::DEG2RAD, GetCurrentOrientation(), GetGame(), IEntity::GetOrigin(), GetVelocity(), Math::InverseLerp(), vector::InvMultiply3(), vector::InvMultiply4(), CGame::IsPhysicsExtrapolationEnabled(), DayZPlayerCameraBase::m_CameraOffsetMS, m_CurrentCameraPitch, m_CurrentCameraRoll, m_CurrentCameraYaw, DayZPlayerCameraBase::m_fDistance, m_fLagOffsetVelocityPitch, m_fLagOffsetVelocityRoll, m_fLagOffsetVelocityX, m_fLagOffsetVelocityY, m_fLagOffsetVelocityYaw, m_fLagOffsetVelocityZ, m_fLeftRightAngle, m_fLeftRightAngleAdd, m_fUpDownAngle, m_fUpDownAngleAdd, m_LagOffsetOrientation, m_LagOffsetPosition, m_pPlayer, m_Transport, Math3D::MatrixInvMultiply3(), Math3D::MatrixToAngles(), Math::RAD2DEG, Math::SmoothCD(), Math::SmoothCDPI2PI(), StdFovUpdate(), UP_ANGLE_CAP, UpdateLRAngleUnlocked(), UpdateUDAngleUnlocked(), Math3D::YawPitchRollMatrix(), and vector::Zero.
const float CONST_ANGULAR_LAG_PITCH_STRENGTH = 1.5 |
Referenced by OnUpdate().
const float CONST_ANGULAR_LAG_ROLL_STRENGTH = 0.5 |
Referenced by OnUpdate().
const float CONST_ANGULAR_LAG_YAW_STRENGTH = 4.0 |
Referenced by OnUpdate().
const float CONST_ANGULAR_VELOCITY_STRENGTH = 0.025 |
Referenced by OnUpdate().
const float CONST_LINEAR_VELOCITY_STRENGTH = 0.025 |
Referenced by OnUpdate().
|
static |
up limit
Referenced by DayZPlayerCameraBase::OnUpdate().
|
static |
down limit
Referenced by DayZPlayerCameraBase::OnUpdate().
|
static |
up limit
Referenced by DayZPlayerCameraBase::OnUpdate().
class DayZPlayerCamera1stPersonVehicle extends DayZPlayerCamera1stPerson CONST_UD_MIN = -85.0 |
down limit
Referenced by DayZPlayerCameraBase::OnUpdate().
protected vector m_CameraOffsetMS |
runtime config
model space offset
protected float m_fDistance |
distance from start
protected float m_fLagOffsetVelocityPitch[1] |
Referenced by OnActivate(), and OnUpdate().
protected float m_fLagOffsetVelocityRoll[1] |
Referenced by OnActivate(), and OnUpdate().
protected float m_fLagOffsetVelocityX[1] |
Referenced by OnActivate(), and OnUpdate().
protected float m_fLagOffsetVelocityY[1] |
Referenced by OnActivate(), and OnUpdate().
protected float m_fLagOffsetVelocityYaw[1] |
Referenced by OnActivate(), and OnUpdate().
protected float m_fLagOffsetVelocityZ[1] |
Referenced by OnActivate(), and OnUpdate().
protected float m_fLeftRightAngle |
left right angle in rad
Referenced by DayZPlayerCameraBase::GetBaseAngles(), DayZPlayerCameraBase::OnActivate(), and DayZPlayerCameraBase::OnUpdate().
protected float m_fLeftRightAngleAdd |
left right angle in rad
Referenced by DayZPlayerCameraBase::GetAdditiveAngles(), DayZPlayerCameraBase::OnActivate(), and DayZPlayerCameraBase::OnUpdate().
protected float m_fUpDownAngle |
runtime values
up down angle in rad
Referenced by DayZPlayerCameraBase::GetBaseAngles(), DayZPlayerCameraBase::OnActivate(), and DayZPlayerCameraBase::OnUpdate().
protected float m_fUpDownAngleAdd |
up down angle in rad
Referenced by DayZPlayerCameraBase::GetAdditiveAngles(), DayZPlayerCameraBase::OnActivate(), and DayZPlayerCameraBase::OnUpdate().
protected vector m_LagOffsetOrientation |
Referenced by OnActivate(), and OnUpdate().
protected vector m_LagOffsetPosition |
lag offsets
Referenced by OnActivate(), and OnUpdate().
protected Transport m_Transport |
cache
Referenced by DayZPlayerCamera3rdPersonVehicle(), and OnUpdate().
const float UP_ANGLE_CAP = 10 |
Referenced by OnUpdate().