Игрок.
Добавьте и устанавливайте модель, которую вы хотите использовать для игрока Object / Add Model. Обратите внимание, как имя модели появилось в левом меню, во вкладке 'Objects'.
Выберите свойства игрока (в том же окне 'Objects') - Properties.
В окне свойств выберите вкладку 'behavior' и нажмите иконку "Choose Action".
Перед вами появится список доступных действий - ACTIONs (если список пуст, удостоверьтесь, что вы добавили "New Script" в окне "Map Properties"). Выберите действие "player_walk_fight". и нажмите OK..
Сохраните ваш уровень, отрендерте это и запустите. Попробуйте поуправлять вашей моделью. Нажмите F7 для переключения другого вида.
В окне свойств существа, вы можите менять различные для него величины. Можете установить начальное здоровье игрока вводя число в область Skill9
(если вы выставляете величину как 0, то по умолчанию устанавливается 100 ). Если Вы хотите, чтобы игрок имел начальную броню, можете ввести величину брони в область Skill10.
Так же вы можете выставить скорость перемещения игрока, вводя число в область Skill5. Обычно эта величина колеблится от 0.5 до 1.5, в зависимости от того, насколько быстрый ваш персонаж (Если данная величина не введена, то по умолчанию она равна 0.75).
При просмотре модели от третьего лица (при использовании клавиши F7), вы наверняка заметили что анимированная модель смотрится не правдоподобно. Проскальзывают шаги, резкие движения, не пропорциональное перемещение, или при прыжке игрок пролетает расстояние гораздо длинее, чем длится анимация. Поскольку каждая модель уникальна, единый сценарий не может быть идентичен и чётко подходить под каждую модель. Для этого созданы специальные регуляторы, что бы изменять различные величины модели, что бы хоть как то, не на скриптовом уровне, сделать модель правдоподобной.
Замечание: Пропустите пока шаг усовершенствования движений модели. Довольствуйтесь пока тем, что у вас есть игрок, которым вы можете управлять. А к более сложным аспектам мы вернёмся позже, вместе со скриптами.
Ниже - диаграмма величин, как они используются по умолчанию:
Тип анимации: | Значение по умолчанию: | Определение: |
Walk Distance |
4 quarter-widths (1.0 widths) | Distance, in 1/4 model widths, that the model will move for one cycle of the walk animation. |
Run Distance | 6 quarter-widths (1.5 widths) | Distance, in 1/4 model widths, that the model will move for one cycle of the run animation. |
Swim Distance | 4 quarter-widths (1.0 widths) | Distance, in 1/4 model widths, that the model will move for one cycle of the swim animation. |
Crawl Distance |
3 quarter-widths (0.75 widths) | Distance, in 1/4 model widths, that the model will move for one cycle of the crawl animation |
Stand Time | 4 quarter-seconds (1.0 seconds) | Amount of time, in quarter-seconds, that one cycle of the standing animation will take. |
Attack Time | 4 quarter-seconds (1.0 seconds) | Amount of time, in quarter-seconds, that one cycle of the attack animation will take. |
Jump Time |
2 quarter-seconds (0.5 seconds) | Amount of time, in quarter-seconds, that one cycle of the jumping animation will take. Remember that this is limited by the amount of time the player will actually be in the air. |
Duck Time | 2 quarter-seconds (0.5 seconds) | Amount of time, in quarter-seconds, that one cycle of the ducking animation will take. This is the animation that cycles when the player is ducking but not moving. |
Run Threshold | 12 quants per second | The speed, in quants per second, below which the player will use the walk animation, and above which he will use the run animation. |
Время для каждого цикла измерено в "1/4 секунды" (четверть секунды), и анимация циклически повторяется, расстояния движения модели измеряется в "размерах на четверть" (перемежение на 1/4 ширину модели). Ширина модели определена размером ограничивающего прямоугольника, который окружает её (MAX_X - MIN_X). Например, если игрок имеет ширину 6, то каждое его движение будет на 1.5 (6 * 0.25 = 1.5).
Мы будем создавать более правдоподобную анимацию, занося различные 9 величин в 5 умений (граф). Делаем это с помощью использования десятичных дробей, например занося в одну графу две величины, мы разделяем их точками (максимальная задаваемая величина - 100) . Числа распределяются следующим образом:
Skill1: Дистанция шага. Дистанция плавания
Skill2: Дистанция бега. Дистанция ползания
Skill3: Время подготовки к прыжку. Время прыжка
Skill4: Время атаки. Время уворота
Skill14: Время управленния
Например, вы хотите использовать следующее величины для вашего игрока: дистанция ходьбы в цикле 1.5 (1.5 * 4 = 6), 3 - дистанция для цикла бега (3 * 4 = 12), 1 - дистанция для цикла плавания ([1 * 4]/100 = .04), 0.5 - дистанция для ползания ([0.5 * 4]/100 = .02), 2 секунды, чтобы завершить цикл подготовки к прыжку (2 * 4 = 8), 1.5 секунд для цикла атаки (1.5 * 4 = 6), 3 секунды для цикла прыжка ([3 * 4]/100 = .12), 4 секунды для цикла уклона ([4 * 4]/100 = .16), и 10 квантов (quants) в сукунду для запуска управления.
Величины
Вы также можете установить любой из 8 флагов, чтобы отключать определенные характеристики игрока:
Flag1 - Отключить повреждение от падений.
Flag2 - Допустимое перемещение наподобие машины. То есть, вы не можете поворачивать если не перемещаетесь.
Flag3 - Наклонять камеру вида, в зависимости от ландшафта (по сравнению с положением на земле).
Flag4 - Отключить прыжок.
Flag5 - Отключить вид от первого лица (из глаз).
Flag6 - Отключить "strafing" (перемещение в стороны).
Flag7 - Отключить запуск автодверей. Игрок должен использовать открытие дверей вручную, используя пробел (или другой ключ действия).
Flag8 - Отключение уворачивания (ducking).