Newton : Panzer
Übersicht

![]() |
ToeBBetreff: Newton : Panzer |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich wollte mal ein kleines Testprojekt mit einem Panzer machen, der halt mit der Newton engine Läuft. Dafür erstelle ich ein "JointVehicle" und 8 Tires (phJointVehicleAddTires). Jetzt hab ich aber das Problem, das die Räder positionen immer "NaN" sind. So hab ich das gemacht (aus dem Vehicle beispiel im prinziep kopiert) :
Code: [AUSKLAPPEN] Function CreateTank.TTank( r=255, g=255, b=255 )
tmp.TTAnk = New TTank tmp\mesh = CopyEntity( Panzer ) PositionEntity tmp\mesh, 0, 0, 0 EntityColor tmp\mesh, r, g, b tmp\BODY = FindChild( tmp\mesh, "KÖRPER" ) tmp\TOWER = FindChild( tmp\mesh, "TURM" ) tmp\GUN = FindChild( tmp\mesh, "KANNONE" ) tmp\ENDE = FindChild( tmp\mesh, "ENDE" ) tmp\LOOK = FindChild( tmp\mesh, "LOOK" ) tmp\base = phxCreateBox(4, 5, 8, 10) phBodySetPos(tmp\base\body,0,0,0) phBodySetVel(tmp\base\body,0,0,0) phBodySetMat(tmp\base\body,matBody) tmp\base\mesh = tmp\mesh tmp\veh = phJointVehicleCreate( 0, 0, 0, tmp\base\body) CamPiv[0] = CreatePivot( tmp\mesh ) CamPiv[1] = CreatePivot( CamPiv[0] ) CamPiv[2] = CreatePivot( CamPiv[0] ) PositionEntity CamPiv[1], 0, 10, -20 PositionEntity CamPiv[2], 0, 4, 5 For i = 0 To 3 tmp\wheel_r[i] = CopyEntity( Tire ) tmp\wheel_l[i] = CopyEntity( Tire ) ;Vehicle,x,y,z,nx,ny,nz,mass,width,radius,shock,spring,lenght,mat tmp\tire_r[i] = phJointVehicleAddTire(tmp\veh,8,-4,i,-1, 0, 0,0.1 ,0.4 ,2 ,136.4,8651.0,10.3 ,0 ) tmp\tire_l[i] = phJointVehicleAddTire(tmp\veh,-8,-4,i,-1, 0, 0,0.1 ,0.4 , 2,136.4,8651.0,10.3 ,0 ) Next Return tmp End Function Function UpdatePlayer() For tmp.TTank = Each TTank For i = 0 To 3 PositionEntity tmp\wheel_r[i],phJointVehicleGetTireX(tmp\veh,tmp\tire_r[i]),phJointVehicleGetTireY(tmp\veh,tmp\tire_r[i]),phJointVehicleGetTireZ(tmp\veh,tmp\tire_r[i]) RotateEntity tmp\wheel_r[i],phJointVehicleGetTirePitch(tmp\veh,tmp\tire_r[i]),phJointVehicleGetTireYaw(tmp\veh,tmp\tire_r[i]),phJointVehicleGetTireRoll(tmp\veh,tmp\tire_r[i]),1 PositionEntity tmp\wheel_l[i],phJointVehicleGetTireX(tmp\veh,tmp\tire_l[i]),phJointVehicleGetTireY(tmp\veh,tmp\tire_l[i]),phJointVehicleGetTireZ(tmp\veh,tmp\tire_l[i]) RotateEntity tmp\wheel_l[i],phJointVehicleGetTirePitch(tmp\veh,tmp\tire_l[i]),phJointVehicleGetTireYaw(tmp\veh,tmp\tire_l[i]),phJointVehicleGetTireRoll(tmp\veh,tmp\tire_l[i]),1 DebugLog EntityX(tmp\wheel_r[i])+","+EntityY(tmp\wheel_r[i])+","+EntityZ(tmp\wheel_r[i]) Next Next End Function Aber bei dem Debuglog zeigt er mir nur Code: [AUSKLAPPEN] NaN,NaN,NaN
an :/ Ich hoffe ihr könnt mir da weiterhelfen, villeicht mach ich ja was falsch... 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! |
![]() |
Lastmayday |
![]() Antworten mit Zitat ![]() |
---|---|---|
tag,
NaN = Not a Number. heißt das du sqr(0) und oder 0 / 0 rechnest. mfg Lastmayday |
||
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Vielen dank, das weiß ich, aber da ich nirgentwo mit wurzel artbeite (höchtens die NewtonDLL), kann ich das auch nicht beheben ![]() 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! |
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ah habs gelöst, lag an dem Vehicle erstellen.
Mal ne andere Frage : Wie realisiere ich am besten mit Newton Panzerketten um die Räder ? 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! |
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
entweder du animierst ein mesh oder du lässt die textur fahren | ||
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja hab ich jetzt auch dran gedacht ![]() Ich habe an jeder seite ja 4 Räder. Jetzt sind die beiden mittleren räder auf dem Boden und die beiden aüßeren ein stückchen nach oben versetzt (so wie bei nem Panzer). Jetzt ist es aber so, das ich ALLE Räder gleich beschleunige. Das hat zu folge das die beiden Aüßerren (oder die die nicht den Boden berühren) schneller drehen als die auf dem Boden. Kann ich der NewtonEngine irgentwie sagen, das die Räder "Zusammen" gehören und sich, egal welches Rad beschleunigt wird, immer gleichschnell drehen müssen ? Und so sehen die Räder aus : ![]() 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! |
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
beschleunige doch nur ein rad und setz die anderen räder auf die gleiche Drehung. Geht das net? | ||
![]() |
M0rgenstern |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich weiß jetzt nicht wie die Newton Enginge funktioniert, aber spontan würde ich folgendes sagen:
Die beiden Räder mit Bodenkontakt beschleunigen und den anderen beiden Rädern einen Rotationspunkt geben und auf die Kollision mit der Kette reagieren lassen. Damit drehen die sich nur so schnell wie die Kette sich bewegt. Lg, M0rgenstern |
||
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja das problem ist ja das ich nur eine Graphische Kette habe keine Phyiskalische...
Trotzdem danke ! 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! |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group