DayZ 1.30
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 строка 251

252 {
253 if (Math.AbsFloat(pAngleAdd) > 0.001)
254 {
255 float aimingUDAngle = m_CommandWeapons.GetBaseAimingAngleUD();
256
259
260 // override actual angle
261 pAngleAdd = pAngle + pAngleAdd - aimingUDAngle;
262 pAngle = aimingUDAngle;
263
264 // Print("Angle: " + pAngle.ToString() + " Aim: " + actualUDAngle.ToString() );
265 }
266
268 if( m_pInput.CameraIsFreeLook() )
269 {
270 pAngleAdd += m_pInput.GetAimChange()[1] * Math.RAD2DEG;
271 pAngleAdd = Limit(pAngleAdd, pMin, pMax);
272
273 m_fUDAngleVel[0] = 0;
274 }
275 else
276 {
277 if( m_pInput.CameraIsTracking() )
278 {
279 pAngleAdd = m_pInput.GetTracking()[1] * Math.RAD2DEG;
280 pAngleAdd = Limit(pAngleAdd, pMin, pMax);
281
282 m_fUDAngleVel[0] = 0;
283 }
284 else
285 {
287 pAngle += m_pInput.GetAimChange()[1] * Math.RAD2DEG;
288 pAngle = Limit(pAngle, pMin, pMax);
289
290 pAngleAdd = Math.SmoothCD(pAngleAdd, 0, m_fUDAngleVel, 0.14, 1000, pDt);
291 }
292 }
293
294 /*{
295 float change = m_pInput.GetAimChange()[1] * Math.RAD2DEG;
296
297 Print ("Script: Camera ud angle: " + pAngle.ToString() + " change: " + change.ToString() );
298 }*/
299
300 return Limit(pAngle + pAngleAdd, pMin, pMax);
301 }
float m_fUDAngleVel[1]
Определения DayZPlayerCamera_Base.c:753
HumanCommandWeapons m_CommandWeapons
Определения DayZPlayerCamera_Base.c:764
Определения 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().