using UnityEngine;
public class PlayerMovement : MonoBehaviour
{
public float speed = 6f;
Vector3 movement;
Animator anim;
Rigidbody playerRigidbody;
int floorMask;
float camRayLength = 100f;
void Awake()
{
floorMask = LayerMask.GetMask ("Floor");
anim = GetComponent <Animator> ();
playerRigidbody = GetComponent<Rigidbody> ();
}
void FixedUpdate()
{
float h = Input.GetAxisRaw ("Horizontal");
float v = Input.GetAxisRaw ("Vertical");
Move (h, v);
Turning ();
Animating (h, v);
}
void Move (float h,float v)
{
movement.Set (h, 0f, v);
movement = movement.normalized * speed * Time.deltaTime;
playerRigidbody.MovePosition (transform.position + movement);
}
void Turning()
{
Ray camRay = Camera.main.ScreenPointToRay (Input.mousePosition);
RaycastHit floorHit;
if(Physics.Raycast (camRay , out floorHit,camRayLength,floorMask))
{
Vector3 playerToMouse = floorHit.Point - transform.position;
playerToMouse.y =0f;
Quaternion newRotation =Quaternion.LookRotation (playerToMouse);
playerRigidbody.MoveRotation (newRotation);
}
}
void Animating(float h,float v)
{
bool walking = h != 0f || v !=0f;
anim.SetBool ("IsWalking",walking);
}
}
it gives the following error
"Assets/Scripts/Player/PlayerMovement.cs(41,58): error CS1061: Type UnityEngine.RaycastHit' does not contain a definition for
Point’ and no extension method Point' of type
UnityEngine.RaycastHit’ could be found (are you missing a using directive or an assembly reference?)
"