- Home /
Question by
Destroyer_Mob · Jul 23, 2021 at 09:11 AM ·
prefablinerenderertrackingtower defensecurved path
I need to make a bullet prefab follow a set path(bezier angle) on an invisible line renderer
i have a mortor tower that will shoot a bullet in a curve, and to do this i am trying to make it follow a bezier curve drawn by a line renderer, but it is either falling off the map, or is going to the default object position. can anyone help me
private Transform target;
public GameObject explosionEffect;
public GameObject impactEffect;
public GameObject Turret;
private Vector3[] emptyPositions;
[HideInInspector]public float stunAmount;
float stunFloat;
public float bulletSpeed = 70f;
public void Seek(Transform _target)
{
target = _target;
}
private void Update()
{
if (target == null)
{
Destroy(gameObject);
return;
}
if (Turret == null)
{
Destroy(gameObject);
return;
}
Vector3 dir = target.position - transform.position;
float distanceThisFrame = bulletSpeed * Time.deltaTime;
if (dir.magnitude <= distanceThisFrame)
{
HitTarget();
return;
}
if (Turret.GetComponent<Turret>().useBullet)
{
transform.Translate(dir.normalized * distanceThisFrame, Space.World);
}
if (Turret.GetComponent<Turret>().useMortar)
{
emptyPositions = new Vector3[Turret.GetComponent<Turret>().curvedRenderer.positionCount];
emptyPositions = Turret.GetComponent<Turret>().curvePositions;
for (int i = 0; i < Turret.GetComponent<Turret>().curvedRenderer.positionCount; i++)
{
transform.localPosition = (emptyPositions[i].normalized * bulletSpeed * Time.deltaTime);
}
}
transform.LookAt(target);
}
Comment
Your answer
Follow this Question
Related Questions
Bullet tracers - instanced prefabs vs LineRenderer? 0 Answers
Create a line renderer along a Bezier Curve/ Spline 0 Answers
Network.Instantiate a Non-prefab 1 Answer
Make a dynamic visual link between two game objects 1 Answer
Setting a game object from a list to be the active character that gets instantiated 1 Answer