Dayz 1.25
Dayz Code Explorer by KGB
Загрузка...
Поиск...
Не найдено
Класс DayZPlayerCamera3rdPersonErc

Защищенные данные

int m_iPelvisBone
 
float m_fTime
 

Закрытые члены

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)
 

Закрытые данные

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

Подробное описание

Методы

◆ DayZPlayerCamera3rdPersonErcSpr()

void DayZPlayerCamera3rdPersonErcSpr ( DayZPlayer pPlayer,
HumanInputController pInput )
inlineprivate
257 {
258 //Print("new camera: DayZPlayerCamera3rdPersonErcSpr");
259
260 m_fDistance = 2.0;
261 m_CameraOffsetMS = "0.0 1.3 0.0";
262 m_CameraOffsetLS = "0.0 0.3 0.0";
263 m_fShoulderWidth = 0.15;
264
265 m_iPelvisBone = pPlayer.GetBoneIndexByName("Pelvis");
266 if (m_iPelvisBone == -1)
267 {
268 Print("DayZPlayerCamera3rdPersonErcSpr: hips bone not found");
269 }
270
271 m_fTime = 0.0;
272 }
vector m_CameraOffsetMS
model space offset
Definition DayZPlayerCamera3rdPerson.c:301
float m_fShoulderWidth
shoulder camera widths
Definition DayZPlayerCamera3rdPerson.c:304
float m_fDistance
distance from start
Definition DayZPlayerCamera3rdPerson.c:303
vector m_CameraOffsetLS
local space offset
Definition DayZPlayerCamera3rdPerson.c:302
int m_iPelvisBone
Definition DayZPlayerCamera3rdPerson.c:297
float m_fTime
Definition DayZPlayerCamera3rdPerson.c:298
Definition EntityAI.c:95
proto void Print(void var)
Prints content of variable to console/log.

Перекрестные ссылки m_CameraOffsetLS, m_CameraOffsetMS, m_fDistance, m_fShoulderWidth, m_fTime, m_iPelvisBone и Print().

◆ DayZPlayerCamera3rdPersonJump()

void DayZPlayerCamera3rdPersonJump ( DayZPlayer pPlayer,
HumanInputController pInput )
inlineprivate

runtime config

runtime values

189 {
190 //Print("new camera: DayZPlayerCamera3rdPersonJump");
191
193 m_fDelay = 0.15;
194 m_fDamping = 0.25;
195
197 m_fJumpStartY = pPlayer.GetOrigin()[1];
198 m_fJumpOffset = 0;
199 m_fDelayTimer = 0;
200 }
float m_fDamping
Definition DayZPlayerCamera3rdPerson.c:227
float m_fDelay
runtime config
Definition DayZPlayerCamera3rdPerson.c:226
float m_fDelayTimer
runtime values
Definition DayZPlayerCamera3rdPerson.c:230
float m_fJumpStartY
Definition DayZPlayerCamera3rdPerson.c:231
float m_fJumpOffset
Definition DayZPlayerCamera3rdPerson.c:232

Перекрестные ссылки m_fDamping и m_fDelay.

◆ OnUpdate() [1/2]

override void OnUpdate ( float pDt,
out DayZPlayerCameraResult pOutResult )
inlineprivate
204 {
205 super.OnUpdate(pDt, pOutResult);
206
207 float yPos = m_pPlayer.GetOrigin()[1];
208 float yDiff = yPos - m_fJumpStartY;
209 yDiff = Math.Clamp(yDiff, 0.0, 2.0);
210
211 if( m_fDelayTimer < m_fDelay )
212 {
215 }
216 else
217 {
219 }
220
221 float newY = pOutResult.m_CameraTM[3][1] - m_fJumpOffset;
222 pOutResult.m_CameraTM[3][1] = newY;
223 }
float m_jumpOffsetVelocity[1]
Definition DayZPlayerCamera3rdPerson.c:233
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.

Перекрестные ссылки Math::Clamp(), m_fDelay, m_fDelayTimer, m_fJumpStartY и m_pPlayer.

◆ OnUpdate() [2/2]

override void 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

278 {
279 m_fTime += pDt * 5;
280
281 vector tm[4];
282
283 m_pPlayer.GetBoneTransformLS(m_iPelvisBone, tm);
285 float xShift = tm[1][0];
286 m_CurrentCameraRoll = xShift * 3.0; // 3 is just made up value i like :)
287
288 // m_CurrentCameraRoll = (sin(1.5 * m_fTime)); // + 0.3 * sin(3.6 * m_fTime) + 0.2 * sin(0.7 * m_fTime)) / 1.3 * 3;
289
291 super.OnUpdate(pDt, pOutResult);
292
293 //pOutResult.m_fFovMultiplier = 1.2;
294 }
float m_CurrentCameraRoll
Definition DayZPlayerCamera_Base.c:560
Definition EnConvert.c:106

Перекрестные ссылки m_fTime.

Поля

◆ m_fDamping

float m_fDamping
private

◆ m_fDelay

float m_fDelay
private

runtime config

◆ m_fDelayTimer

float m_fDelayTimer
private

runtime values

◆ m_fJumpOffset

float m_fJumpOffset
private

◆ m_fJumpStartY

float m_fJumpStartY
private

Используется в OnUpdate().

◆ m_fTime

float m_fTime
protected

◆ m_iPelvisBone

int m_iPelvisBone
protected

◆ m_jumpOffsetVelocity

float m_jumpOffsetVelocity[1]
private

Объявления и описания членов класса находятся в файле: