DayZ 1.24
Loading...
Searching...
No Matches
DayZPlayerCamera3rdPersonErc Class Reference
Collaboration diagram for DayZPlayerCamera3rdPersonErc:
[legend]

Protected Attributes

int m_iPelvisBone
 
float m_fTime
 

Private Member Functions

void DayZPlayerCamera3rdPersonJump (DayZPlayer pPlayer, HumanInputController pInput)
 
override void OnUpdate (float pDt, out DayZPlayerCameraResult pOutResult)
 
void DayZPlayerCamera3rdPersonErcSpr (DayZPlayer pPlayer, HumanInputController pInput)
 
override void OnUpdate (float pDt, out DayZPlayerCameraResult pOutResult)
 

Private Attributes

float m_fDelay
 runtime config
 
float m_fDamping
 
float m_fDelayTimer
 runtime values
 
float m_fJumpStartY
 
float m_fJumpOffset
 
float m_jumpOffsetVelocity [1]
 

Detailed Description

Definition at line 168 of file DayZPlayerCamera3rdPerson.c.

Member Function Documentation

◆ DayZPlayerCamera3rdPersonErcSpr()

void DayZPlayerCamera3rdPersonErc::DayZPlayerCamera3rdPersonErcSpr ( DayZPlayer pPlayer,
HumanInputController pInput )
inlineprivate

Definition at line 236 of file DayZPlayerCamera3rdPerson.c.

237 {
238 //Print("new camera: DayZPlayerCamera3rdPersonErcSpr");
239
240 m_fDistance = 2.0;
241 m_CameraOffsetMS = "0.0 1.3 0.0";
242 m_CameraOffsetLS = "0.0 0.3 0.0";
243 m_fShoulderWidth = 0.15;
244
245 m_iPelvisBone = pPlayer.GetBoneIndexByName("Pelvis");
246 if (m_iPelvisBone == -1)
247 Print("DayZPlayerCamera3rdPersonErcSpr: hips bone not found");
248
249 m_fTime = 0.0;
250 }
vector m_CameraOffsetMS
model space offset
float m_fShoulderWidth
shoulder camera widths
float m_fDistance
distance from start
vector m_CameraOffsetLS
local space offset
proto void Print(void var)
Prints content of variable to console/log.

References m_CameraOffsetMS, and m_fDistance.

◆ DayZPlayerCamera3rdPersonJump()

void DayZPlayerCamera3rdPersonErc::DayZPlayerCamera3rdPersonJump ( DayZPlayer pPlayer,
HumanInputController pInput )
inlineprivate

runtime config

runtime values

Definition at line 170 of file DayZPlayerCamera3rdPerson.c.

171 {
172 //Print("new camera: DayZPlayerCamera3rdPersonJump");
173
175 m_fDelay = 0.15;
176 m_fDamping = 0.25;
177
179 m_fJumpStartY = pPlayer.GetOrigin()[1];
180 m_fJumpOffset = 0;
181 m_fDelayTimer = 0;
182 }

◆ OnUpdate() [1/2]

override void DayZPlayerCamera3rdPersonErc::OnUpdate ( float pDt,
out DayZPlayerCameraResult pOutResult )
inlineprivate

Definition at line 185 of file DayZPlayerCamera3rdPerson.c.

186 {
187 super.OnUpdate(pDt, pOutResult);
188
189 float yPos = m_pPlayer.GetOrigin()[1];
190 float yDiff = yPos - m_fJumpStartY;
191 yDiff = Math.Clamp(yDiff, 0.0, 2.0);
192
194 {
197 }
198 else
200
201 float newY = pOutResult.m_CameraTM[3][1] - m_fJumpOffset;
202 pOutResult.m_CameraTM[3][1] = newY;
203 }
Definition EnMath.c:7
DayZPlayer m_pPlayer
data
Definition dayzplayer.c:135
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 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.

References Math::Clamp(), m_fJumpStartY, and m_pPlayer.

◆ OnUpdate() [2/2]

override void DayZPlayerCamera3rdPersonErc::OnUpdate ( float pDt,
out DayZPlayerCameraResult pOutResult )
inlineprivate

basically -> transform up vector (0,1,0) and read x coord -> and set is as roll

prev update

Definition at line 254 of file DayZPlayerCamera3rdPerson.c.

255 {
256 m_fTime += pDt * 5;
257
258 vector tm[4];
259
260 m_pPlayer.GetBoneTransformLS(m_iPelvisBone, tm);
262 float xShift = tm[1][0];
263 m_CurrentCameraRoll = xShift * 3.0; // 3 is just made up value i like :)
264
265 // m_CurrentCameraRoll = (sin(1.5 * m_fTime)); // + 0.3 * sin(3.6 * m_fTime) + 0.2 * sin(0.7 * m_fTime)) / 1.3 * 3;
266
268 super.OnUpdate(pDt, pOutResult);
269
270 //pOutResult.m_fFovMultiplier = 1.2;
271 }
float m_CurrentCameraRoll

References m_fTime.

Member Data Documentation

◆ m_fDamping

float DayZPlayerCamera3rdPersonErc::m_fDamping
private

Definition at line 207 of file DayZPlayerCamera3rdPerson.c.

◆ m_fDelay

float DayZPlayerCamera3rdPersonErc::m_fDelay
private

runtime config

Definition at line 206 of file DayZPlayerCamera3rdPerson.c.

◆ m_fDelayTimer

float DayZPlayerCamera3rdPersonErc::m_fDelayTimer
private

runtime values

Definition at line 210 of file DayZPlayerCamera3rdPerson.c.

◆ m_fJumpOffset

float DayZPlayerCamera3rdPersonErc::m_fJumpOffset
private

Definition at line 212 of file DayZPlayerCamera3rdPerson.c.

◆ m_fJumpStartY

float DayZPlayerCamera3rdPersonErc::m_fJumpStartY
private

Definition at line 211 of file DayZPlayerCamera3rdPerson.c.

Referenced by OnUpdate().

◆ m_fTime

float DayZPlayerCamera3rdPersonErc::m_fTime
protected

Definition at line 275 of file DayZPlayerCamera3rdPerson.c.

◆ m_iPelvisBone

int DayZPlayerCamera3rdPersonErc::m_iPelvisBone
protected

Definition at line 274 of file DayZPlayerCamera3rdPerson.c.

◆ m_jumpOffsetVelocity

float DayZPlayerCamera3rdPersonErc::m_jumpOffsetVelocity[1]
private

Definition at line 213 of file DayZPlayerCamera3rdPerson.c.


The documentation for this class was generated from the following file: