Here is my movement script.
When I move the player he falls through the ground.
Please help.
using UnityEngine;
using System.Collections;
public class movement : MonoBehaviour {
public RaycastHit hit;
public Ray ray;
public Vector3 direction;
public float moveSpeed = 3f;
public int rotateSpeed = 75;
private Transform PlayerTransform;
// Use this for initialization
void Start ()
{
PlayerTransform = transform;
direction = PlayerTransform.position;
}
// Update is called once per frame
void FixedUpdate ()
{
if(Input.GetMouseButton(0))
{
ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if(Physics.Raycast (ray, out hit, 100))
{
direction = hit.point;
PlayerTransform.position = Vector3.MoveTowards(PlayerTransform.position, hit.point, moveSpeed * Time.deltaTime);
Debug.DrawLine(PlayerTransform.position, hit.point, Color.blue, 2);
Vector3 targetPoint = hit.point;
PlayerTransform.position = Vector3.MoveTowards(PlayerTransform.position, hit.point, moveSpeed * Time.deltaTime);
targetPoint.y = 0;
}
}
}
}