我有一个立方体,我想一直在网格物体的表面上移动。就像我在玩家想要去的表面上有一个目的地,但它应该不离开网格就去目的地。像它沿着网格的表面。我知道我可以这样前往目的地:
IEnumerator MoveToDirection(Vector3 startPosition, Quaternion orientation, Transform planet)
{
GameObject go = GameObject.CreatePrimitive(PrimitiveType.Cube);
go.transform.rotation = orientation;
go.transform.position = startPosition;
while (true)
{
go.transform.position= go.transform.position + go.transform.up * Time.deltaTime* speed;
yield return new WaitForEndOfFrame();
}
}
但是不知道如何限制它不应该离开网格的表面。
答案 0 :(得分:1)
有3种方法可以达到这种效果:
MeshCollider
添加到网格中,并RayCast接触点每帧网格/立方体+正确的立方体位置