もう解決したかもしれませんが、先のリンク中で出ているコードだとLeapの最後をパーティクルの生存残時間比にすれば目的ポイントに飛ぶかと思います。以下の例だと全パーティクルが目標めがけて突っ込んでいきます。
c#
1using UnityEngine;
2using System.Collections;
3
4[RequireComponent(typeof(ParticleSystem))]
5public class ParticleAttraction : MonoBehaviour
6{
7 public Transform Target;
8
9 private ParticleSystem system;
10
11 private static ParticleSystem.Particle[] particles = new ParticleSystem.Particle[1000];
12
13 void Start() {
14
15 }
16 void Update()
17 {
18 if (system == null)
19 {
20 system = GetComponent<ParticleSystem>();
21 }
22
23 var count = system.GetParticles(particles);
24
25 for (int i = 0; i < count; i++)
26 {
27 var particle = particles[i];
28
29 float distance = Vector3.Distance(particle.position, Target.position);
30
31 Vector3 v1 = system.transform.TransformPoint(particle.position);
32 Vector3 v2 = Target.transform.position;
33
34 //パーティクル生成残り時間に応じて距離をつめる
35 float lifeDelta = 1.0f - (particle.lifetime / particle.startLifetime);
36
37 Vector3 dist = system.transform.InverseTransformPoint(Vector3.Lerp(v1, v2, lifeDelta));
38 particle.position = dist;
39 particles[i] = particle;
40
41 }
42
43 system.SetParticles(particles, count);
44 }
45}
2016/01/12 12:24