Четверг, 18 Апреля 2024, 21:43

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Движки для разработки игр и сложные системы разработки » CryEngine » Изучаем FlouGraph (Статья первая)
Изучаем FlouGraph
pro100denverДата: Воскресенье, 09 Октября 2011, 13:15 | Сообщение # 1
участник
Сейчас нет на сайте
Начнем, с того, что все что вы видите в игре (Действия, сцены, команды и экшен) на уровнях в Crysis/Crysis Warhead/Crysis 2 все это грамотно запрограммированный и продуманный Код, который собран в 'Flow Graph'. Любая кат-сцена не будет нормально работать без флоуграфа, да и вообще без флоуграфа вам ее не активировать. Так как же понять его? Как понять эту кучу всяких окошек и линий между ними!?

Ваша задача понять его принцип работы, приведу аналогию: Вы включили выключатель дома и загорелась лампочка. Так и тут, но только на языке программирования. Мы хотим чтобы при пересечении определенной местности включилась лампочка в доме или поехала машина с противником к вам на встречу. Тут нет ничего сложного. Первым делом нам нужно установить на уровень Shape и прицепить к нему AreaTrigger
(Как вы установите Shape зависит от того, где именно должен пройти игрок, или от вашего уровня и окружающей местности.)

После как вы установили, вы можете задать команду AreaTrigger-у сколько раз он будет активироваться Один или до потери вашего пульса. Для этого Нажмите на ваш AreaTrigger и в правой панели РолопБар вы сможете найти команду Trigger Once (Активация один раз) если вы поставите галочку на против Trigger Once то ваш триггер сработает всего один раз. (пример: если вы ее не поставите, то каждый раз проходя через Shape к которому подключен ваш Триггер, будет срабатывать команда включить или отключить лампочку. Тем самым она будет каждый раз вкл. и выкл. )

Ну что друзья продолжим, теперь вам необходимо создать свой флоуграф код. Прежде чем мы его создадим, нам нужно создать раздел с любым именем латинскими буквами.
Сделать это можно так: выделите ваш триггер на уровне и в правой панели РоллупБар нажмите на Create

В появившемся окне введите произвольное имя на Английском (допустим: By Marcos) и нажмите окей.
Пам Парам, вы видите окно флоуграфа, в котором вам и придется все программировать.
Теперь прежде чем что-либо трогать выполните вот это:

Как только вы закончите добавления всех нодов, тока после этого можно начинать плавное изучение.
Сперва изучим где там и что.

Тут мы видим, тот самый триггер который вы добавили в флоуграф. Именно в нем и будет сохранен код уровня или какой либо сцены.

Тут мы видим все папки со всеми нодами. Они нам пригодятся для программирования уровня и программирования отдельных деталей будь то кат-сцена, АИ или Entity. Все что нам нужно, это открыть какой либо из каталогов, выбрать нужный нод и перетащить его в правое окно (похожие на сетку)(наведя курсор на сетку и крутя колесо мыши мы может увеличивать или уменьшать масштаб сетки, тем самым регулировать обзор нодов.)

Как я добавил мой триггер сюда? Просто, не закрывая окна Флоуграфа, просто сместите его в угол и выберите на уровне свой триггер, выделите его кликом мышки на него. Как только вы это сделаете перейдите обратно в окно флоуграфа, навидите мышкой на сетку и нажмите правую кнопку. После появится свиток в котором нажмите на Add Selected Entity (по русски: добавить этот динамический объект сюда.), так же вы можете выделить на уровне любого АИ или транспорт, либо партиклэффект, и так же добавить его в флоуграф.
Идем дальше, запомните пару важных текстов: Disable-Выключить Enable-Включить Enter-Выход сигнала, источник, ключ.
Получается так, если мы поставим стрелочку на наш нод на надпись Disable то мы его отключим.
Получается так, если мы поставим стрелочку на наш нод на надпись Enable то мы его включим.
Ну а если, Интер, то это мы уже берем Ключ сигнала от нашего триггера и подаем его на лампочку.
Мы прошли сквозь Схэйп, к которому у нас подключен наш Триггер, триггер активируется и подает команду на свой нод в флоуграф, команда идет сквозь нод обрабатывается и выводится через Enter и следом идет на лампочку, а у лампочки свой режим, Активация, в нод входит сигнал Активировать и "лампочка загорается"
На данном примере мы отключили AI.

Давайте сделаем что либо сами?
Как насчет того что бы "заспавнить" игрока, и при спавне включить надпись на экран?Классический Hello World.

1)
Ставим на карту Spawn Point (Entity/Multiplayer в СЕ3,Entity/Other в СЕ2) В насройках SpawnPoint нажимаем Create , и называем свой первый ФГ как хотите.(Only English)
2)
Misc/Start
3)
Активируем Spawn Point в окне FG.
4)
Из нода Start,output коннектим со Spawn в SpawnPoint (В СЕ3 еще и с Enable)
5)
Game/Local Player
6)
HUD/DisplayDebugMessage
7)
EnityID из Local Player коннектим с InupEntity (из красного ,он должен перекрасится в зеленый)
8)
В DisplayDebugMessage ,в настройках message пишем Hello World!
9)
Теперь от Spawn Point ,у "выхода" из Spawn коннектим с Show от DisplayDebugMessage .

Cntrl+G.Вуаля =)

Вот как выглядит данный ФГ в СЕ3.





Мой блог.DENVER


Сообщение отредактировал pro100denver - Воскресенье, 09 Октября 2011, 13:18
Форум игроделов » Движки для разработки игр и сложные системы разработки » CryEngine » Изучаем FlouGraph (Статья первая)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг