Unity基础-Vector3.Lerp的使用给一个简单的实例

简介: Unity基础-Vector3.Lerp的使用给一个简单的实例

一个简单的实例,演示了如何使用Vector3.Lerp来实现物体在两个位置之间平滑移动的效果:

using UnityEngine;
public class ObjectMovement : MonoBehaviour
{
    public Transform startPoint;
    public Transform endPoint;
    public float moveDuration = 2f;
    private float elapsedTime = 0f;
    private bool isMoving = false;
    private void Update()
    {
        if (Input.GetKeyDown(KeyCode.Space) && !isMoving)
        {
            StartMoving();
        }
        if (isMoving)
        {
            MoveObject();
        }
    }
    private void StartMoving()
    {
        elapsedTime = 0f;
        isMoving = true;
    }
    private void MoveObject()
    {
        elapsedTime += Time.deltaTime;
        if (elapsedTime >= moveDuration)
        {
            // 移动完成
            transform.position = endPoint.position;
            isMoving = false;
        }
        else
        {
            // 在起始点和结束点之间平滑移动
            float t = elapsedTime / moveDuration;
            transform.position = Vector3.Lerp(startPoint.position, endPoint.position, t);
        }
    }
}

当按下space键的时候,正方形从开始点到结束点平滑移动,lerp函数不断生成中间经过的点

相关文章
|
10月前
|
图形学
Unity构造器注入+配置文件小实例
Unity构造器注入+配置文件小实例
|
5月前
|
人工智能 图形学
Unity——游戏AI实例
Unity——游戏AI实例
|
存储 C# 开发工具
C#编程的构成要素(结合unity做实例分析)
C#编程的构成要素(结合unity做实例分析)
C#编程的构成要素(结合unity做实例分析)
|
程序员 图形学 开发者
Unity游戏设计与实现:南梦宫一线程序员的开发实例(修订版)
加藤政树 (作者) 罗水东 (译者)  c# 游戏 unity   本书的作者是日本知名游戏公司万代南梦宫的资深开发人员,书中通过10个不同类型的游戏实例,展示了真正的游戏设计和实现过程。
|
图形学 C++
《Unity 3.x游戏开发实例》——导读
本节书摘来自异步社区《Unity 3.x游戏开发实例》一书中的目录,作者 【加】Ryan Henson Creighton,更多章节内容可以访问云栖社区“异步社区”公众号查看
1528 0