PickedTriangle
Übersicht

mDaveBetreff: PickedTriangle |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo Leute!
Ich habe mich in letzter Zeit an ein Rennspiel versucht. Nun stehe ich vor dem Problem, dass sich das Fahrzeug dem Untergrund anpassen soll. Das Fahrzeug soll also seinen Pitch-Winkel verändern, damit es eine Paralelle zum Dreieck eines Meshes bildet, auf dem es steht. Gut, habe ich gedacht, arbeite ich mal mit den Pickbefehlen und AlignToVector. Aber der Debugger sagt mir "Entity does not exist" Bah! Hier die wichtigen Codeabschnitte: Code: [AUSKLAPPEN] Picked=EntityPick (R\Picker,5000) PickedVer=PickedTriangle() AlignToVector R\Craft,EntityX(PickedVer),EntityY(PickedVer),EntityZ(PickedVer),1,0.2 Der Entitypickmode ist gesetzt, habe allerdings keine Ahnung, was ich falsch gemacht habe. Könnt ihr mir Gedankenstützen geben? Ich bin auf diesen Befehlsbereich noch recht unerfahren :O Vielen Dank schonmal! |
||
![]() |
the FR3AK |
![]() Antworten mit Zitat ![]() |
---|---|---|
https://www.blitzforum.de/help/PickedTriangle
Wie man dort lesen kann, wird bei der Funktion PickedTriangle nur die ID des Triangles zurück gegeben und kein Entity ![]() |
||
mDave |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ah, danke!
Gut, er macht jetzt keine Fehlermeldung mehr, allerdings richtet er sich nicht an der X-Achse aus :O |
||
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
wahrscheinlich musst du x,y und z koordinate des dreiecks noch Mittels TFormVector (oder Point^^) für dein Auto Konvertieren | ||
mDave |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Zumindest ändert das Auto jetzt seinen Winkel, danke!
Allerdings, lässt sich das Gefährt nicht mehr gescheit steuern. Und auch erscheint es mir so, als würde sich das Auto willkürlich ausrichten. Könnt ihr in dem Code noch irgendwas fehlerhaftes entdecken? Code: [AUSKLAPPEN] Picked=EntityPick (R\Picker,5000) TFormPoint PickedTriangle(),PickedTriangle(),PickedTriangle(),Level,0 AlignToVector R\Craft,TFormedX(),TFormedY(),TFormedZ(),1,0.1 If KeyDown(R\KeySpeedUp) Then R\SpeedZ#=R\SpeedZ#+0.18 If KeyDown(R\KeySpeedDown) Then R\SpeedZ#=R\SpeedZ#-0.06 If KeyDown(R\KeyTurnRight) Then R\TurnY#=R\TurnY#-0.09 If KeyDown(R\KeyTurnLeft) Then R\TurnY#=R\TurnY#+0.09 If EntityCollided (R\Craft,1)<>0 Then R\SpeedY#=0 If EntityCollided (R\Craft,1)=0 Then R\SpeedY#=R\SpeedY#+0.22 TurnEntity R\Craft,0,R\TurnY#,0 MoveEntity R\Craft,0,-R\SpeedY#,R\SpeedZ# R\SpeedZ#=R\SpeedZ#*0.996 R\TurnY#=R\TurnY#*0.975 |
||
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
TFormPoint PickedTriangle(),PickedTriangle(),PickedTriangle(),Level,0
Du übergibst als koordinaten den Index des Gepickten Triangles? Macht das sinn ![]() Für dich könnte PickedNormal hilfreich sein. Das ist ein senkrechter Vektor zum gepickent dreieck. wenn du dich so drehst dass es in diesen vector zeigt müsste es weg vom dreieckt zeigen =================== Nach dem du mir eine PN geschrieben hast mit deinem Code: Ich hab erstmal deinen Picker (das entity von Entitypick in seinem Code) entfernt und durch ein simples Linepick ersetzt. Das reicht zunächst mal völlig aus. Als nächstes hab ich meinen eigenen Ratschlag verwendet und AlignToVector mit den Normalkoordinaten, die (schande über mich) nicht PickedNormal heißen sondern PickedNX,Y,Z. Dann hab ich festgestellt dass Achse 3 eingestellt ist. Da ich keine Ahnung habe welche Achse was bewirkt zeigte sich Dass achse 1 für die schieflage und Achse 2 für berg und talfahrt zuständig ist. Dann noch etwas am Parameter rate gespielt damit es icht bei jedem Triangle Nen schlag gibt und das Objekt anders hängt und dann sahs eig ganz gut aus. |
||
mDave |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Es funktioniert!
Vielen vielen vielen besten Dank, Silver_Knee! |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group