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

◆ LerpCamera()

void MissionBenchmark::LerpCamera ( )
inlineprotected

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

256 {
257 float lerpX, lerpZ, lerpY;
258
259 vector target = m_NextLocation.m_StartPos;
260 m_StepDistance = vector.Distance(m_CurrentLocation.m_StartPos, target);
261 float camSpeedAdjust = m_CurrentLocation.m_CamSpeedMultiplier * 5 * m_TimeCounter * 1/m_StepDistance;
262 float distanceMulti = 1/Math.Max(0.001, m_StepDistance);
263
264 lerpX = Math.Lerp(m_CurrentLocation.m_StartPos[0], target[0], camSpeedAdjust);
265 lerpZ = Math.Lerp(m_CurrentLocation.m_StartPos[1], target[1], camSpeedAdjust);
266 lerpY = Math.Lerp(m_CurrentLocation.m_StartPos[2], target[2], camSpeedAdjust);
267
268 if (camSpeedAdjust >= 1 || m_NextLocation.m_IsDummyWait)
269 {
271 return;
272 }
273
274 FreeDebugCamera.GetInstance().SetPosition( Vector(lerpX, lerpZ, lerpY) );
275
276 target = m_NextLocation.m_StartLookAtPos;
277
278 lerpX = Math.Lerp(m_CurrentLocation.m_StartLookAtPos[0], target[0], camSpeedAdjust);
279 //lerpZ = Math.Lerp(m_CurrentLocation.m_StartLookAtPos[1], target[1], camSpeedAdjust); // ignored as it causes issues with lerping between look at points
280 lerpY = Math.Lerp(m_CurrentLocation.m_StartLookAtPos[2], target[2], camSpeedAdjust);
281 FreeDebugCamera.GetInstance().LookAt( Vector(lerpX, lerpZ, lerpY) );
282 }
void AdvanceLocation()
Определения MissionBenchmark.c:239
BenchmarkLocation m_CurrentLocation
Определения MissionBenchmark.c:128
float m_TimeCounter
Определения MissionBenchmark.c:123
float m_StepDistance
Определения MissionBenchmark.c:125
BenchmarkLocation m_NextLocation
Определения MissionBenchmark.c:129
proto native vector Vector(float x, float y, float z)
Vector constructor from components.

Перекрестные ссылки AdvanceLocation(), vector::Distance(), Math::Lerp(), m_CurrentLocation, m_NextLocation, m_StepDistance, m_TimeCounter, Math::Max() и Vector().

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