public static GameObject CreateRender(Transform parent, Vector3 startPos, Vector3 endPos, float showTime, GameObject go, GameObject target = null) { float distance = Vector3.Distance(Vector3.zero, new Vector3(endPos.x, endPos.y, 0)); float angle = Vector2.Angle(Vector2.up, new Vector2(endPos.x, endPos.y)); if (endPos.x > 0) { angle = -angle; } go.transform.localPosition = startPos; go.transform.localRotation = Quaternion.Euler(0f, 0f, angle); TransformUtil.AddChild(parent, go.transform); LaserRay trail = go.GetComponent <LaserRay> (); if (trail == null) { trail = go.AddComponent <LaserRay> (); } float scale = distance * 1.12f / 0.6f; // / 0.6f + 0.15f / 0.6f; ParticleSystemRenderer render = go.GetComponentInChildren <ParticleSystemRenderer> (); trail.RunTo(render, showTime, scale); if (target != null) { trail.setTarget(target); } return(trail.gameObject); }
public static void CreateRender(Transform parent, Vector3 startPos, Vector3 endPos, float delayTime, float showTime, TrailConfig config, GameObject go) { go.transform.localPosition = startPos; TransformUtil.AddChild(parent, go.transform); Trail trail = go.GetComponent <Trail> (); if (trail == null) { trail = go.AddComponent <Trail> (); } trail.RunTo(startPos, endPos, delayTime, showTime, config); }
public static void CreateRender(Transform parent, Vector3 startPos, Vector3 endPos, GameObject go) { go.transform.localPosition = startPos; TransformUtil.AddChild(parent, go.transform); Trail trail = go.GetComponent <Trail> (); if (trail == null) { trail = go.AddComponent <Trail> (); } trail.RunTo(startPos, endPos, 0, 0.6f, new TrailConfig(30, 100, 0.3f, 1f)); }