Дополнение к FPS_Tutorial-у. - Форум Игроделов
Чт, 25 Апр 2024, 14:14 
 
Приветствую Вас Гость Главная | Регистрация | Вход
Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум Игроделов » UNITY3D » МАНУАЛЫ И УРОКИ » Дополнение к FPS_Tutorial-у. (описание в картинках.)
Дополнение к FPS_Tutorial-у.
DjeeZДата: Пт, 02 Мар 2012, 01:58 | Сообщение # 1
 
Сообщений: 270
Награды: 8
Репутация: 291
Статус: Offline
Рисовал эти картинки еще прошлой весной в качестве ответа на вопрос, но что-то куда-то отвлекся и не завершил начатое. Выкладываю сейчас - думаю для начинающих исследователей FPS_Tutorial-а пригодится.

Урок для тех кто только что удачно наконец собрал сцену из FPS_Tutorial и теперь думает, что ему делать дальше. Наличие множества всяких объектов в папке с проектом делает ситуацию для новичка несколько запутанной, он не знает какая часть проекта к какому объекту относится и не совсем понимает как свои новые знания применить на практике, какие скрипты применить к своим персонажам.
Предлагаю для тренировки забрать из FPS_Tutorial-а робота и собрать свою собственную простую сцену в другом, новом проекте. Этот небольшой шаг поможет разобраться как работать с другими импортированными персонажами.
А в помощь будут картинки, на которых я нарисовал последовательность действий.

Но сначала помещу сюда комментарий к скрипту AIAnimation.js. Т.к. этот момент в FPS_Tutorial-е пропущен, а в нем находятся важные переменные-параметры.

__________________________
* Создается переменная в которой указывается скорость, при которой робот будет переходить на бег:
Code
var minimumRunSpeed = 1.0;


* Описывается функция, которая выполнится сразу при старте:
Code
function Start () {


* через animation.wrapMode задается то, как будут работать анимации для объекта, на который повешен скрипт. Loop означает, что по кругу. Т.е. дойдя до конца клип будет сразу же запущен сначала:
Code
animation.wrapMode = WrapMode.Loop;


* в предыдущей строке мы определили способ проигрывания анимации сразу для всех клипов. Для одного из них, с именем "shoot" этот способ сразу же переопределяется. WrapMode.Once - означает, что клип будет проигрываться единожды при каждом запуске:
Code
animation["shoot"].wrapMode = WrapMode.Once;


* прячем остальные анимации на более низкий уровень(-1). Для чего это надо. Что-бы анимация стрельбы ("shoot") имела более высокий приоритет и персонаж мог перейти к стрельбе из любого положения (из любой анимации). Можно попробовать, например, изменить значение (animation["run"].layer на 1) и робот вместо стрельбы будет продолжать бежать на месте:
Code
animation["idle"].layer = -1;
animation["walk"].layer = -1;
animation["run"].layer = -1;


* останавливаем анимацию на всякий случай, если вдруг она по каким либо причинам запущена раньше времени:
Code
animation.Stop();

} // окончание функции Start ().

* Ну а тут, в этой функции, прямо по русски все написано:-). Если (if) скорость (speed) больше порога установленного в переменной minimumRunSpeed, то переходим на бег("run"), иначе (else) стоим и переминаемся с ноги на ногу (играется анимация "idle"). Если вместо "run" напишем "walk", то робот будет ходить пешком (зрительно, на скорость перемещения это не повлияет):
Code
function SetSpeed (speed : float) {
if (speed > minimumRunSpeed)
animation.CrossFade("run");
else
animation.CrossFade("idle");
}

___________________________

Делаем новый проект. В качестве земной поверхности делаем террайн или плейн или куб - неважно. Пичкаем в сцену (при желании) пару моделей обстановки по вкусу.
И будем перемещать робота. Можно, конечно, экспортировать уже работающего робота со всеми скриптами прямо из FPS_Tutorial-а, но какой тогда смысл? Нам надо научиться не просто таскать модели из проекта в проект, но и экспортировать и заставлять послушно двигаться любую модель из 3D-пакета. Поэтому робота и файлы будем брать из папки с проектом в проводнике Windows.









Что-бы вейпоинты отображались буковкой W, нужно перетащить из FPS_Tutorial в проект папку Gizmos с файлом Waypoint.tif



Дальше задание на дом. smile Переписывать FPS_Tutorial смысла нет - вооружить роботов и себя, усложнить вейпоинты, руководствуясь им, думаю будет не слишком трудно.
Если есть что сказать, пишите комментарии, вопросы, пожелания.

(08.05.2011)


Сообщение отредактировал Dekterev - Пт, 02 Мар 2012, 02:07
 
СообщениеРисовал эти картинки еще прошлой весной в качестве ответа на вопрос, но что-то куда-то отвлекся и не завершил начатое. Выкладываю сейчас - думаю для начинающих исследователей FPS_Tutorial-а пригодится.

Урок для тех кто только что удачно наконец собрал сцену из FPS_Tutorial и теперь думает, что ему делать дальше. Наличие множества всяких объектов в папке с проектом делает ситуацию для новичка несколько запутанной, он не знает какая часть проекта к какому объекту относится и не совсем понимает как свои новые знания применить на практике, какие скрипты применить к своим персонажам.
Предлагаю для тренировки забрать из FPS_Tutorial-а робота и собрать свою собственную простую сцену в другом, новом проекте. Этот небольшой шаг поможет разобраться как работать с другими импортированными персонажами.
А в помощь будут картинки, на которых я нарисовал последовательность действий.

Но сначала помещу сюда комментарий к скрипту AIAnimation.js. Т.к. этот момент в FPS_Tutorial-е пропущен, а в нем находятся важные переменные-параметры.

__________________________
* Создается переменная в которой указывается скорость, при которой робот будет переходить на бег:
Code
var minimumRunSpeed = 1.0;


* Описывается функция, которая выполнится сразу при старте:
Code
function Start () {


* через animation.wrapMode задается то, как будут работать анимации для объекта, на который повешен скрипт. Loop означает, что по кругу. Т.е. дойдя до конца клип будет сразу же запущен сначала:
Code
animation.wrapMode = WrapMode.Loop;


* в предыдущей строке мы определили способ проигрывания анимации сразу для всех клипов. Для одного из них, с именем "shoot" этот способ сразу же переопределяется. WrapMode.Once - означает, что клип будет проигрываться единожды при каждом запуске:
Code
animation["shoot"].wrapMode = WrapMode.Once;


* прячем остальные анимации на более низкий уровень(-1). Для чего это надо. Что-бы анимация стрельбы ("shoot") имела более высокий приоритет и персонаж мог перейти к стрельбе из любого положения (из любой анимации). Можно попробовать, например, изменить значение (animation["run"].layer на 1) и робот вместо стрельбы будет продолжать бежать на месте:
Code
animation["idle"].layer = -1;
animation["walk"].layer = -1;
animation["run"].layer = -1;


* останавливаем анимацию на всякий случай, если вдруг она по каким либо причинам запущена раньше времени:
Code
animation.Stop();

} // окончание функции Start ().

* Ну а тут, в этой функции, прямо по русски все написано:-). Если (if) скорость (speed) больше порога установленного в переменной minimumRunSpeed, то переходим на бег("run"), иначе (else) стоим и переминаемся с ноги на ногу (играется анимация "idle"). Если вместо "run" напишем "walk", то робот будет ходить пешком (зрительно, на скорость перемещения это не повлияет):
Code
function SetSpeed (speed : float) {
if (speed > minimumRunSpeed)
animation.CrossFade("run");
else
animation.CrossFade("idle");
}

___________________________

Делаем новый проект. В качестве земной поверхности делаем террайн или плейн или куб - неважно. Пичкаем в сцену (при желании) пару моделей обстановки по вкусу.
И будем перемещать робота. Можно, конечно, экспортировать уже работающего робота со всеми скриптами прямо из FPS_Tutorial-а, но какой тогда смысл? Нам надо научиться не просто таскать модели из проекта в проект, но и экспортировать и заставлять послушно двигаться любую модель из 3D-пакета. Поэтому робота и файлы будем брать из папки с проектом в проводнике Windows.









Что-бы вейпоинты отображались буковкой W, нужно перетащить из FPS_Tutorial в проект папку Gizmos с файлом Waypoint.tif



Дальше задание на дом. smile Переписывать FPS_Tutorial смысла нет - вооружить роботов и себя, усложнить вейпоинты, руководствуясь им, думаю будет не слишком трудно.
Если есть что сказать, пишите комментарии, вопросы, пожелания.

(08.05.2011)

Автор - DjeeZ
Дата добавления - 02 Мар 2012 в 01:58
Форум Игроделов » UNITY3D » МАНУАЛЫ И УРОКИ » Дополнение к FPS_Tutorial-у. (описание в картинках.)
  • Страница 1 из 1
  • 1
Поиск:
Загрузка...

Game Creating CommUnity © 2009 - 2024