unity3D 物体在三个球之间转圈

public class QiuZhuan : MonoBehaviour {
    public Transform[] points;//定义三个球
        Transform nextQiu;//定义要移动到球的位置
        int nowindex;//当前的索引
        int speed;
    
    // Use this for initialization
    void Start () {
        nextQiu=points[0];
        nowindex=0;
        speed=10;
        
    }
   // Update is called once per frame
    void Update () {
        if(Vector3.Distance(nextQiu.position,transform.position)>0.1f)//判断当前物体到接下来物体距离
        {
            transform.Translate((nextQiu.position-transform.position).normalized*speed*Time.deltaTime,Space.World);//朝下个物体移动(nextQiu.position-transform.position)代表方向向量
        }
        else//接下来要移动的
        {
            nowindex =(nowindex+1)%(points.Length);
            nextQiu=points[nowindex];
        }
    
    }

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个示例代码,其中我们将一个物体绕另一个物体旋转一定的角度: ```csharp using UnityEngine; using DG.Tweening; public class RotateAround : MonoBehaviour { [SerializeField] private Transform target; [SerializeField] private float duration = 2f; [SerializeField] private float angle = 360f; private void Start() { transform.DOMove(target.position, 0f); transform.DORotate(new Vector3(0f, angle, 0f), duration, RotateMode.WorldAxisAdd) .SetLoops(-1, LoopType.Restart) .SetEase(Ease.Linear); } } ``` 该代码中,我们引入了DOTween的命名空间,然后定义了一个`RotateAround`组件。在该组件中,我们添加了一个`target`变量,它是我们要绕着旋转的目标物体。我们还添加了`duration`和`angle`变量,它们用于控制旋转的时间和角度。 在`Start()`方法中,我们首先使用`DOMove`方法将物体移到目标物体的位置。然后,我们使用`DORotate`方法对物体进行旋转。在该方法中,我们传入了一个`Vector3`类型的参数,该参数表示我们要绕着目标物体旋转的角度。我们在这里只旋转了Y轴,所以`Vector3`的X和Z值都是0。接着,我们传入了`duration`参数,该参数表示旋转的时间。我们还传入了`RotateMode.WorldAxisAdd`参数,该参数表示我们要绕着世界坐标系的Y轴旋转。 最后,我们使用`SetLoops`方法将旋转设置为无限循环,并使用`LoopType.Restart`参数表示每次循环重新开始。我们还使用`SetEase`方法设置了旋转的缓动函数。在这里,我们使用了线性缓动函数,表示旋转速度固定。 要使用此代码,请将其添加到要绕着旋转的物体上,并将目标物体分配给`target`变量。您还可以通过更改`duration`和`angle`变量来控制旋转的时间和角度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值