phent_addvellocal(ENTITY*, VECTOR* vecSpeed, VECTOR* vecPos);
phent_addvelglobal(ENTITY*, VECTOR* vecSpeed, VECTOR* vecPos);
Linear- und Winkelgeschwindigkeit werden der betreffenden Entity an der
von vecPos in lokalen (Entity-) oder globalen (Welt-)Koordinaten
angegebenen Position hinzuaddiert. Der Vektor vecSpeed ist von der
momentanen Obektausrichtung unabhängig.
Parameter:
ENTITY* |
betreffende Entity |
vecSpeed |
Geschwindigkeitsvektor |
vecPos |
Position an der die Geschwindigkeit hinzugefügt wird. |
Rückgabewert
1 wenn erfolgreich,
0 wenn nicht erfolgreich.
Geschwindigkeit:
Schnell
Remarks:
- Es wird nicht geprüft, ob sich die Position
tatsächlich innerhalb der Entity befindet. So kann man ihr, indem man ein vecPos weit
außerhalb der Entity wählt, einen starken Drall geben. Befindet sich vecPos dagegen
genau im Masse-Zentrum der Entity, wird es überhaupt keine Drehung geben
(in diesem Fall sollten Sie die Verwendung von phent_addcentralforce in
Betracht ziehen).
- Hohe Geschwindigkeiten oder zentrumsnahe Positionen verursachen eine sehr
schnelle Drehung des Objekts (etwa einige Tausend Umdrehungen pro Sekunde),
was ein tatsächliches Objekt durch die Zentrifugalkräfte zum explodieren
brächte. Normalerweise kann auch eine Physik-Ensing nicht mit
solchen Drehgeschwindigkeiten umgehen und tendiert dazu, dem rotierenden
Objekt
ein sprunghaftes
Verhalten zu geben.
Edition:
C P
Beispiel:
entity* myCrate;
ph_setgravity( nullvector );
phent_setmass( myCrate, 10 );
phent_setdamping (myCrate, 0 );
temp.x= 50; temp.y= 0; temp.z= 0;
phent_addvellocal( myCrate, temp, vector(10,0,0) );
Siehe auch:
phent_addcentralforce, phent_addvelcentral
► Aktuelle Version Online