- Home /
LineRender in Raycast
Hey, im using raycast system to damage an enemy in my game and i need to render the "bullet trail" but i dont figure out how, can you guys help?
heres my shoot script:
if (pistola)
{
forcaArma = 10;
damage = 10;
if (Input.GetMouseButtonDown(0) && ammo > 0 && rechargetime <= 1F)
{
Vector3 fwd = transform.forward;
ammo--;
rechargetime = 1F;
RaycastHit hit;
if (Physics.Raycast(transform.position, fwd, out hit))
{
//cria bullethole
if (hit.transform.gameObject.tag == "Wall")
{
var hitRotation = Quaternion.FromToRotation(Vector3.up, hit.normal);
Instantiate(bulletHole, hit.point, hitRotation);
}
//acerta inimigo
if (hit.transform.gameObject.tag == "Enemy")
{
//addforce
hit.transform.rigidbody.AddRelativeForce(-hit.normal * forcaArma);
//collidir dano
hit.transform.gameObject.GetComponent<BasicAI>().ApplyDamage(damage);
}
if (hit.transform.gameObject.tag == "Boss")
{
hit.transform.gameObject.GetComponent<BossMonsterClass>().ApplyDamage(damage);
}
}
}
}
Answer by Kourosh · Apr 13, 2011 at 03:58 PM
Ok, try Trail renderer in Component>Particles. All you need to do is to attach your bullet prefab some sorta particle system. Depending on the type of bullet you want, modify the particle system and whenever you shoot a bullet its particle system will make the trail you want. It'll look way better and gives you more options instead of writing codes to render a trail for you. Your script for shooting looks good.
Your answer
Follow this Question
Related Questions
Raycast visible bullets 2 Answers
Physics.Raycast Interval problem in the FixedUpdate(). 0 Answers
What is this variable type? 2 Answers
Use transform.LookAt with Raycast with a delayed bullet? 1 Answer