コード例 #1
0
        public static void CheckCameraCollision(Ped ped, Vector3 cameraFocusPos)
        {
            Vector3 castFrom = cameraFocusPos;
            float   distance;
            Vector3 castDir = -ped.Camera.transform.forward;

            // use distance from gun aiming offset ?
            if (ped.CurrentWeapon != null && ped.CurrentWeapon.GunAimingOffset != null)
            {
                //	Vector3 desiredCameraPos = this.transform.TransformPoint (- _player.CurrentWeapon.GunAimingOffset.Aim) + Vector3.up * .5f;
                //	Vector3 desiredCameraPos = this.transform.TransformPoint( new Vector3(0.8f, 1.0f, -1) );
                Vector3 desiredCameraPos = cameraFocusPos + ped.Camera.transform.TransformVector(ped.WeaponHolder.cameraAimOffset);
                Vector3 diff             = desiredCameraPos - castFrom;
                distance = diff.magnitude;
                castDir  = diff.normalized;
            }
            else
            {
                distance = ped.CameraDistance;
            }

            BaseScriptState.CheckCameraCollision(ped, castFrom, castDir, distance);
        }
コード例 #2
0
 public override void CheckCameraCollision()
 {
     BaseScriptState.CheckCameraCollision(m_ped, this.GetCameraFocusPos(), -m_ped.Camera.transform.forward,
                                          m_ped.CameraDistanceVehicle);
 }
コード例 #3
0
 public virtual void CheckCameraCollision()
 {
     BaseScriptState.CheckCameraCollision(m_ped, this.GetCameraFocusPos(), -m_ped.Camera.transform.forward,
                                          this.GetCameraDistance());
 }
コード例 #4
0
 public virtual void RotateCamera()
 {
     BaseScriptState.RotateCamera(m_ped, m_ped.MouseMoveInput, m_ped.CameraClampValue.y);
 }