Kojote Geschrieben 11. Februar 2020 Melden Share Geschrieben 11. Februar 2020 Grüße! Ich ein kleiens Problem mit Instantiate. Ich möchte gern ein Objekt erzeugen, dieses soll immer zwischen den Vorderpfoten erscheinen. Hier wäre das kleine Scriptstück, was auch an sich funktioniert: GameObject instaniate = Instantiate( hillPrefab, new Vector3(LD_SP_Player_Controler.Instance.transform.localPosition.x, LD_SP_Player_Controler.Instance.transform.position.y - 0.5f, (LD_SP_Player_Controler.Instance.transform.localPosition.z + 1.1f)), Quaternion.identity ); Problem ist, dass sobald ich mich drehe, das Objekt immer zur Positiv Z Achse der Welt erzeugt wird, nicht aber zur Positiv Z Achse des Charakters. Eigentlich müsste dies doch mit LocalPosition funktionieren, warum nicht? Grüße von Kojote Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
6-huber Geschrieben 11. Februar 2020 Melden Share Geschrieben 11. Februar 2020 .localPosition würde in diesem Fall bedeuten, dass das Kordinatensystem vom Basispunkt des Objektes (transform) genutzt wird. du müsstest .position verwenden, dann wird es direkt auf dem basispunkt deines objektes im weltkoordinatensystem erzeugt bez kannst den lokalen punkt mit localToWorldMatrix in eine weltpsotion abändern Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Kojote Geschrieben 11. Februar 2020 Autor Melden Share Geschrieben 11. Februar 2020 Jo, hatte da nen ziemlich bescheidenen Denkfehler, habs gerade so gelöst: Vector3 playerPosition = new Vector3(LD_SP_Player_Controler.Instance.transform.position.x, LD_SP_Player_Controler.Instance.transform.position.y - 0.5f, LD_SP_Player_Controler.Instance.transform.position.z); // *** Vector3 playerDirection = transform.forward; float spawnDistance = 1.25f; Vector3 spawnPos = playerPosition + playerDirection * spawnDistance; GameObject instaniate = Instantiate( hillPrefab, new Vector3(spawnPos.x, spawnPos.y, spawnPos.z), Quaternion.identity ); Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 11. Februar 2020 Melden Share Geschrieben 11. Februar 2020 Na, dann kann ich ja zu schreiben aufhören @Kojote Geht auch so: var spawnPosition = transform.position + transform.TransformDirection(localOffset); Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Kojote Geschrieben 11. Februar 2020 Autor Melden Share Geschrieben 11. Februar 2020 Interessat, was macht localOffset denn? Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 11. Februar 2020 Melden Share Geschrieben 11. Februar 2020 Das ist einfach dein Vektor relativ zum Objekt, in deinem Fall also new Vector3(0, -0.5f, 1.1f) Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Archiviert
Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.