【发布时间】:2025-11-28 10:40:02
【问题描述】:
我正在制作一个 3D 游戏,并制作了具有轨迹渲染器组件的输入收集器。当有 z 动作时,拖车渲染器会显示一些向前的动作效果。
有没有办法让轨迹渲染器只显示某些轴运动?
【问题讨论】:
标签: c# unity3d unityscript game-development
我正在制作一个 3D 游戏,并制作了具有轨迹渲染器组件的输入收集器。当有 z 动作时,拖车渲染器会显示一些向前的动作效果。
有没有办法让轨迹渲染器只显示某些轴运动?
【问题讨论】:
标签: c# unity3d unityscript game-development
我能想到的最好方法是制作一个带有轨迹的单独对象,并在渲染开始之前将其移动到您想要轨迹的对象的位置,然后在渲染后重置其 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);
}
}
我还没有测试过,如果它有效,请告诉我。
【讨论】: