如何在Unity3D中走过下面的对象?

问题描述 投票:-1回答:1

现在,当我走过 趋向 跟在我后面的物体,它一直在我前面移动。如何让它只是 "等待",让它能正确地跟在我后面?

右边是下面的对象,其他的组件是

这是我的代码。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Anothertest : MonoBehaviour
{
    public Transform leader;
    public float followSharpness = 0.1f;

    Vector3 _followOffset;

    void Start()
    {
        // Cache the initial offset at time of load/spawn:
        _followOffset = transform.position - leader.position;
    }

    void LateUpdate()
    {
        // Apply that offset to get a target position.
        Vector3 targetPosition = leader.position + _followOffset;

        // Keep our y position unchanged.
        targetPosition.y = transform.position.y;

        // Smooth follow.    
        transform.position += (targetPosition - transform.position) * followSharpness;
    }

}
c# unity3d
1个回答
0
投票

我强烈建议你使用Mathf.Lerp函数,这样可以使下面的物体轨迹更加平滑。然后,问题来自于偏移:确保偏移量与你的玩家所看的方向一致!

在Start.Lerp函数中,我们可以使用Mathf.Lerp函数来使下面的物体轨迹更加平滑。

originalOffset = _followOffset;

在更新中。

_followOffset = originalOffset * transform.rotation;
© www.soinside.com 2019 - 2024. All rights reserved.