拖动轨迹线方向错误

问题描述 投票:0回答:0

拖曳轨迹线方向错误

我正在尝试为目标制作一条预览火线。 这张照片显示它面向时工作正常。

但是当我向另一个方向拖动时,轨迹线朝向错误的方向。

下面是我完成的代码。

line 是我正在使用的 LineRenderer。

速度是计算出的射击力。(rigibody.addFroce(velocity))

因为对象是玩家下的孩子,我曾尝试使用 transform.Position 但 LineRenderer 将移动到其他地方。所以我不得不改用 localPosition,不确定这是否会影响计算中的任何内容。

public void ShowLine(Vector3 velocity)
    {
        line.enabled = true;
        float timeStep = lineTime / lineCount;
        Vector3 pos = transform.localPosition;
        line.SetPosition(0, pos);
        for (int i = 1; i < line.positionCount; i++)
        {
            float timeOffset = timeStep * i;
            Vector3 progress = velocity * timeOffset;
            Vector3 gravity = Vector3.up * -0.5f * Physics.gravity.y * timeOffset * timeOffset;
            pos = transform.localPosition + progress - gravity;
            line.SetPosition(i, pos);
        }
    }
c# unity-game-engine 2d game-physics
© www.soinside.com 2019 - 2024. All rights reserved.