I’m working on a 2D game in which your a small girl fighting ghosts. I’m using the keyboard to move the character and this has been implemented. But I would like to use the mouse to effect which way my character head is positioned. So, I want my character to face wherever the cursor is located.
#pragma strict
var mouse_pos : Vector3;
var target : Transform;
var object_pos : Vector3;
var angle : float;
function Update ()
{
mouse_pos = Input.mousePosition;
mouse_pos.z = 15;
object_pos = Camera.main.WorldToScreenPoint(target.position);
mouse_pos.x = mouse_pos.x - object_pos.x;
mouse_pos.y = mouse_pos.y - object_pos.y;
angle = Mathf.Atan2(mouse_pos.y, mouse_pos.x) * Mathf.Rad2Deg;
transform.rotation = Quaternion.Euler(Vector3(0, 0, angle));
}
I’ve made sure that I’ve assigned the target that I want to be rotated. I’m not entirely sure how to correct this error…
NullReferenceException
UnityEngine.Camera.WorldToScreenPoint (Vector3 position) (at C:/BuildAgent/work/812c4f5049264fad/Runtime/ExportGenerated/Editor/UnityEngineCamera.cs:249)
HeadRotation.Update () (at Assets/HeadRotation.js:23)
Thanks in advance!