Документация/Уроки/Замена главного персонажа

From NeoAxis Engine Wiki

Jump to: navigation, search
Перейти на уровень выше

Contents

Введение

В этом уроке мы узнаем, как заменить главного персонажа (кролика) на какой-нибудь другой.

В первой части урока будет показано, как заменить модель кролика, без создания нового игрового объекта. Мы просто заменим модель кролика. Во второй части мы создадим нового персонажа с нуля.

Замена модели

В этом уроке мы заменим модель кролика на другую модель. Первым делом необходимо запустить Resource Editor. Описание игрового объекта (кролика), расположено в директории Data\Types\Units\Rabbit, в файле Rabbit.type. Вы можете узнать больше о системе игровых объектов здесь.

Change person1.jpg

Двойной щелчок по файлу запустит режим редактирования. Этот редактор называется редактор игровых объектов. Теперь можем приступить к изменению параметров.

Для начала заменим модель кролика, отредактировав присоединенные объекты (AttachedObjects). К игровому объекту присоединена модель, которую мы хотим заменить. Сначала выделим кролика в окне просмотра.

Change person10.jpg

Теперь прикрепленная объект доступен для редактирования. Заменим модель кролика на нашу модель. Нужно поменять значение свойства MeshName. Для этого нажмите на кнопку "..." в поле MeshName.

Change person11.jpg

В открывшемся окне предлагается выбрать файл с мешем. Выберите файл с моделью вашего персонажа. В качестве примера, для этого урока выбрана модель зомби.

Change person6.jpg

Для выбранного меша необходимо задать позицию, поворот и масштабирование. Это необходимо, чтобы персонаж стоял ногами на ландшафте, а не висел в воздухе, смотрел туда же, куда и камера, и был соответствующих окружающему миру размеров. Естественно, эти параметры индивидуальны для каждого меша.

Change person12.jpg

Вернемся к редактированию типа Rabbit. Выберите тип в окне Objects.

Change person14.jpg

Теперь необходимо настроить анимации прикрепленной модели. Это нужно сделать для того, чтобы игровой объект знал, какие анимации нужно проигрывать в каком-либо состоянии (анимация состояния покоя, анимация хотьбы, и т.д.). Поменяем анимацию состояния покоя и ходьбы. За них отвечают, соответственно, параметры IdleAnimationName и WalkAnimationName.

Change person8.jpg
Перечень всех анимаций можно посмотреть в Resource Editor, открыв файл с мешем и развернув список Animations.

Теперь, чтобы изменения вступили в силу, необходимо сохранить файл, нажав на кнопку с изображением дискеты.

Change person13.jpg

Изменения вышеперечисленных параметров достаточно, чтобы запустить Game.exe в папке NeoAxis\NeoAxis Engine Non-Commercial SDK 0.9\Game\Bin и посмотреть, что получилось.

Change person9.jpg
Чтобы увидеть вашего персонажа в игре, нужно выбрать камеру с видом от третьего лица, нажав клавишу F7.

Создание персонажа

Попробуем создать новый тип персонажа. Для этот урока вам сначала нужно ознакомиться с предыдущим уроком (тот который выше на странице).

Создание игрового типа

Для начала создадим для него собственную директорию в папке Data\Types\Units. Запустим редактор ресурсов и перейдем к папке. Щелкним правой кнопкой мыши на папке Units и выберем в контекстном меню пункт New Directory. Вводим название новой папки (например, такое же как и название будущего персонажа) и нажимаем ввод.

Change person15.jpg

Теперь щелкните правой кнопкой мыши по созданной папке и нажмите кнопку New Resource.

Change person16.jpg

Появится окно с выбором типа нового ресурса. Выберите Entity Type и нажмите кнопку Continue.

Change person17.jpg

В появившемся окне необходимо указать имя нового типа и его класс. Классом, в нашем случае, будет выступать PlayerCharacter (Этот игровой класс предназначен для создания персонажей игрока). После указания имени и класса следует нажать кнопку Next.

Change person18.jpg

Итак, файл с типом нового персонажа создан, но он не настроен (например нет прикрепленных моделей). Чтобы изменить это, нужно настроить вашего персонажа, задав все необходимые параметры. Для этого перейдите в режим редактирования, сделав двойной щелчок по файлу с типом.

Change person19.jpg

Сперва прикрепим к типу персонажа трехмерную модель. Правой кнопкой мыши нажмите на тип в окне Objects и выберите пункт Attach Object. После чего, в появившемся меню, нажмите кнопку Mesh.

Change person21.jpg

В появившемся окне выберите файл с моделью и нажмите Ok.

Change person22.jpg

При необходимости укажите трансформацию меша: параметры Position, Rotation и Scale.

Change person23.jpg

Вернемся к редактированию типа. Выделите персонажа в списке Objects.

Change person24.jpg

Укажем названия анимаций для состояния (IdleAnimationName) и хотьбы (WalkAnimationName), подобно тому как мы делали этом в предыдущем уроке.

Change person25.jpg

Поменяем еще ряд характеристик. FlyControlForce - сила, с которой можно перемещать персонаж в полете, FlyControlMaxVelocity - максимальная скорость перемещения в полете, WalkForce - сила, с которой можно перемещать персонаж при ходьбе, WalkMaxVelocity - максимальная скорость ходьбы.

Change person29.jpg

После завершения редактирования не забудьте сохранить изменения. Сохраниться можно через меню File -> Save, с помощью иконки с изображение дискеты или просто нажав Ctrl + S.

Change person20.jpg

Замена персонажа по умолчанию

После того, как редактирование типа завершено, можно приступить к изменениям в коде. Это нужно сделать, чтобы назначить персонажа по умолчанию для игрока.

Откройте солюшн (файл с проектами) "NeoAxis\NeoAxis Engine Non-Commercial SDK 0.9\Game\Src\NonCommercialLicense.sln". В проекте GameEntities откройте файл GameWorld.cs. Найдите в нем функцию ServerOrSingle_CreatePlayerUnit. В коде

string unitTypeName;
if( !player.Bot )
	unitTypeName = "Rabbit";
else
	unitTypeName = player.Name;

замените строчку unitTypeName = "Rabbit"; на unitTypeName = "NewCharacter";, где вместо NewCharacter впишите название типа вашего персонажа.

Далее соберите проект, нажав кнопку Build -> Build Solution.

Внимание! Перед сборкой не забудьте закрыть Resource Editor, чтобы библиотеки NeoAxis Engine могли перекомпилироваться.
Change person27.jpg

Запустите Game.exe в папке NeoAxis\NeoAxis Engine Non-Commercial SDK 0.9\Game\Bin, чтобы посмотреть на вашего персонажа в игре.

Change person28.jpg