想知道unity如何实现物体贴地运动

在做一个项目,就是想让车辆在链接数据库的情况下(已有xyz的坐标(东经、北纬、高程))怎么让他紧贴地面运动呢。

如果无法实现的话不要纵坐标(高程)的话可以实现吗

向以下这张图片一样

img

不是拖拽的物体,是给物体附上坐标后会自己运动的物体,也就是说他的位置是实时赋值的不是需要挪动的

地面与车轮都加上碰撞,车子再加上刚体,这样就能保证车子在移动时车轮紧挨地面了。


using UnityEngine;

using System.Collections;

public class mouseDrag : MonoBehaviour {

//声明从鼠标发出一条射线clickRay

Ray clickRay;

//声明clickRay与游戏物体的碰撞

RaycastHit clickPoint;

//声明clickRay与地面的碰撞

RaycastHit posPoint;

//设置地面层,我的地面层是第8层,所以是8。不会设置层的话请看下边的Tips。

LayerMask mask=1<<8;

void Start () {

}

void Update(){

clickRay=Camera.main.ScreenPointToRay(Input.mousePosition);

}

void OnMouseDown()

{

//如果射线与物体相碰,则调用OnMouseDrag()

if(Physics.Raycast (clickRay,out clickPoint))

{

OnMouseDrag();

}

}

void OnMouseDrag()

{

//取射线与地面相碰的坐标,赋给mouseMove,再把mouseMove的x坐标和z坐标赋给物体,y坐标不变(因为是贴在地面上移动)

Physics.Raycast (clickRay ,out posPoint,Mathf.Infinity,mask.value);

Vector3 mouseMove=posPoint.point;

transform.position = (new Vector3 (mouseMove.x, transform.position.y, mouseMove.z));

return;

}

}

unity3d中利用协程实现鼠标拖动物体贴地移动
https://blog.csdn.net/s1syphe/article/details/79923284

1,车子加刚体加碰撞器,地面、障碍物加碰撞器
(题主所说的物体附上坐标后会自己运动的物体,我对此理解是给个目标位置,车移动到目标位置)
2.1

    public Transform target;
    // Update is called once per frame
    void Update () {
        transform.position = Vector3.MoveTowards(transform.position, target.position, Time.deltaTime * 5);
    }

2.2
Nav Mesh导航网格,不详细说了,不会用可以百度下