Source SDK

Source SDK

Not enough ratings
Тряска Камеры C++
By Effluvia
Это руководство покажет основы создания покачивания камеры, когда игрок ходит.
Проверено на Source SDK 2007 и 2009 | При использовании Visual Studio 2008
   
Award
Favorite
Favorited
Unfavorite
Предисловие
Информация расписанная снизу принадлежит Valve
Моя задача была - перевод на русский язык | адаптация к Steam
Код
Шаг #1
В gamemovement.cpp перед списком. В строке 65 добавьте следующую запись
// Camera Bob ConVar cl_viewbob_enabled ( "cl_viewbob_enabled", "1", 0, "Oscillation Toggle", true, 0, true, 1 ); ConVar cl_viewbob_timer ( "cl_viewbob_timer", "10", 0, "Speed of Oscillation"); ConVar cl_viewbob_scale ( "cl_viewbob_scale", "0.05", 0, "Magnitude of Oscillation");
Все что здесь мы делаем, это выставляем параметры для величины, скорости покачивания и прочего.

Шаг #2
В этом же файле, найдите функцию void CGameMovement::WalkMove( void ) и добавьте сверху следующую запись

if ( cl_viewbob_enabled.GetInt() == 1 && !engine->IsPaused() ) { float xoffset = sin( gpGlobals->curtime * cl_viewbob_timer.GetFloat() ) * player->GetAbsVelocity().Length() * cl_viewbob_scale.GetFloat() / 100; float yoffset = sin( 2 * gpGlobals->curtime * cl_viewbob_timer.GetFloat() ) * player->GetAbsVelocity().Length() * cl_viewbob_scale.GetFloat() / 400; player->ViewPunch( QAngle( xoffset, yoffset, 0)); }
Данная команда отвечает за колебания камеры игрока
Итог
Теперь в игре вы имеете довольно интересную особенность.
Не используйте стандартные параметры камеры, измените их в наименьшее число. Так как покачивание будет при простой ходьбе. Что может отразиться на вашем здоровье.