XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Другие игры (только чтение)> Max Payne
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

 
zzzGERTzzz
MaxFx 2.0
offline
Опыт: 8,282
Активность:
Расширенный скриптинг FSM (eternity entertainment)
Ну что же приступим. На данном этапе рассмотрим Control скрипт (eternity entertainment), позже раздел будет расширятся и все заготовки будут дописаны в шапке. Хочу отметить сразу что данный раздел предназначен модерам которые хорошо знают скриптинг ФСМ на вопросы как сделать дверь или дать оружие вам в раздел "Вопросы". На другие же сложные решения и реализации задуманного с удовольствием помогу консультацией.

» Control script by GERT

Во первых "все гениальное просто" а это управление игроком за кадром наступаем на тригеры происходит действие, а конкретно управление направлением это "влево","право","вперед","назад" и "прыжок" (те самые 5 клавиш) так же рассматривалось 6 действие "использовать" но увы влечет за собой кучу багов и поэтому пришлось от него отказаться. Далее перечислены по пунктам фиксы необходимые для скрипта:
1) Настройка скина персонажа.
Движок имеет в наличии оптимизацию в которую входит скрывание моделей не находящихся в обзоре так же и игрока, что не позволяет им управлять исправляется внесением изменений в скиновку игрока, внесем следующие изменения в строки в графе [LOD]
EnableBoundingSphere = FALSE;
BoundingSphereRadius = 10000.90;
EnableBoundingBox = FALSE;
Теперь модель не будет скрываться при отдаленной камере и смене обзора и будет иметь возможность управления вне зависимости от камеры.
2) Убираем палево управления игрока за сценой или другмим словами убираем возможность стрельбы.
Используем команды в начале скрипта:
MaxPayne_GameMode->GM_StorePlayerInventory(1);
player->C_RemoveAllWeapons(Empty);
И соответственно на выходе:
MaxPayne_GameMode->GM_RestorePlayerInventory(1);
Теперь игрок во время действия скрипта будет безоружным и не сможет стрелять. Так же желательно отдалить его подальше от сцены но не за портал чтобы не было слышно шагов и прыжков.
3) Сам принцып работы скрипта.
Игрок находится на вэйпойнте посередине 4 тригеров и 1 присутсвует над головой фиксирован постоянным направлением вперед (по сути это чтобы обзор мышью не мог нам повредить добиться задуманного) и с возможностью двигаться с периодом в 0,3 секунды для совершения действия. (Визуальный вид скрипта)
4) Рассмотрим основные моменты.
Позже выложу пример который сейчас рассмотрим в теории. Цель заставить двигаться кубик в заданном направлении игроком а это 5 наших направлений. Стреляем, бегаем, надоедает активируем скрипт лишаем оружия игрока. Стабилизируем таймером в 0,3 секунды игрока в скрипте - создаем циклический таймер с FSM_switch для его дяльнейшего отключения циклируем телепорт на вэйпойнт в центр скрипта тем самым и позволяем игроку управлять лишь 0,3 секунды для совершения направления или прыжка. Задаем камеру на кубик и анимируем его 5тью направлениями и присваиваем соответсвенно анимации тригерам окружающим игрока как надоедает двигать кубик делаем выход - меняем FSM_switch циклического таймера на Off и возвращаем оружие и делаем ресет камеры.

Вот по сути и все позже выложу Lv2 чтобы могли углубиться в детали. Так же хочу отметить что можно использовать одну из 5 клавиш для селующих 5ти к примеру направлениями без прыжка управляем кубиком а пробелом меняем окружающие тригеры на другие задавая их новые назначения например на вращения кубика и т.д.

Написал на control скрипте момент с кубиком - LV2
Подбегаем к большой кнопке слева юзаем её и начинаем махинации с управлением кубика как надоест нажмите пробел(прыжок) кубер повернется и скрипт пойдет на выход и вернет оружие и т.д. Так же дописал комментарии в самом коде чтобы было понятно что к чему привинчено.


» Взаимодействие игрока с maxed'om.

Любой FSM элемент можно активировать с помощью движения игрока, делается это следующим образом:
В файле где описано управление игроком найти нужное движение и дописать к нему строку в анимации.
[Message] Frame = 0; String = "this->FSM_Send(xxxx);";
Где "xxxx" название FSM в категории Player в редакторе Maxed'a (другими словами на карте уровне и т.д.) Таким образом можно создать кучу рандомных анимаций к примеру перезарядке используя sub анимации или любое другое действие
Миниатюры
Кликните на картинку для увеличения
Название:  Визуальный вид скрипта.JPG
Просмотров: 107
Размер:  71.6 Кбайт  
Прикрепленные файлы
Тип файла: lv2 ControlScript.lv2 (95.4 Кбайт, 72 просмотров )

Отредактировано zzzGERTzzz, 28.01.2010 в 10:26.
Старый 10.01.2010, 17:38
Hancock
Ding Dong
offline
Опыт: 5,866
Активность:
Круто, но сложно.
Не проще ли воткнуть в Male_Player на бег и стрельбу ФСМ сенды непосредственно игроку и прописать какое нить количество стейтов. Тогда скажем конкретно при достижении нужной сцены он уже переводится в другое состояние и клавиши отсылают реальные команды.
Таким образом можно использовать и мили и огонь ( ну там мона какое-нить пустышное оружие добавить, или использовать огонь на мили)
Но всё равно интересно. Спасибо. Ждём комментариев лазера.
У меня кстати было несколько идей насчёт синхронизации и расчленёнки с поддержкой шейдеров.
Но это уже не совсем скрипты так что здесь об этом помолчу.
P.S
Но таким образом не получится система ETM кстати... игрок должен двигаться камера динамически менятся без рывков,

Отредактировано necumity, 10.01.2010 в 18:25.
Старый 10.01.2010, 18:14
zzzGERTzzz
MaxFx 2.0
offline
Опыт: 8,282
Активность:
necumity,
Цитата:
Сообщение от necumity
Но таким образом не получится система ETM кстати... игрок должен двигаться камера динамически менятся без рывков,

Хочу сразу отметить что мы обсуждаем и модифицируем код и чтобы и остальным было понятнее и имелось четкое представление от том что можно а что не нельзя надо заменять реплики "таким образо не получится сделать ETM система кстати" на как сделать динамическую камеру и как ЕТМ можно сделать.
Кубик это самое примитивное что можно с помощью него сделать. Камера делается в 3dmax'e и цепляется на игрока а не в maxed'e движения тоже будут без рывков с максимальной задержкой начала движения 0.3 секунды чтобы избежать рывки действия назначается не на прямую с тригера а задается проверкой - зажата ли кнопка направления или нет? и исходя из этого уже прерывать действие(видео с паркуром идет четко и без рывков и с остановкой по середине пути) так же кстати там имеется возможность спрыгнуть в любой момент с любого положения и максимум пэйн может висеть 20 секунд потом устает и отцепляется. FSM_send в .h такого добиться можно но это очень муторно т.к. надо прописывать все исключительно в одном FSM и также тот же минус что это FSM еще + Control скрипта что не надо менять игрока координатно да и в обще менять в любой момент можно сделать данное действие без вычетов возможностей.

Цитата:
У меня кстати было несколько идей насчёт синхронизации и расчленёнки с поддержкой шейдеров.
Но это уже не совсем скрипты так что здесь об этом помолчу.

Тему создал как раз не только по скриптам но и по всему экстра ординарному на maxed'e поэтому с большим вниманием выслушаю все твои теории и поправлю шапку для удобного доступа к информации

Отредактировано zzzGERTzzz, 10.01.2010 в 19:30.
Старый 10.01.2010, 18:38
Hancock
Ding Dong
offline
Опыт: 5,866
Активность:
Понятно. Ну насчёт своих идей я попробую что-нибудь накатать в ближайшее время. Но если не разберусь с макседом то врятли это всё имело смысл. Да не видно других моддеров чтот =\
Старый 10.01.2010, 19:59
zzzGERTzzz
MaxFx 2.0
offline
Опыт: 8,282
Активность:
necumity, Кол-во модеров никакое из-за движка тот же соурс из-за того что он хотя бы развивается собирает у себя море модеров
Старый 10.01.2010, 20:56
Hancock
Ding Dong
offline
Опыт: 5,866
Активность:
Да, ну буду ждат ьваши туторы по крайзису чтобы овладеть этим новым замечательным двиглом)
Старый 10.01.2010, 20:58
SharpShooter

offline
Опыт: 1,529
Активность:
"отжатие кнопок"... умно, zzzGERTzzz
P.S. отпишусь, как подробнее скрипт изучу.
Старый 10.01.2010, 21:03
zzzGERTzzz
MaxFx 2.0
offline
Опыт: 8,282
Активность:
necumity, Другими словами бендер хотел выделить тот факт что скриптинг sandbox'a содержит в себе многофункциональную математическую составляющую которая удобно и понятна представлена в в виде графического оформления нежели прописями или языком. Сам я с ней научился работать и то что я подразумеваю по Control скрипт под maxfx там всего один узел с указанной любой клавишей клавиатуры и исходящим действием с неё =). Проверяется скрипт нажатием на одну кнопку и вперед мы уже в игре никаких погрузок и никаких разногласий между редактором и движком ибо полный реалтайм).
Вот кстати отправной пункт переноса сеттинга макс пэйна на кризис. Камера от третьего лица и слоу мо

Отредактировано zzzGERTzzz, 10.01.2010 в 21:28.
Старый 10.01.2010, 21:17
Hancock
Ding Dong
offline
Опыт: 5,866
Активность:
Да, я представляю и не может быть сомнений в том что 2009 года движок гораздо более продвинутая вещь.
Хотя и сам крайзис для меня за исключением авто транспорта был разочарованием геймплейно
Да тогда уж раз такая тема движок на край2 идёт в коплекте с игрой или это отдельное СДК?
Старый 10.01.2010, 21:28
zzzGERTzzz
MaxFx 2.0
offline
Опыт: 8,282
Активность:
necumity, Да геймплэй скуден полностью поддерживаю но визуализация всего происходящего на экране на большой высоте, да и геймплэй никто стандартный использовать не будет. Сдк идет отдельно сам реадактор идет вместе с игрой причем редактор а не редакторы он содержит в себе все и персонажную сторону и партиклы и мапинг и звук в общем комплексный обед) и игра постоянно патчится так же есть сильный и продвинутый портал моддеров по Cryengine 2.0 на котором сами разрабы ведут беседы со смертными модерами.
Так же кстати оцени оптимизацию это первая моя перенесенная модель в сандбокс и размноженная в не знаю даже сколько кол-во раз считай минус 20-30% фпс за счет снятия видео + видио снято из-под винды в редакторе а не на самом движке. На движке стабильно 60-80фпс. в среднем 30-50 машин в кадре с 25к поликов на борту каждая.

Отредактировано zzzGERTzzz, 10.01.2010 в 21:41.
Старый 10.01.2010, 21:30
Hancock
Ding Dong
offline
Опыт: 5,866
Активность:
Да, не для средних умов. Если будет время ссылочки пожалуйста в студию.. редактор сдк, форум...
Старый 10.01.2010, 21:41
zzzGERTzzz
MaxFx 2.0
offline
Опыт: 8,282
Активность:
Ну для начала вот:
Установка Crysis:
1)crysis лицуху софтклаб работает все с кряком
2)Crysis_Patch_1_1.exe
3)Crysis_Patch_1_2.exe
4)Crysis_Patch_1_2_1.exe
5)Sandbox идет вместе с кризисом на диске (sofClub)
6)ModSDK_1_2.exe
7)CryTools Setup.exe

все патчи и утилиты можно взять на http://crysis-russia.com или на playground.ru

И вот сюда для ознакомления с двиглом и сандбоксом http://serg-esg.hotbox.ru/Frameset_blog.htm

Позже когда будет закончена документация, проверена и отредактирована свяжусь с администраторами XGM для предложения открыть раздел по cryengine 2.0

Отредактировано zzzGERTzzz, 10.01.2010 в 21:52.
Старый 10.01.2010, 21:45
Hancock
Ding Dong
offline
Опыт: 5,866
Активность:
МММ, сзначит первая перенесённая модель. Как насчёт LOD-ов, я так понимаю ты их не делал.
Но самый важный вопрос - как непосредственно переносятся объекты и персонажи? 3д с мак и плагины или редактор? И как тогда их можно импортировать в этот самый редактор
ДА кстати неплохо бы иметь тему по крайзису
Старый 10.01.2010, 21:55
zzzGERTzzz
MaxFx 2.0
offline
Опыт: 8,282
Активность:
necumity, Забудь про ЛОДЫ и ПОРТАЛЫ и всякую ЕРЕСЬ двигло автоматом борется с этим =) Лишь моментами стоит учитывать открытые или закрытые пространства.
Все 3d объекты делаются в 3dmax'e редактор поддерживает лишь простые solid объекты ну и естественно ландшафт воду дороги и многое другое, кстати так же отмечу что crytec не парилось с закупориванием своего творчества и все карты мультиплэерные и с синг кампании открыты для полного изменения со всеми вытикающими (скриптами сценами и т.д.) Так же в редакторе очень много функций схожими с 3dmax'om например можно любой объект домоделить при помощи вертекс деформации. Анимировать дык ваще одно удовольствие полностью такая же поддержка ключей как в 3dmax'e + сразу реал тайм т.е. ты видишь и камеру и тени и все что необходимо учесть. Про просчет освещения в обще забыть как плохой сон ибо полное динамическое освещение и соответственно светотень

zzzGERTzzz добавил:
Bender Bending, necumity, Бендер прав serg-esg.hotbox.ru/Frameset_blog.htm Это документация слабовата но она подходит для базового въезжания в двигло так же есть несколько различных туторов и есть 4 тутора от игромании но самый актуальный вариант это конечно официальный над переводом которого и работает бендер - http://doc.crymod.com/

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

Отредактировано zzzGERTzzz, 10.01.2010 в 22:15.
Старый 10.01.2010, 22:10
Hancock
Ding Dong
offline
Опыт: 5,866
Активность:
Камера по типу Пути Нео в Макс Пейне
Старый 13.02.2010, 23:01
zzzGERTzzz
MaxFx 2.0
offline
Опыт: 8,282
Активность:
necumity, Молодец, махинации с камерой или анимами? Только для ближнего боя?
Старый 14.02.2010, 11:42
Mark Bernet
Hoffman
offline
Опыт: 20,009
Активность:
zzzGERTzzz и necumity
Молодцы! Понравились результаты ваших наработок!
Старый 14.02.2010, 17:38
Hancock
Ding Dong
offline
Опыт: 5,866
Активность:
Bender_Bending:
necumity,
Молодец качественно сделано.
Анимации и скрипты, да для ближнего. В принципе можно и на оружие использовать просто не было такой цели
Старый 17.02.2010, 15:14
Hancock
Ding Dong
offline
Опыт: 5,866
Активность:
Есть метод создания синхронных анимаций за счёт вноса изменений в иерархию скелета.
Сейчас работаю над возможностью подгрузки дефалтных анимаций. Причём изменения вносятся только в скелет игрока.
Кому интересно пишите.
Старый 08.04.2010, 09:05
zzzGERTzzz
MaxFx 2.0
offline
Опыт: 8,282
Активность:
necumity, А что касательно скининга с таким скелетом?
Старый 09.04.2010, 22:51

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 14:11.