path_spline (ENTITY*,VECTOR* pos,var dist)

Die Bewegung entlang eines Pfades. Diese Funktion berechnet eine weiche Spline-Kurve entlang einer geschlossenen Pfadschleife und setzt den pos-Vektor auf die berechnete Kurvenposition, welche zur gegebenen Distanz auf dem Pfad passt. Damit lassen sich Actors, Fahrzeuge oder Kameras sanft einen Pfad entlang bewegen.

Parameter:

ENTITY* - Pointer auf eine Entity, die mit dem Pfad verknüpft ist.
pos
- Vektor zum Erhalt der berechneten Kurvenposition.
dist - Abstand auf dem Pfad für den die Kurvenposition zu berechnen ist.

Rückgabewerte:

Nummer des Knotens vor der berechneten Position.

Änderungen:

pos - wird auf eine Position auf der Spline-Kurve gesetzt.

Geschwindigkeit:

Mittel

Bemerkungen:

Beispiel: (siehe auch path_create):

//call camera_path(""); to let the camera run along a path in the level
function camera_path(pathname)
{
// create a dummy path entity
	me = ent_create(NULL,nullvector,NULL);
	path_set(me,pathname);
	var dist = 0;
	var vLastPos[3];
	var vDir[3];
	while(1) 
	{
// place the camera on the path
		path_spline(me,camera.x,dist);
		dist += 5*time_step;
// let the camera look ahead	
		vec_diff(vDir,camera.x,vLastPos);
		vec_to_angle(camera.pan,vDir);
		vec_set(vLastPos,camera.x);
		wait(1);
	}
}

Siehe auch:

path_create, path_scan, path_nextnode, path_setedge, path_length

► Aktuelle Version Online