Jump to content
Unity Insider Forum

Projektil reflektieren


Garzec

Recommended Posts

Hallo,

beim Abfeuern eines Projektiles verwende ich erstmal folgenden Code

private Rigidbody rigid;    

private Vector3 currentMovementDirection;

private void FixedUpdate()
{
    rigid.velocity = currentMovementDirection;
}

public void InitProjectile(Vector3 startPosition, Quaternion startRotation)
{
    transform.position = startPosition;
    transform.rotation = startRotation;
    currentMovementDirection = transform.forward;
}

Dabei verwende ich InitProjectile als Startmethode, weil ich die Projektile nicht zerstöre sondern recycle (Renderer disablen).

Sobald das Projektil auf ein Objekt trifft, das dieses Projektil reflektieren kann, soll das Projektil reflektiert werden.

Reflektion.png.4f2315d8a967a48261bbf3ad193431ed.png

Unity scheint dafür bereits etwas zu haben, 

https://docs.unity3d.com/ScriptReference/Vector3.Reflect.html

Wenn die Collision also getriggert wird

private void OnTriggerEnter(Collider other)
{
    if (other.gameObject == projectile)
    {
        projectileComponent.ReflectProjectile();
    }
}

Soll das Projektil seine Richtung und Rotation ändern.

public void ReflectProjectile()
{
    // Vector3.Reflect(... , ...);
}

Leider verstehe ich nicht so recht, welche Parameter dort übergeben werden müssen. Ich habe es auch mal auf anderem Wege probiert, indem ich die Velocity mit -1 multipliziere, logischerweise wird dann aber einfach die Bewegungsrichtung umgekehrt.

Wäre super, wenn mir jemand mit der Reflektion helfen könnte :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Lädt...
×
×
  • Neu erstellen...