22 CompartmentAccessComponent compartmentAccess = m_OwnerCharacter.GetCompartmentAccessComponent();
23 if (compartmentAccess && compartmentAccess.IsInCompartment())
30 turret = compartment.GetOwner();
34 m_OwnerVehicle = compartmentAccess.GetCompartment().GetVehicle();
35 turret = compartmentAccess.GetCompartment().GetAttachedTurret().GetOwner();
40 bool bUsingVehicleCameraData;
42 SCR_VehicleCameraDataComponent vehicleCamDataComp = SCR_VehicleCameraDataComponent.Cast(turret.
FindComponent(SCR_VehicleCameraDataComponent));
43 if (!vehicleCamDataComp)
45 vehicleCamDataComp = SCR_VehicleCameraDataComponent.Cast(m_OwnerVehicle.FindComponent(SCR_VehicleCameraDataComponent));
46 bUsingVehicleCameraData =
true;
50 if (bUsingVehicleCameraData)
58 m_fDist_Desired = vehicleCamData.m_fDist_Desired;
59 m_fDist_Min = vehicleCamData.m_fDist_Min;
60 m_fDist_Max = vehicleCamData.m_fDist_Max;
61 m_fSpeedMax = vehicleCamData.m_fSpeedMax;
62 m_fFOV = vehicleCamData.m_fFOV;
63 m_fRollFactor = vehicleCamData.m_fRollFactor;
64 m_fPitchFactor = vehicleCamData.m_fPitchFactor;
65 m_fAngleThirdPerson = vehicleCamData.m_fAngleThirdPerson *
Math.DEG2RAD;
69 PointInfo pCameraPivot = vehicleCamData.m_pPivot;
72 pCameraPivot.GetLocalTransform(matrix);
73 m_vCameraCenter = matrix[3];
78 if(bUsingVehicleCameraData)
79 m_OwnerVehicle.GetBounds(mins, maxs);
83 if (bUsingVehicleCameraData)
85 Physics physics = m_OwnerVehicle.GetPhysics();
87 m_vCameraCenter = physics.GetCenterOfMass();
89 m_vCameraCenter = (maxs - mins) * 0.5 + mins;
92 m_vCameraCenter = (maxs - mins) * 0.5 + mins;
94 if(!bUsingVehicleCameraData && turret != m_OwnerVehicle)
97 m_vCameraCenter = m_vCameraCenter.Multiply4(matrix);