Frage von zantes, 33

Unity 3D Geschoss = Child?

Mein Vorhaben ist , der Character Schießt eine Kugel und die Kugel soll dann ein Child sein von dem Getroffenen Objekt mit dem die Kugel Kollidiert ist.

Kann mir da jemand eine Methode schreiben ? bzw ein beispiel.

Danke im voraus. Mfg!

Antwort
von mondai, 14

Hallo, ich weiß nicht, was schon alles erzeugt wurde.
Dieses Beispiel bezieht sich hauptsächlich auf die Zuweisung als Child.
Die Physik sollte natürlich nicht in der Start-Funktion erledigt werden!

using UnityEngine;

// Erzeugt bei Zuweisung automatisch einen Rigibody.
// [RequireComponent(typeof(Rigidbody))]
public class ProjektilX : MonoBehaviour {

Rigidbody phyRigiBody;
//(transform.forwar * 100) durch eigenen Kraft-Wert/Richtung ersetzen.
void Start()
{
if ((phyRigiBody = GetComponent()) != null)
phyRigiBody.AddForce(transform.forward * 100);
else print("Warnung: Rigibody fehlt!");

/* Wenn automatisch eingebungen, reicht folgendes:
phyRigiBody = GetComponent();
phyRigiBody.AddForce(transform.forward * 100);
*/
}
// Dem Projektil zuweisen, welches sich einem getroffenen Objekt(Tag="ZielObjekt") unterordnen soll.
// Wird aufgerufen, wenn der Rigidbody des Projektils auf den Kollisionsbereich des Ziels trifft.
// Beiden Objekten muss ein Kollisionsbereich zugewiesen werden. (Add Component -> Collision(/-Box))
void OnCollisionEnter(Collision collis)
{
if (collis.gameObject.tag == "ZielObjekt")
transform.parent = collis.gameObject.transform;
}
}

Ich hoffe mal, dass es dir schon weiter hilft. ;)

Kommentar von zantes ,

Danke für die Zeit die du reingessteckt hast ! Hilft mir total :)!

Sehr schön verfasst, danke :)!

Keine passende Antwort gefunden?

Fragen Sie die Community