Linie zwischen zwei Objekten ziehen (gelöst)
Übersicht

![]() |
canny771Betreff: Linie zwischen zwei Objekten ziehen (gelöst) |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hey Leute,
ich habe mal wieder ein Problem. Ich möchte in einem dreidimensionalen Raum eine "Linie" (Es handelt sich um eine Art Kreuzmesh, welches ich in Blender modelliert habe) zwischen zwei frei bewegbaren Objekten ziehen. Der Code, den ich geschrieben habe, funktioniert nicht und ich weiß nicht wieso. Die Linie "durchstößt" das andere Objekt, wenn der Abstand groß ist. Wenn er zu klein ist, erreicht er es nicht einmal. Auch anderweitig kommen noch Fehler mit der Länge zu Stande. Mein Ansatz war der Satz des Pythagoras. Vielleicht kann mir ja jemand helfen. Vielen Dank schon mal im Voraus. MfG Canny771 Code: [AUSKLAPPEN] PositionEntity Strahl,EntityX(P1),EntityY(P1),EntityZ(P1) PointEntity Strahl,P2 code12345=Sqr((EntityX(P2)-EntityX(P1))*(EntityX(P2)-EntityX(P1)))+((EntityZ(P2)-EntityZ(P1))*(EntityZ(P2)-EntityZ(P1))) ScaleEntity Strahl,1,1,code12345+2 |
||
- Zuletzt bearbeitet von canny771 am Mo, Jun 06, 2011 19:29, insgesamt einmal bearbeitet
Tigerass |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich schätze mal auf einen Rundungsfehler. Hast du integer anstatt float verwendet?
Ist aber nur eine Idee. Probiere es einfach mal aus. LG Tigerass |
||
![]() |
ZaP |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du kannst auch den normalen Line![]() ![]() |
||
Starfare: Worklog, Website (download) |
![]() |
canny771 |
![]() Antworten mit Zitat ![]() |
---|---|---|
@Zap: Fällt das nicht auf, dass die Linie nicht wirklich zwischen den beiden Objekten ist sondern nur zweidimensional zwischen ihnen liegt?
@Tigerass: Muss ich mal kontrollieren. |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Einen vorgefertigter Mesh würde ich nicht benutzen, sondern lieber mit AddVertex![]() Deine Rechnung ist falsch (Y fehlt) - aber dafür gibt es auch EntityDistance ![]() Außerdem solltest du deine Variablenbenennung überdenken - code12345 sagt am ehesten noch aus, dass du nicht wirklich weißt, was das Ergebnis der Rechenoperation ist. |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
canny771 |
![]() Antworten mit Zitat ![]() |
---|---|---|
@ Tigerass: Du hattest natürlich recht, aber die Auswirkung war nur minimal und nicht entscheident.
Trotzdem danke. @Xeres: Das Y fehlt spielt keine Rolle, da die Objekte, was ich vergessen habe zu posten, auf einer Höhe sind (man kann noch springen, dass ist aber erstmal irrelevant, es geht schon so nicht). Ich habe auch schon mal die ganze Rechnung weg gelassen und für Z einfach "EntityDistance" eingegeben. Das hatte aber nicht funktioniert. Das mit dem Mesh mag richtig sein, leider kann ich nicht besonders gut Meshs "einfach so" in BB erstellen und zu guter letzt weiß ich natürlich was das Ergebnis des Satz des Pys ist. |
||
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Probiers einfach mal mit EntityDistance![]() Außerdem liegt es warscheinlich daran, das dein Mesh schon eine gewisse Anfangsgröße hat. Dein Mesh müsste allerdings genau die größe "1" haben, damit es Funktioniert. mfg ToeB |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
![]() |
canny771 |
![]() Antworten mit Zitat ![]() |
---|---|---|
So, habe es gelöst.
Danke an Alle Es wundert mich aber trotzdem, dass mein Code vorher nicht funktioniert hat. Code: [AUSKLAPPEN] PositionEntity Strahl,EntityX(P1),EntityY(P1),EntityZ(P1) PointEntity Strahl,P2 Code3344#=(Sqr(EntityDistance(P1,P2)*EntityDistance(P1,P2)))/2 MoveEntity Strahl,0,0,Code3344# ScaleEntity Strahl,0.1,0.1,Code3344# |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wozu Quadrieren und Wurzel ziehen? Da kannst du gleich EntityDistance(P1,P2) / 2 schreiben.
Du kannst deine Variablen ja benennen wie du lustig bist - rechne dann aber nicht damit, das wir in deinem code durchblicken und dir helfen können... |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group