【Unity】TrailRendererの描画が画面中央から始まってしまう
黒羽のアリカはUnity2017.1?で開発していたのだけど、2017.3にアップデートしたらTrailRendererの挙動が変わっていてハマった 具体的には、TrailRendererをアタッチしたゲームオブジェクトをInstantiateして動かすと、なぜか軌跡の描画がInstantiateした位置から始まらず、画面中央(0,0)から始まるという挙動
https://gyazo.com/43619a042778bb10634fbdf62d9afe35
色々ネットを探した結果、こういう解決方法になりました
code:cs
void Hoge() {
var obj = Instantiate(prefab);
var trail = obj.GetComponent<TrailRenderer>();
StartCoroutine(ResetTrail(trail));
}
IEnumerator ResetTrail(TrailRenderer trail) {
var t = trail.time;
trail.time = 0;
yield return 0;
trail.time = t;
}
Trailrenderer.timeは軌跡がフェードアウトするまでの時間らしい
コルーチンを使ってこれを1fだけ0にすることで今ある軌跡をクリアできるという
うーん、なぜこういう事が必要なのかまったく分からん…