TrailRendererとは?
TrailRendererは、オブジェクトの動きに沿ってトレイル(軌跡)を描画するためのコンポーネントです。
これは、オブジェクトが移動する際に後に残る線のようなエフェクトを作成するのに使用されます。
TrailRendererは特に、ビジュアルエフェクトや動きを強調するために役立ちます。
例えば、ボールやミサイルが飛んでいるときの軌跡や、キャラクターの素早い動きに伴う残像のようなエフェクトなどです。
TrailRendererの基本的な使い方
TrailRendererを使うには、まずGameObjectにTrailRendererコンポーネントを追加します。
もしくは、Hierarchy上の右クリックメニューから、Effect→Trailを選択します。

TrailRendererを追加してもシーン上には何も見えないと思います。
TrailRendererはGameObjectが移動しないと描画されないためです。
シーン上にShpereとその子供にTrailRendererを追加してみました。
TrailRendererのTimeとColorだけ変更してあります。

この状態でSphereを移動させると、軌跡が描画されます。
終端側の不透明度を0にするとよりそれらしくなります。
LineRendererと違い、座標を細かく設定することはできません。
マテリアルと色の設定
LineRenderer同様、
インスペクタ上から色を設定できます。
色はグラデーションを設定できます。
マテリアルを用意してやればそのマテリアルで描画することも出来るので、
テクスチャを使用することも出来ます。

右側だけ、マテリアルをDefault-Particleに変更してみました。
幅と時間の設定
インスペクタ上でトレイルの幅を設定することが出来ます。
右クリックメニューからAddKeyを選択しキーを追加します。

Timeからトレイルを表示する時間を設定できます。
デフォルトでは5秒になっていますが、流石に長いと思うので調整しましょう。
活用方法
ボールの軌跡
球技、ピンボール、ブロック崩しなどボールが飛ぶ際に軌跡を表示すると飛んできた方向が分かりやすくなります。
武器の軌跡(剣の斬撃)
アクションゲームで武器を振った際に表示すると動きを強調できます。
矢とかミサイルのようなものにも使えそうです。
TrailRendererが表示されないときのチェックリスト
TrailRendererは設定項目が多く、追加しただけでは何も見えないことがよくあります。
表示されないときは、上から順に確認してみてください。
オブジェクトが移動していない
TrailRendererはGameObjectが移動した軌跡を描くコンポーネントです。
止まったままでは頂点が打たれないので、何も描画されません。
Emittingがオフになっている
Emittingをオフにすると、新しい頂点の追加が止まります。
一時停止のために切ったまま戻し忘れていないか確認しましょう。
Timeが短すぎる
Timeは軌跡の一点が残る秒数です。
極端に小さいと、描かれた端から消えていくため見えません。
Widthが0になっている
幅の値が0だったり、カーブが全域で0に張り付いていると、頂点はあっても面が出ません。
前述のAddKeyでカーブをいじった後によく起こります。
Min Vertex Distanceが大きすぎる
Min Vertex Distanceは、次の頂点を打つまでに必要な移動距離です。
この値がオブジェクトの移動距離より大きいと、いつまでも頂点が追加されません。
細かく動くオブジェクトほど小さめの値が必要になります。
Materialが設定されていない
Materialsの要素が空のままだと、マゼンタ(ピンク)になるか、何も描画されません。
Default-Lineのような、トレイル向けのマテリアルを設定してください。
他のオブジェクトの背面に回っている
2Dのプロジェクトでは、Sorting LayerとOrder in Layerで描画順が決まります。
背景スプライトより後ろに回っていないか確認しましょう。
なお、オブジェクトプールで使い回している場合は「表示されない」ではなく「前の軌跡が残る」問題が起きます。
こちらは前述の使い回しの記事を参照してください。
まとめ
今回はTrailRendererについて解説しました。
TrailRendererは、オブジェクトの動きに沿って軌跡を描画し、ゲーム内でのビジュアルを強化するために役に立ちます。
キャラクターの動きや武器の軌跡、魔法やスキルのエフェクト、飛行物の軌跡など、
さまざまな場面で活用できるこのコンポーネントを使うことで、ゲームの視覚的な魅力を高めることができます。
TrailRendererの基本的な設定や実装方法を理解して、魅力的なゲーム体験を提供しましょう。





