rendered paste bodyKamera przy loku :
__________________
if (/*(Pressed(VK_RBUTTON)) ||*/ (Pressed(VK_F4)))
{ //ABu 180404 powrot mechanika na siedzenie
Camera.Reset();
double dt= GetDeltaTime();
if (Controlled)
{
Camera.Pos= Train->pMechPosition; //Train.GetPosition1();
Camera.Roll= atan(Train->pMechShake.x*Train->fMechRoll); //hustanie kamery na boki
Camera.Pitch-= atan(Train->vMechVelocity.z*Train->fMechPitch); //hustanie kamery przod tyl
if (Train->DynamicObject->MoverParameters->CabNo==0) // JEZELI W PRZEDZIALE MASZYNOWYM
Camera.LookAt= Train->pMechPosition+Train->GetDirection(); // PATRZ SIE NA COS TAM
else
Camera.LookAt= Train->pMechPosition+Train->GetDirection()*Train->DynamicObject->MoverParameters->CabNo;
Train->pMechOffset.x=Train->pMechSittingPosition.x;
Train->pMechOffset.y=Train->pMechSittingPosition.y;
Train->pMechOffset.z=Train->pMechSittingPosition.z;
if (FreeFlyModeFlag)
{
ff = true;
//org Camera.Pos= Train->pMechPosition+Train->GetDirection()*5+vector3(3,3,3);
//org Camera.LookAt= Train->pMechPosition+Train->GetDirection()*-1;
//org //Zeby nie bylo numerow z 'fruwajacym' lokiem - konsekwencja bujania pudla
//org Train->DynamicObject->ABuSetModelShake(vector3(0,0,0));
Train->DynamicObject->bDisplayCab= false;
Camera.Pos.x= Train->pMechPosition.x+3.2; // 3.0
Camera.Pos.y= Train->pMechPosition.y-0.5; // 0.5
Camera.Pos.z= Train->pMechPosition.z-0.0;
Camera.LookAt= Train->pMechPosition+Train->GetDirection()*-1;
Train->DynamicObject->ABuSetModelShake(vector3(0,0,0));
Train->DynamicObject->bDisplayCab= false;
}
else
{
ff = false;
Train->DynamicObject->bDisplayCab= true;
}
}
}
_______________________
tak jest
________
if ((Pressed(VK_RBUTTON)) || (Pressed(VK_F4)))
{ //ABu 180404 powrot mechanika na siedzenie
Camera.Reset();
double dt= GetDeltaTime();
if (Controlled)
{
Camera.Pos= Train->pMechPosition/Train.GetPosition1();
Camera.Roll= atan(Train->pMechShake.x*Train->fMechRoll); //hustanie kamery na boki
Camera.Pitch-= atan(Train->vMechVelocity.z*Train->fMechPitch); //hustanie kamery przod tyl
if (Train->DynamicObject->MoverParameters->CabNo==0)
Camera.LookAt= Train->pMechPosition+Train->GetDirection();
else //patrz w strone wlasciwej kabiny
Camera.LookAt= Train->pMechPosition+Train->GetDirection()*Train->DynamicObject->MoverParameters->CabNo;
Train->pMechOffset.x=Train->pMechSittingPosition.x;
Train->pMechOffset.y=Train->pMechSittingPosition.y;
Train->pMechOffset.z=Train->pMechSittingPosition.z;
if (FreeFlyModeFlag)
{
Camera.Pos= Train->pMechPosition+Train->GetDirection()*5+vector3(3,3,3);
Camera.LookAt= Train->pMechPosition+Train->GetDirection()*-1;
//Zeby nie bylo numerow z 'fruwajacym' lokiem - konsekwencja bujania pudla
Train->DynamicObject->ABuSetModelShake(vector3(0,0,0));
Train->DynamicObject->bDisplayCab= false;
}
else
Train->DynamicObject->bDisplayCab= true;
}
}