3rd Person View

Autor: Georg 'Black' Wicherski

In diesem Tutorial machen wir ein 3rd Person View, das ist eine Ansicht wie z.B. in Tomb Raider, das sieht in Half-Life dann so aus:
3rdperson.jpg
Dieser Screenshot stammt aus meinem Mod „Future War“.

Im Half-Life SDK 2.0 und 2.1 ist das Grundlegende schon drin, das heißt wir müssen nicht allzuviel machen. Wer es ausprobieren will kann im Standard HL ja mal thirdperson in die Konsole im Singleplayer eingeben. Das Ganze spielt sich in der Client Dll ab, als erstes gehen wir in die in_camera.cpp in Zeile 423 und löschen die folgenden sechs Zeilen, damit man auch im Multiplayer in die andere Perspektive schalten kann. Das ganze sollte dann so aussehen:

void CAM_ToThirdPerson(void)
{
  vec3_t viewangles;
 
  gEngfuncs.GetViewAngles((float*) viewangles);

Jetzt gehen wir in Zeile 181 um das manuelle Einstellen des Kamerawinkels über die Konsole zu verhindern. Wer das nicht will, kann diesen Absatz überspringen. Wer will, kann die cvar Deklarationen löschen, das ist aber nicht zwingend notwendig.

 
#endif
 
camAngles[ PITCH ] = 0;  //no y rotation on init
camAngles[ YAW ]   = 0;  //no x rotation on init
dist               = 64; //64 units between player and camera
 
//

Wenn wir das jetzt kompilieren, sehen wir, dass man zwar wunderbar in die dritte Person Perspektive reinkommt, aber durch erneutes tippen von thirdperson nicht wieder raus. Das liegt daran, dass Valve thirdperson nicht als Toogle-Command (Wechselbefehl) ausgelegt hat, sondern es extra noch firstperson gibt. Da es aber blöd ist zwei Tasten zu verwenden, gehen wir nochmal in die CAM_ToThirdPerson (Zeile 419) und fügen folgendes hinzu um wieder in die erste Person zu gehen, wenn man schon in der dritten ist:

void CAM_ToThirdPerson( void )
{
if(cam_thirdperson)
{
  CAM_ToFirstPerson(); //Go to first person view
  return; //Don't do third person stuff
}

Das war schon alles zum echten Coding, kompilieren und fertig. Nur ist es doof, dass man immer thirdperson in der Konsole eingeben muss. Deshalb binden wir jetzt an eine Taste das Kommando. Dazu öffnen wir jetzt die kb_act.lst aus dem gfx/shell Ordner des Mods (Wer die Datei nicht hat, muss sie sich aus der pak0.pak aus dem Valve Ordner holen). Um eine neue Taste hinzuzufügen, gehen wir an die Stelle der Datei, wo es in den Optionen stehen soll und fügen noch eine Zeile mit dem Kommando und der Beschreibung ein. Ich hab das mal nach Spray Logo gemacht:

"impulse 201"          "Spray Logo"
"thirdperson"          "Toggle Third Person View Mode"

Anmerkung

Dieses Tutorial stammt aus der ehemaligen Sammlung des resourcecode.de und konnte dank der freundlichen Zustimmung des Autors in das thewall-Wiki übertragen werden.

Die Verwendung aller Dokumente einschließlich der Abbildungen ausschließlich zu nichtkommerziellen Zwecken. Verbreitung des Dokuments auf Speichermedien, (insbesondere auf CD-ROMs als Beilage zu Zeitschriften und Magazinen oder sog. "Mission-Packs" etc.) ist untersagt.
 
coding/half-life/third_person_view.txt · Zuletzt geändert: 2010/07/29 21:12 von Adrian_Broher