Я рассмотрю три способа работы с вектором глаз
Через маппинг, через кодинг и через моделлинг.
Если это временный эффект де нить на карте, то можно делать нечто через point_view_controll
а если надо чтобы это как то в самой игре по жизни было, то надо ченить написать вида
CBasePlayer *pPlayer = ToBasePlayer(GetOwner());
Vector vO = pPlayer->GetViewOffset();
Vector vF,vR,vU;
AngleVectors(pPlayer->EyeAngles(), vF,vR,vU);
vO += vF * -16; // сколько юнитов назад?
pPlayer->SetViewOffset(vO);
Если ты про моделлинг, то есть хочешь пушку пододвинуть назад ближе к глазам игрока или наоборот от глаз, просто в Qc пиши типо
насколько я помню
$origin x y z // твои координаты оси глаз
0 0 0 по дефалту.
Надеюсь я рассмотрел все возможные проблемы?