DayZ 1.28
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 строка 230

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