DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ UpdateUDAngle()

float UpdateUDAngle ( out float pAngle,
out float pAngleAdd,
float pMin,
float pMax,
float pDt )
protected

pAngle + pAngleAdd == aimingUDAngle + aimingUDAdd now we set pAngleAdd to be the differenc from aimingAngle and we change camera angle to be the aiming angle

lr angle

update it in degrees

См. определение в файле DayZPlayerCamera_Base.c строка 229

230 {
231 if (Math.AbsFloat(pAngleAdd) > 0.001)
232 {
233 float aimingUDAngle = m_CommandWeapons.GetBaseAimingAngleUD();
234
237
238 // override actual angle
239 pAngleAdd = pAngle + pAngleAdd - aimingUDAngle;
240 pAngle = aimingUDAngle;
241
242 // Print("Angle: " + pAngle.ToString() + " Aim: " + actualUDAngle.ToString() );
243 }
244
246 if( m_pInput.CameraIsFreeLook() )
247 {
248 pAngleAdd += m_pInput.GetAimChange()[1] * Math.RAD2DEG;
249 pAngleAdd = Limit(pAngleAdd, pMin, pMax);
250
251 m_fUDAngleVel[0] = 0;
252 }
253 else
254 {
255 if( m_pInput.CameraIsTracking() )
256 {
257 pAngleAdd = m_pInput.GetTracking()[1] * Math.RAD2DEG;
258 pAngleAdd = Limit(pAngleAdd, pMin, pMax);
259
260 m_fUDAngleVel[0] = 0;
261 }
262 else
263 {
265 pAngle += m_pInput.GetAimChange()[1] * Math.RAD2DEG;
266 pAngle = Limit(pAngle, pMin, pMax);
267
268 pAngleAdd = Math.SmoothCD(pAngleAdd, 0, m_fUDAngleVel, 0.14, 1000, pDt);
269 }
270 }
271
272 /*{
273 float change = m_pInput.GetAimChange()[1] * Math.RAD2DEG;
274
275 Print ("Script: Camera ud angle: " + pAngle.ToString() + " change: " + change.ToString() );
276 }*/
277
278 return Limit(pAngle + pAngleAdd, pMin, pMax);
279 }
float m_fUDAngleVel[1]
Определения DayZPlayerCamera_Base.c:571
HumanCommandWeapons m_CommandWeapons
Определения DayZPlayerCamera_Base.c:582
Определения EnMath.c:7
HumanInputController m_pInput
human input
Определения dayzplayer.c:136
static const float RAD2DEG
Определения EnMath.c:16
static proto float AbsFloat(float f)
Returns absolute value.
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.
Limit

Перекрестные ссылки Math::AbsFloat(), Limit, m_CommandWeapons, m_fUDAngleVel, m_pInput, Math::RAD2DEG и Math::SmoothCD().