Ich hab grad keinen entsprechenden Code in der Nähe, aber ich versuchs mal mit meinem obigen Beispiel:

Code:
ENTITY* dummy = ent_create(NULL,nullvector,NULL); 
VECTOR campos;
var distanz=0;



Code:
vec_set(dummy.x,vector(my.x,my.y,my.z+150));

campos.x=dummy.x-(50)*cos(dummy.tilt)*cos(dummy.pan);
campos.y=dummy.y-(50)*cos(dummy.tilt)*sin(dummy.pan);
campos.z=dummy.z-(50)*sin(dummy.tilt); //setze einen Vector an die Stelle, an der die Kamera am weitesten vom Modell entfernt sein darf

distanz=c_trace(dummy.x,campos,IGNORE_ME); //setze 'distanz' auf den Abstand, in Beachtung von Objekten, die im Weg sind.
if(distanz==0) //ist kein Objekt im Weg
distanz=50; //setze die weiteste Entfernung

camera.x=dummy.x-(distanz)*cos(dummy.tilt)*cos(dummy.pan);
camera.y=dummy.y-(distanz)*cos(dummy.tilt)*sin(dummy.pan);
camera.z=dummy.z-(distanz)*sin(dummy.tilt);
vec_set(camera.pan,dummy.pan);



Ist wie gesagt ungetestet, aber sollte so in etwa funktionieren.


Hilf mir, dir zu helfen!