Quantcast
Channel: Latest Questions on Unity Answers
Viewing all articles
Browse latest Browse all 171066

Player Looking in Opposite Direction

$
0
0
Basically, if I move my reticle to the top of the screen, the player looks down and vice versa. This also applies horizontally. I am making a top down shooter. Take a look at what I mean: ![alt text][1] [1]: /storage/temp/18740-capture.jpg And here is my code. Very simple. using UnityEngine; using System.Collections; [RequireComponent(typeof(CharacterController))] public class PlayerController : MonoBehaviour { public float speed; public Texture2D reticle; public float reticleSensitivity; private CharacterController player; private Vector3 moveDir; private Transform myTransform; private Camera mainCam; private Vector3 lookDir; private float camDif; private Vector2 reticlePos; void Awake() { mainCam = Camera.main; myTransform = transform; camDif = mainCam.transform.position.y - myTransform.transform.position.y; player = GetComponent(); } void Update() { movement(); } void movement() { reticlePos += new Vector2(Input.GetAxisRaw("360_RightStickHorizontal") * reticleSensitivity * Time.deltaTime, Input.GetAxisRaw("360_RightStickVertical") * reticleSensitivity * Time.deltaTime); reticlePos = new Vector2(Mathf.Clamp(reticlePos.x, 0, Screen.width), Mathf.Clamp(reticlePos.y, 0, Screen.height)); lookDir = new Vector3(reticlePos.x, reticlePos.y, camDif); lookDir = mainCam.ScreenToWorldPoint(lookDir); myTransform.LookAt(lookDir); moveDir = new Vector3(Input.GetAxis("Horizontal"), 0f, Input.GetAxis("Vertical")); moveDir *= speed; player.Move(moveDir * Time.deltaTime); } void OnGUI() { GUI.DrawTexture(new Rect(reticlePos.x - 32, reticlePos.y - 32, 64, 64), reticle); } }

Viewing all articles
Browse latest Browse all 171066

Latest Images

Trending Articles



Latest Images

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>