Aim at my cursor
Hello! How do i make my character aim at the mouse cursor in 2.5d game? The asset is FPSME and ive turned it into 2.5d game. This is the script from player 2 (See image who is player 2) and as in FPS, i move ouse down, my guy aims at the floor. I obviously want to make him shoot where my mouse is. using System; using UnityEngine;
 public class MouseLook : MonoBehaviour
 {
     [HideInInspector]public static MouseLook instance;
 
     public float XSensitivity = 2f;
     public float YSensitivity = 2f;
     public bool clampVerticalRotation = true;
     public float MinimumX = -90F;
     public float MaximumX = 90F;
     public bool smooth;
     public float smoothTime = 5f;
     public bool lockCursor = true;
 
 
     private Quaternion m_CharacterTargetRot;
     private Quaternion m_CameraTargetRot;
     private bool m_cursorIsLocked = true;
 
     public void Init(Transform character, Transform camera)
     {
         m_CharacterTargetRot = character.localRotation;
         m_CameraTargetRot = camera.localRotation;
     }
 
 
     public void LookRotation(Transform character, Transform camera)
     {
         float yRot = PlayerInputManager.instance.MouseX * XSensitivity;
         float xRot = PlayerInputManager.instance.MouseY * YSensitivity;
 
         m_CharacterTargetRot *= Quaternion.Euler (0f, yRot, 0f);
         m_CameraTargetRot *= Quaternion.Euler (-xRot, 0f, 0f);
 
         if(clampVerticalRotation)
             m_CameraTargetRot = ClampRotationAroundXAxis (m_CameraTargetRot);
 
         if(smooth)
         {
             character.localRotation = Quaternion.Slerp (character.localRotation, m_CharacterTargetRot,
                 smoothTime * Time.deltaTime);
             camera.localRotation = Quaternion.Slerp (camera.localRotation, m_CameraTargetRot,
                 smoothTime * Time.deltaTime);
         }
         else
         {
             character.localRotation = m_CharacterTargetRot;
             camera.localRotation = m_CameraTargetRot;
         }
     }
 
     private void InternalLockUpdate()
     {
         if(Input.GetKeyUp(KeyCode.Escape))
         {
             m_cursorIsLocked = false;
         }
         else if(Input.GetMouseButtonUp(0))
         {
             m_cursorIsLocked = true;
         }
 
         if (m_cursorIsLocked)
         {
             Cursor.lockState = CursorLockMode.Confined;
             Cursor.visible = false;
         }
         else if (!m_cursorIsLocked)
         {
             Cursor.lockState = CursorLockMode.None;
             Cursor.visible = true;
         }
     }
 
     Quaternion ClampRotationAroundXAxis(Quaternion q)
     {
         q.x /= q.w;
         q.y /= q.w;
         q.z /= q.w;
         q.w = 1.0f;
 
         float angleX = 2.0f * Mathf.Rad2Deg * Mathf.Atan (q.x);
 
         angleX = Mathf.Clamp (angleX, MinimumX, MaximumX);
 
         q.x = Mathf.Tan (0.5f * Mathf.Deg2Rad * angleX);
 
         return q;
     }
 
 }
 
With this also comes another problem. How do i make my guy to do 180° degree turn? When i aim behind my player 2, it could turn player 180° degrees. Player2 is spawned in game, so it needs camera and all that. Player is a child of player2 and needs to do the 180° turning. 
Answer by DageLV · Aug 04, 2018 at 01:07 PM
I contacted asset owner, he said this is the thing what makes me aim where i do. How do i change this?
     public void HandleThirdPersonAiming()
     {
         if (ThirdPersonPhotonView.isMine) {    //If this is our instance of the game
             float AimAngle = PlayerCamera.transform.localRotation.x;    //Get get our current local aimangle
             PlayerThirdPersonAnimator.SetFloat ("AimAngle", AimAngle * 1.5f); //Set the float AimAngle in the animator on our player instance
             if (ThirdPersonWorldWeapon != null && WeaponIK && ThirdPersonWorldWeapon.GetComponent<ThirdPersonWeapon> ().LeftHandTransform != null) {
                 LeftHand.position = ThirdPersonWorldWeapon.GetComponent<ThirdPersonWeapon> ().LeftHandTransform.position;
                 if (ThirdPersonWorldWeapon.GetComponent<ThirdPersonWeapon> ().IgnoreLeftHandRotation == false) {
                     LeftHand.rotation = ThirdPersonWorldWeapon.GetComponent<ThirdPersonWeapon> ().LeftHandTransform.rotation;
                 }
             }
         }
         if (!ThirdPersonPhotonView.isMine) { //If this is a other player
             PlayerThirdPersonAnimator.SetFloat ("AimAngle", Mathf.Lerp (PlayerThirdPersonAnimator.GetFloat ("AimAngle"), SyncedAimangle, 0.05f)); //Lerp the aimangle so it looks smooth on our instance
             if (ThirdPersonWorldWeapon != null && WeaponIK && ThirdPersonWorldWeapon.GetComponent<ThirdPersonWeapon> ().LeftHandTransform != null) {
                 LeftHand.position = ThirdPersonWorldWeapon.GetComponent<ThirdPersonWeapon> ().LeftHandTransform.position;
                 if (ThirdPersonWorldWeapon.GetComponent<ThirdPersonWeapon> ().IgnoreLeftHandRotation == false) {
                     LeftHand.rotation = ThirdPersonWorldWeapon.GetComponent<ThirdPersonWeapon> ().LeftHandTransform.rotation;
                 }
             }
         }
     }
 
 
Your answer
 
 
              koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                