Jump to content
Unity Insider Forum

[Gelöst] Raycst vs. onTriggerEnter hit referenz


Jomnitech

Recommended Posts

Hallo Zusammen

Ich habe ein kleines Problem das ich nicht wirklich verstehe.

Ich habe einmal eine Schusswaffe die mit Raycast funktioniert und einmal eine Nahkampfwaffe die über Trigger event läuft.
Ich habe ein Gegner namens "Enemy1" der hat Child Objekte Namens "HitBox1,HitBox2".

Wenn ich mit dem Raycast eine Hitbox treffe, bekomme ich als rückmeldung nicht HitBox1 oder HitBox2 sondern Enemy1. Wenn ich mit der Nahkampfwaffe den Gegner treffe bekomme ich als Feedback HitBox1 oder Hitbox2 heraus. Warum ist das so?
Macht mir etwas Probleme weil ich jeweils die Stats holen will um Schaden zu machen.

//Raycast
if (Physics.Raycast(transform.position,transform.right, out hit, range,layer_mask))
            {
                  
                 	Debug.Log(hit.transform.name);
                    CharacterStats target = hit.transform.GetComponent<CharacterStats>();

                    if (target != null)
                    { 
                    
                    target.TakeDamage(_finalDamage);
                    }
			}
  //Trigger  
void OnTriggerEnter(Collider other)
    {
		Debug.Log(other.transform.name);
        CharacterStats target = other.transform.GetComponent<CharacterStats>(); 
        if (target != null)
        {

            target.TakeDamage(_finalDamage);
        }
     
    }

Die Layers sind i.O. ich treffe auch mit dem Raycast effektiv nur die Hitbox und nicht den Enemy1 selbst.

Link zu diesem Kommentar
Auf anderen Seiten teilen

So was ähnliches hatte ich auch mal. Das liegt glaub ich an einem Rigidbody an deinem Enemy. Das "sammelt die Collider ein".

Da der Raycast über die Physik-Engine läuft, trifft er das Rigidbody mit seinen Collidern.

Trigger-Events funktionieren ohne Physik und treffen daher nur den Collider.

Lustig ist auch, dass OnCollisionEnter wiederum das Rigidbody treffen würde.

Meine Lösung war die Events einfach weiter zu geben.

Link zu diesem Kommentar
Auf anderen Seiten teilen

@thewhiteshadow
@Sascha

Vielen Dank für euere Antworten, hilft mir schon mal enorm weiter. Eigentlich gefällt mir die OnCollisionEnter Variante ganz gut, da ich dann automatisch den richtigen Bezugspunkt habe, egal ob es eine Kiste ist, welche keine Hitboxen hat, oder ein Gegner welcher ev. viele verschachtelte Hitboxen haben kann.

Muss ich mal ausprobieren ob ich das hindeichseln kann das er die Kollision triggert ohne das er den Gegner physikalisch rumschiebt. Beim Raycast kann ich ja eine layerMask bestimmen die nicht mit den Physik Einstellungen übereinstimmen muss.

Oder ev. doch den Raycast ohne Physik verwenden. Muss ich ausprobieren was sich besser eignet.

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...