[CRYENGINE 5] Настройка управления. Как отключить лишние функции и переназначить клавиши управления.

19. апреля 2016 CRYENGINE 5 0

В CRYENGINE V в наборе ассетов CRYENGINE GameSDK Sample Project есть реализация контроллера игрока с обширным функционалом в плане управления, который даёт дополнительные возможности для тестирования. К примеру, переключение камеры от первого лица к третьему и обратно, возрождение на следующей точке возрождения, режим полёта, режим бессмертия и ещё несколько возможностей. Всё это хорошо, но возникает проблема, когда нужно, чтобы обычный игрок не имел доступа к этим возможностям или ещё к каким-нибудь (спринт, прыжок, приседание). С этой целью в релизной сборке достаточно выключить активацию этих возможностей. Так же порой возникает необходимость в обычном переназначении клавиш управления. Это можно осуществить редактированием файла defaultProfile.xml, именно в нём прописаны все клавиши управления, в том числе для геймпадов Xbox и PS4. Произвести его редактирование можно любым текстовым редактором.

Примечание: Ниже описанное актуально для старых версий Cryengine.

Извлекаем файл defaultProfile.xml из GameData.pak. Открыть GameData.pak и осуществить извлечение можно с помощью свободного архиватора 7-Zip или любым другим. Файл defaultProfile.xml находится в Libs\Config\. Создаём ту же иерархию папок (если она ещё не создана), что была в GameData.pak. Это необходимо для того, чтобы не затрагивать содержимое GameData.pak, но чтобы движок мог использовать defaultProfile.xml вне GameData.pak. При использовании CRYENGINE GameSDK Sample Project это будет выглядеть примерно так:

Crytek\GameSDK_5.0\GameSDK\Assets\Libs\Config\defaultProfile.xml

cryengine5_ma_1

 

В текстовом редакторе Notepad++ содержимое  выглядит так:

cryengine5_ma_2

На скриншоте можно увидеть следующие строки:

    <actionmap name=»debug»>
<action consoleCmd=»1″ keyboard=»f5″ name=»save» onPress=»1″ />
<action consoleCmd=»1″ keyboard=»f8″ name=»loadLastSave» onPress=»1″ />
<action name=»flymode» onPress=»1″ noModifiers=»1″ keyboard=»f3″ />
<action name=»godmode» onPress=»1″ noModifiers=»1″ keyboard=»f4″ />
<action name=»toggleaidebugdraw» onPress=»1″ noModifiers=»1″ keyboard=»f11″ />
<action name=»ai_DebugCenterViewAgent» onPress=»1″ noModifiers=»1″ keyboard=»np_divide» />
<action name=»togglepdrawhelpers» onPress=»1″ noModifiers=»1″ keyboard=»f10″ />
<action name=»toggledmode» onPress=»1″ noModifiers=»1″ keyboard=»backspace» />
<action name=»debug» onPress=»1″ keyboard=»7″ />
<action name=»thirdperson» onPress=»1″ noModifiers=»1″ keyboard=»f1″ />
<action name=»debug_ag_step» onPress=»1″ keyboard=»backslash» />
<action name=»tweakup» onPress=»1″ onRelease=»1″ keyboard=»up» xboxpad=»xi_dpad_up» ps4pad=»pad_up»/>
<action name=»tweakdown» onPress=»1″ onRelease=»1″ keyboard=»down» xboxpad=»xi_dpad_down» ps4pad=»pad_down»/>
<action name=»tweakleft» onPress=»1″ onRelease=»1″ keyboard=»left» xboxpad=»xi_dpad_left» ps4pad=»pad_left»/>
<action name=»tweakright» onPress=»1″ onRelease=»1″ keyboard=»right» xboxpad=»xi_dpad_right» ps4pad=»pad_right»/>
<action name=»tweakincrement» onPress=»1″ onRelease=»1″ keyboard=»np_add» xboxpad=»xi_shoulderr» ps4pad=»pad_circle»/>
<action name=»tweakdecrement» onPress=»1″ onRelease=»1″ keyboard=»np_subtract» xboxpad=»xi_shoulderl» ps4pad=»pad_cross»/>
<action name=»record_bookmark» onPress=»1″ notFilterable=»1″ keyboard=»np_5″ />
<action name=»mannequin_debugai» onPress=»1″ noModifiers=»1″ keyboard=»np_multiply» />
<action name=»mannequin_debugplayer» onPress=»1″ noModifiers=»1″ keyboard=»np_0″ />
</actionmap>

Это как раз те возможности, которые используются для тестирования и к которым не должно быть доступа у простого игрока. Их можно закомментировать  целиком, в этом случае движок не будет их читать:

 

cryengine5_ma_3

 

Или прописать keyboard=»empty» вместо клавиш:

cryengine5_ma_4

 

Тем же способом можно выключить или переназначить клавиши для всех остальных действий.

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

 

Названия клавиш в коде, которые могут пригодиться.

Левый Ctrl: lctrl

Правый Ctrl: rctrl

Левый Shift: lshift

Правый Shift: rshift

Левый Alt: lalt

Правый Alt: ralt

Пробел: space

Левая кнопка мыши: mouse1

Правая кнопка мыши: mouse2

Колёсико мыши: mouse3

Вращение колёсика мыши вверх: mwheel_up

Вращение колёсика мыши вниз: mwheel_down

Стрелки: left, right, down, up

Page Up: pgup

Page Down: pgdn

Слэш: backslash

 

Клавиши Num клавиатуры (NumPad).

По больше части дописывается префикс np_.

Минус: np_subtract

Плюс: np_add

Деление: np_subtract

Умножение: np_multiply

 


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *