如何使团队渲染器不受统一3d中z轴运动的影响

时间:2017-04-24 11:32:19

标签: c# unity3d unityscript game-development

我正在制作3D游戏,我制作了具有线索渲染器组件的输入收集器。当有z动作动作时,预告片渲染器会显示一些前向动作效果。

有没有办法让轨迹渲染器只显示某个轴运动?

1 个答案:

答案 0 :(得分:1)

我能想到的最好的方法是使用跟踪创建一个单独的对象,并在渲染开始之前将其移动到想要跟踪的对象的位置,然后,在后渲染时,重置其Z位置。像这样:

[RequireComponent(typeof(TrailRenderer))]
public class ZLimitedTrail : MonoBehaviour {
    public Transform target;        

    private void Start() {
        Camera.onPreRender += SetPosition;
        Camera.onPostRender += ResetZPosition;
    }

    private void SetPosition() {
        // move it to where it should show
        this.transform.position = target.position;
    }

    private void ResetZPosition() {
        // reset Z position to 0
        this.transform.position = 
            new Vector3(this.transform.position.x, this.transform.position.y, 0);
    }
}

我没有测试过,所以请告诉我它是否有效。