Документация/Уроки/Замена главного персонажа
From NeoAxis Engine Wiki
| Language: | Status: | Approved |
Contents |
Введение
В этом уроке мы узнаем, как заменить главного персонажа (кролика) на какой-нибудь другой.
В первой части урока будет показано, как заменить модель кролика, без создания нового игрового объекта. Мы просто заменим модель кролика. Во второй части мы создадим нового персонажа с нуля.
Замена модели
В этом уроке мы заменим модель кролика на другую модель. Первым делом необходимо запустить Resource Editor. Описание игрового объекта (кролика), расположено в директории Data\Types\Units\Rabbit, в файле Rabbit.type. Вы можете узнать больше о системе игровых объектов здесь.
Двойной щелчок по файлу запустит режим редактирования. Этот редактор называется редактор игровых объектов. Теперь можем приступить к изменению параметров.
Для начала заменим модель кролика, отредактировав присоединенные объекты (AttachedObjects). К игровому объекту присоединена модель, которую мы хотим заменить. Сначала выделим кролика в окне просмотра.
Теперь прикрепленная объект доступен для редактирования. Заменим модель кролика на нашу модель. Нужно поменять значение свойства MeshName. Для этого нажмите на кнопку "..." в поле MeshName.
В открывшемся окне предлагается выбрать файл с мешем. Выберите файл с моделью вашего персонажа. В качестве примера, для этого урока выбрана модель зомби.
Для выбранного меша необходимо задать позицию, поворот и масштабирование. Это необходимо, чтобы персонаж стоял ногами на ландшафте, а не висел в воздухе, смотрел туда же, куда и камера, и был соответствующих окружающему миру размеров. Естественно, эти параметры индивидуальны для каждого меша.
Вернемся к редактированию типа Rabbit. Выберите тип в окне Objects.
Теперь необходимо настроить анимации прикрепленной модели. Это нужно сделать для того, чтобы игровой объект знал, какие анимации нужно проигрывать в каком-либо состоянии (анимация состояния покоя, анимация хотьбы, и т.д.). Поменяем анимацию состояния покоя и ходьбы. За них отвечают, соответственно, параметры IdleAnimationName и WalkAnimationName.
Перечень всех анимаций можно посмотреть в Resource Editor, открыв файл с мешем и развернув список Animations.
Теперь, чтобы изменения вступили в силу, необходимо сохранить файл, нажав на кнопку с изображением дискеты.
Изменения вышеперечисленных параметров достаточно, чтобы запустить Game.exe в папке NeoAxis\NeoAxis Engine Non-Commercial SDK 0.9\Game\Bin и посмотреть, что получилось.
Чтобы увидеть вашего персонажа в игре, нужно выбрать камеру с видом от третьего лица, нажав клавишу F7.
Создание персонажа
Попробуем создать новый тип персонажа. Для этот урока вам сначала нужно ознакомиться с предыдущим уроком (тот который выше на странице).
Создание игрового типа
Для начала создадим для него собственную директорию в папке Data\Types\Units. Запустим редактор ресурсов и перейдем к папке. Щелкним правой кнопкой мыши на папке Units и выберем в контекстном меню пункт New Directory. Вводим название новой папки (например, такое же как и название будущего персонажа) и нажимаем ввод.
Теперь щелкните правой кнопкой мыши по созданной папке и нажмите кнопку New Resource.
Появится окно с выбором типа нового ресурса. Выберите Entity Type и нажмите кнопку Continue.
В появившемся окне необходимо указать имя нового типа и его класс. Классом, в нашем случае, будет выступать PlayerCharacter (Этот игровой класс предназначен для создания персонажей игрока). После указания имени и класса следует нажать кнопку Next.
Итак, файл с типом нового персонажа создан, но он не настроен (например нет прикрепленных моделей). Чтобы изменить это, нужно настроить вашего персонажа, задав все необходимые параметры. Для этого перейдите в режим редактирования, сделав двойной щелчок по файлу с типом.
Сперва прикрепим к типу персонажа трехмерную модель. Правой кнопкой мыши нажмите на тип в окне Objects и выберите пункт Attach Object. После чего, в появившемся меню, нажмите кнопку Mesh.
В появившемся окне выберите файл с моделью и нажмите Ok.
При необходимости укажите трансформацию меша: параметры Position, Rotation и Scale.
Вернемся к редактированию типа. Выделите персонажа в списке Objects.
Укажем названия анимаций для состояния (IdleAnimationName) и хотьбы (WalkAnimationName), подобно тому как мы делали этом в предыдущем уроке.
Поменяем еще ряд характеристик. FlyControlForce - сила, с которой можно перемещать персонаж в полете, FlyControlMaxVelocity - максимальная скорость перемещения в полете, WalkForce - сила, с которой можно перемещать персонаж при ходьбе, WalkMaxVelocity - максимальная скорость ходьбы.
После завершения редактирования не забудьте сохранить изменения. Сохраниться можно через меню File -> Save, с помощью иконки с изображение дискеты или просто нажав Ctrl + S.
Замена персонажа по умолчанию
После того, как редактирование типа завершено, можно приступить к изменениям в коде. Это нужно сделать, чтобы назначить персонажа по умолчанию для игрока.
Откройте солюшн (файл с проектами) "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 могли перекомпилироваться.
Запустите Game.exe в папке NeoAxis\NeoAxis Engine Non-Commercial SDK 0.9\Game\Bin, чтобы посмотреть на вашего персонажа в игре.


















