RedZero9 发表于 2022-5-4 19:18

unity物体自动移动

版本unity2020.3.32
测试中建了两个空对象确定要移动到的位置


下边是代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class move : MonoBehaviour
{
    public float speed = 2; // 物体移动速度
    public Transform[] target;// 目标
    public float delta = 0.2f; // 误差值
    private static int i = 0;

    void Update()
    {
      moveTo();
    }

    void moveTo()
    {
      // 重新初始化目标点
      target.position = new Vector3(target.position.x, transform.position.y, target.position.z);

      // 让物体朝向目标点
      transform.LookAt(target);

      // 物体向前移动
      transform.Translate(Vector3.forward * Time.deltaTime * speed);

      // 判断物体是否到达目标点
      if (transform.position.x > target.position.x - delta
            && transform.position.x < target.position.x + delta
            && transform.position.z > target.position.z - delta
            && transform.position.z < target.position.z + delta)
            i = (i + 1) % target.Length;
    }
}
页: [1]
查看完整版本: unity物体自动移动