Hi. In my 2d platformer, I have it set to where the player’s body faces the direction it is moving in while the arm points towards the mouse but so far I can’t get my arm script to work right.
using UnityEngine;
using System.Collections;
public class ArmRotation : MonoBehaviour {
public int rotationOffset = 0;
// Update is called once per frame
void Update () {
// subtracting the position of the player from the mouse position
Vector3 difference = Camera.main.ScreenToWorldPoint (Input.mousePosition) - transform.position;
difference.Normalize (); // normalizing the vector, this meaning that the sum of the vector will be equal to 1.
float rotZ = Mathf.Atan2 (difference.y, difference.x) * Mathf.Rad2Deg; // find the angle in degrees
transform.rotation = Quaternion.Euler (0f, 0f, rotZ + rotationOffset);
}
}