Lieber Besucher, herzlich willkommen bei: Amateurfilm-Forum. Falls dies dein erster Besuch auf dieser Seite ist, lies bitte die Hilfe durch. Dort wird dir die Bedienung dieser Seite näher erläutert. Darüber hinaus solltest du dich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutze das Registrierungsformular, um dich zu registrieren oder informiere dich ausführlich über den Registrierungsvorgang. Falls du dich bereits zu einem früheren Zeitpunkt registriert hast, kannst du dich hier anmelden.
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
if (Pfad != null && Zpos != 0) { // wenn Spline if (instanceof(Pfad,SplineObject)) { if (instanceof(Pfad,SplinePrimitiveObject)) Pfad = Pfad->GetSplineObject(); Pfad->InitLength(0); plength = Pfad->GetLength(); if (Zpos > plength) Zpos = plength; //am ende der spline ist ende ;) var vpos = Pfad->GetSplinePoint(Pfad->UniformToNatural(Zpos/plength),0); Zpos = vpos.z; Xpos = vpos.x; Ypos = vpos.y; //#### DIE POSITION FUNKTIONIERT var vtang = Pfad->GetSplineTangent(Pfad->UniformToNatural(Zpos/plength),0); //#### HIER BEKOMME ICH IMMER GLEICHE WERTE if(vtang.x==0){ if(vtang.z>=0) Yrot=-PI/2.0; if(vtang.z<=0) Yrot=PI/2.0; } else if(vtang.x<0) Yrot=atan(vtang.z/vtang.x); else if(vtang.x>0) Yrot=atan(vtang.z/vtang.x)+PI; // Xrot folgt noch **TODO** Zpos = Zpos / -800.0; Pfad->FreeLength(); } else { Zpos = Zpos / 800.0; } } else { Zpos = Zpos / 800.0; } |