Panzerfahrt
Übersicht

![]() |
StepTigerBetreff: Panzerfahrt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi@all!
Also hier mein plan: Ich will, dass ein Panzer auf einem unebenen Terrain fährt und er sich aber auch so bewegt! Also dass er auch seine Achsen alle so macht! Wie mach ich das? |
||
![]() |
Triton |
![]() Antworten mit Zitat ![]() |
---|---|---|
Gib ihm ein Gewicht und gib der Welt in der er fährt die Schwerkraft.
Dazu noch gliedrige Ketten die auf den Untergrund reagieren und schon ist es nicht mehr weit. |
||
Coding: silizium-net.de | Portfolio: Triton.ch.vu |
![]() |
StepTiger |
![]() Antworten mit Zitat ![]() |
---|---|---|
HARTE ARBEIT! Ich glaube ich habe eine idee!
Ich hab gerade so den einfall das vielleicht über den atanfull befehl zu machen! TJA! ATANFULL! Meine rettung! hmmm... in der b3d hilfe geschaut.... nichts gefunden! programmier ich mir doch mal ein atanfull programm! NICHTS LEICHTER ALS DAS! dachte ich bevor ich 2 stunden daran gesessen habe! Klein aber oho! Es gibt den winkel zweier punkte an, obwohl es nur den x und y abstand kennt. Wie macht es das??? Keine ahnung ^^ nene spaß! Aber zu faul zum erklären, da ich mir sicher bin, in b3d ist irgendwo doch eine funktion eingebaut mit der das ginge! also bin ich mal ganz ruhig ^^ aber wer es doch haben will: Code: [AUSKLAPPEN] Function atanfull#(xdist#,ydist#)
winkel#=0 z#=xdist#^2+ydist#^2 z#=z#^.5 wink#=xdist#/z# winkel#=ASin(wink#) If xdist#<>0 Else If ydist#>0 Then winkel#=360 If ydist#<0 Then winkel#=180 EndIf If ydist#<>0 If ydist#<0 Then winkel#=winkel#+90 If xdist#<0 And ydist#<0 Then winkel#=winkel#-180 Else If xdist#>0 Then winkel#=90 If xdist#<0 Then winkel#=270 EndIf If xdist#=0 And ydist#=0 Then winkel#=666 If winkel#<=0 Then winkel#=winkel#+360 Return winkel# End Function |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
ql:ATan2 macht doch nichts anderes, denke ich. | ||
![]() |
StepTiger |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich war mir doch so sicher, dass es sowas schon gibt ^^
aber in meinem war noch ein fehlerchen! das ist besser: Code: [AUSKLAPPEN] Function atanfull#(xdist#,ydist#) winkel#=0 If Not xdist#<>0 If ydist#>0 Then winkel#=360:da=1 If ydist#<0 Then winkel#=180:da=1 EndIf If Not ydist#<>0 If xdist#>0 Then winkel#=90:da=1 If xdist#<0 Then winkel#=270:da=1 EndIf If ydist#<0 Then da=da+1 If xdist#<0 Then da=da+1 If xdist#<0 And ydist#>0 Then da=da+1 If xdist#>0 And ydist#>0 Then da=0 z#=xdist#^2+ydist#^2 z#=z#^.5 If da=0 wink#=xdist#/z# winkel#=winkel#+ASin(wink#) Else wink#=ydist#/z# winkel#=winkel#+ACos(wink#) EndIf If xdist#=0 And ydist#=0 Then winkel#=666 If winkel#<=0 Then winkel#=winkel#+360 If da=2 Then winkel#=-Abs(winkel#) If Not xdist#<>0 If ydist#>0 Then winkel#=360:da=1 If ydist#<0 Then winkel#=180:da=1 EndIf If Not ydist#<>0 If xdist#>0 Then winkel#=90:da=1 If xdist#<0 Then winkel#=270:da=1 EndIf Return winkel# End Function Also nützlich für die Leute, die mal wissen wollen was innerhalb der atan2 funktion passiert![/code] |
||
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich würde erstmal vier Auflagepunkte testen mit LinePick.
Von denen die Aufliegen das Kreuzprodukt ausrechnen bzw. den mittelpunkt desser . Dann haste also zwei Vectoren , den Schwerpunkt von deinem Panzer bzw. die Mitte vom 3D Objekt und diesen Mittelpunkt von den Auflagepunkten was dir sagt wo der hin kippen möchte . Den Kippvector mußte wohl spiegeln das der stimmt . |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group