Учимся менять камеры персонажа в NeoAxis Engine.
Можно изменить в классе ActionGameWindow ( ну тут смотря для какого режима игры ) следующие строки -
[Config( "Camera", "cameraType" )]
static CameraType cameraType;
Правим так:
//[Config( "Camera", "cameraType" )]
static CameraType cameraType = CameraType.TPS;
В методе
OnKeyDown правим
//change camera type
if( e.Key == EKeys.F7 )
{
cameraType = (CameraType)( (int)cameraType + 1 );
if( cameraType == CameraType.Count )
cameraType = (CameraType)0;
if( GetPlayerUnit() == null )
cameraType = CameraType.Free;
FreeCameraEnabled = cameraType == CameraType.Free;
return true;
}
что бы выглядели так -
//change camera type
/*if( e.Key == EKeys.F7 )
{
cameraType = (CameraType)( (int)cameraType + 1 );
if( cameraType == CameraType.Count )
cameraType = (CameraType)0;
if( GetPlayerUnit() == null )
cameraType = CameraType.Free;
FreeCameraEnabled = cameraType == CameraType.Free;
return true;
}*/
Или же:
Правкой конфига (Game.config):
Camera
{
cameraType = FPS
tpsCameraDistance = 4
tpsCameraCenterOffset = 1.6
tpsVehicleCameraDistance = 8.7
tpsVehicleCameraCenterOffset = 3.8
fov = 0
}
ИСПРАВЛЯЕМ НА
Camera
{
cameraType = TPS
tpsCameraDistance = 4
tpsCameraCenterOffset = 1.6
tpsVehicleCameraDistance = 8.7
tpsVehicleCameraCenterOffset = 3.8
fov = 0
}
А теперь поподробнее, как убирать не нужные вам виды камеры в игре. Как вы уже знаете, существует три вида. Это
FPS (от первого лица),
TPS (от третьего лица) и
Free (свободный обзор). Переключаться между ними можно, при помощи клавиши
F7. Но возможно для вашей игры не нужен, например, вид
Free. Или у вас будет шутер от первого лица, и вам не нужны такие виды, как
TPS и
Free. Короче говоря, не всегда нужны они все. Сейчас я покажу, как убрать не нужные виды камеры. Для этого откроем в нашем проекте класс
Game > ActionGameWindow.cs, и найдем там строки
if( e.Key == EKeys.F7 )
{
cameraType = (CameraType)( (int)cameraType + 1 );
if( cameraType == CameraType.Count )
cameraType = (CameraType)0;
if( GetPlayerUnit() == null )
cameraType = CameraType.Free;
FreeCameraEnabled = cameraType == CameraType.Free;
return true;
}
Если вам нужно убрать только один из видов, то после строк
if( cameraType == CameraType.Count )
cameraType = (CameraType)0;
введите
if( cameraType == CameraType.Free )
cameraType = (CameraType)0;
только за место слова Free, поставьте не нужный вам вид. Например
TPS.
Но что делать, если вам нужен только один из видов, а остальные два можно убрать. Для этого, все после тех же строк
if( cameraType == CameraType.Count )
cameraType = (CameraType)0;
введите
if( cameraType == CameraType.FPS)
cameraType = (CameraType)0;
if( cameraType == CameraType.Free)
cameraType = ( CameraType)1;
Только здесь небольшая загвоздка. Нельзя оставить только вид
Free, ведь так вы не сможете играть персонажем. Так что, если вы хотите оставить только один вид, это будет либо
FPS, либо
TPS. И заметьте, тот вид, который вы впишите вместе с
Free (у меня это
FPS) исчезнет с вашей игры. Например, у меня останется только
TPS. Теперь осталось только скомпилировать ваш проект. На этом мы и закончим наш урок.
Удачного вам геймдева.
Авторы
КоловратЪ,
Sergey_rx,
Shooter.
Оглавление
| На верх Читать комментарии (1)
Всего комментариев:
1
Комментировал: Shooter |
25.07.10 |
| Если вдруг, после того как вы уберете один вид, а при включении игры он останется, то ничего страшного. Это бывает только в первый раз. После не повторится. Просто нажмите клавишу F7 |