-
Notifications
You must be signed in to change notification settings - Fork 3
/
EffectorZoomInertion.h
52 lines (36 loc) · 1.53 KB
/
EffectorZoomInertion.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
// EffectorZoomInertion.h: инерция(покачивания) оружия в режиме
// приближения
#pragma once
#include "CameraEffector.h"
class CEffectorZoomInertion : public CCameraEffector
{
//коэффициент скорости "покачивания" прицела
float m_fFloatSpeed;
float m_fDispRadius;
float m_fEpsilon;
Fvector m_vCurrentPoint;
Fvector m_vLastPoint;
Fvector m_vTargetPoint;
Fvector m_vTargetVel;
Fvector m_vOldCameraDir;
u32 m_dwTimePassed;
//параметры настройки эффектора
float m_fCameraMoveEpsilon;
float m_fDispMin;
float m_fSpeedMin;
float m_fZoomAimingDispK;
float m_fZoomAimingSpeedK;
//время через которое эффектор меняет направление движения
u32 m_dwDeltaTime;
CRandom m_Random;
void CalcNextPoint ();
public:
CEffectorZoomInertion ();
virtual ~CEffectorZoomInertion ();
void Load ();
void SetParams (float disp);
virtual BOOL Process (Fvector &delta_p, Fvector &delta_d,
Fvector &delta_n, float& fFov,
float& fFar, float& fAspect);
virtual void SetRndSeed (s32 Seed) { m_Random.seed(Seed); };
};