Ich habe für die Kamera eine etwas abgewandelte Form genommen, mich zwar stark an Pappenheimer und the clown orientiert aber irgendwie noch nen bisschen selber was reingemixt und das funktioniert soweit ganz gut.

Ich Berechne mit Sin und Cos ne Position neben dem Spieler die immer rechts von ihm is. Das is mein Ankerpunkt für meine Kamera. Die setze ich nämlich dahinter und lasse sie dann in Richtung des Ankerpunktes gucken und diesem auch in der Drehung folgen. Damit konnte ich das nach oben und nach unten Sehen gut umsetzen.


Hier mein Code als Beispiel:

Code:
// Engine Funktion - Kamera script
var camera_distance = 75;
var cam_height = 0;
var bone_height = 0;

function handle_camera() 
{
	// Vectoren
	VECTOR temp;
	VECTOR anker;
	VECTOR tempvect;
	
	// Durch bewegen der Maus wird die Kamera gesteuert, aber nur unter bestimmten Umständen
	if(key_d == 0 && key_a == 0 && key_shift == 1){character.pan -= mouse_force.x * 10 * time_step;}
	else if(key_shift == 0){character.pan -= mouse_force.x * 10 * time_step;}
	
	// Kamera hoch und runter blicken lassen
	cam_height -= mouse_force.y * 8 * time_step;
	cam_height = clamp(cam_height,-50,50);
	
	// Kamera Anker (Ankerpunkt der Kamera, orientiert sich am Spieler)
	anker.x = character.x + 25 * sin(character.pan);
	anker.y = character.y - 25 * cos(character.pan);
	anker.z = character.z + 35;
	
	// Kamera orientiert sich am Ankerpunkt
	camera.x = anker.x - camera_distance * cos(character.pan);
	camera.y = anker.y - camera_distance * sin(character.pan);
	camera.z = anker.z + cam_height;
	
	// Kamera blickt in die Richtung des Ankerpunktes (Also gleichzeitig in Spielerrichtung)
	vec_set(temp,anker.x);
	vec_sub(temp, camera.x);
	vec_to_angle(camera.pan, temp);

	// Billige Kamera Kollision
	trace_mode = IGNORE_ME | IGNORE_PASSABLE;
	result = trace(my.x,camera.x);
	if(result > 0) { vec_set(camera.x,target.x); }
	
	// Steuerung der Rückenbones für Zielmodus
	if(mouse_right == 1 && character.move_mode == 1)
	{
		bone_height = cam_height;
		ent_bonerotate_parent(character,"Bone1",vector(0,-bone_height,0));
	}	
	
	if(mouse_right == 0)
	{
		if(bone_height > 0)
		{
			ent_bonerotate_parent(character,"Bone1",vector(0,-bone_height,0));
			bone_height -= 20 * time_step;
		}
		if(bone_height < 0)
		{
			ent_bonerotate_parent(character,"Bone1",vector(0,-bone_height,0));
			bone_height += 20 * time_step;
		}
	}
}



Vielleicht hilfs ja jemandem ^^
Die Kamera ist zwar nicht wirklich "smooth" so wie in RE5, aber sie bietet statisch dass, was RE5 auch kann

Gruß Roxas~