2017-04-24 3 views
1

3Dゲームを作っていて、トレイルレンダラーコンポーネントを持つ入力コレクターを作った。 zアクションモーションがあるとき、トレーラーレンダラーはいくつかのフォワードモーションエフェクトを表示します。トレイルレンダラーをz軸モーションの影響を受けないようにする方法3d

トレイルレンダラーに特定の軸の動きしか表示されないようにする方法はありますか?

答えて

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); 
    } 
} 

私はそれをテストしていないので、それが動作するかどうか教えてください。

関連する問題