Where the bullet spawns when I shootUnity Kugel
Hallo, aus irgendwelchen Gründen wird meine Kugel nicht laichen, wo ich es zu sagen. Der Spawnpunkt befindet sich am Ende meines Laufs, ich nehme seine transformierte Position und Drehung, wenn ich die Kugel instanziiere, aber er springt höher als die Waffe (viel höher). Hier ist der Code, den ich habe:
Animation anim; // Gun animation when shooting
AudioSource gunSound; // Gun sound when firing
public Rigidbody bullet; // I get the rigidbody of the bullet that will be spawned
public Transform spawnPoint; // The position of where it is supposed to spawn
void Start()
{
anim = GetComponent<Animation>();
gunSound = GetComponent<AudioSource>();
}
void Update()
{
if (Input.GetButtonDown("Fire1")) // If the left mouse button is clicked
{
Rigidbody bulletInstance;
bulletInstance = Instantiate(bullet, spawnPoint.position, spawnPoint.rotation) as Rigidbody; // This is where I don't understand why?!?!
bulletInstance.AddForce(spawnPoint.forward * 1000f);
gunSound.Play();
//anim.Play("GunShot4");
}
}
Hilfe :)
So erscheint das Geschoss nicht an der Position der gegebenen Transformation? Sind irgendwelche Skripte daran angebracht, die es teleportieren könnten? – HalpPlz
Neben dem Charakter-Controller-Skript, das auf dem Elternteil des Elternteils ist und nichts mit der Waffe betrifft, gibt es nichts. Und ja, anstatt am Spawnpunkt (leeres Spielobjekt) zu transformieren, erscheint es höher, genau wie auf dem Bild, das über der Beschreibung steht (erste Zeile) – Manu
Ah, es kann sein, dass "public Rigidbody bullet" öffentlich sein muss GameObject bullet "und Sie müssen es als" GameObject "statt" als Rigidbody "instanziieren. Sie können auf den Starrkörper mit gameObject.GetComponent verweisen (); – HalpPlz