using UnityEngine;
using System.Collections;
public class moveController : MonoBehaviour {
public int moveSpeed;
Vector3 targetPoint;
// Use this for initialization
void Awake () {
targetPoint = transform.position;
}
// Update is called once per frame
void Update () {
getTargetPoint ();
}
void FixedUpdate()
{
//单位华,取得单位向量
Vector3 targetForce = (targetPoint - transform.position).normalized;
//利用刚体方法实现小球到滚动
rigidbody.AddForce (targetForce*moveSpeed);
}
void getTargetPoint(){
Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition);
RaycastHit hitInfo = new RaycastHit();
if(Input.GetMouseButtonDown(0)){
if(Physics.Raycast(ray,out hitInfo) ){
if(hitInfo.collider.gameObject.name == "Land")
{
targetPoint = hitInfo.point;
Debug.Log("targetPoint:"+targetPoint);
}
}
}
}
}
利用刚体到方法实现小球的移动,会因为惯性等因素,使小球控制精度降低
U3D 小球跟随鼠标在地上移动(二)
最新推荐文章于 2019-04-11 17:05:16 发布