Как отменить действие в юнити
Перейти к содержимому

Как отменить действие в юнити

  • автор:

Менеджер горячих клавиш

Диспетчер сочетаний клавиш позволяет просматривать сочетания клавиш в Unity и управлять ими.

Сочетание клавиш — это любая клавиша или комбинация клавиш, привязанная к команде Unity. Команда — это действие, которое выполняется в Редакторе. Например, клавиша R привязана к команде, которая активирует инструмент Масштаб в Сцене Сцена содержит окружение и меню вашей игры. Думайте о каждом уникальном файле сцены как об уникальном уровне. В каждой сцене вы размещаете свое окружение, препятствия и декорации, по сути проектируя и создавая свою игру по частям. Подробнее
Посмотреть в виде Словарь .

Вы получаете доступ к диспетчеру ярлыков из главного меню Unity:

  • В Windows и Linux выберите Правка > Ярлыки.
  • В macOS выберите Unity > Ярлыки.

Назначение сочетаний клавиш глобальным и контекстным командам

Unity commands can be global or contextual.

Глобальные команды всегда доступны. Например, по умолчанию команда отмены действия назначается сочетанию клавиш Ctrl/Cmd + Z. Использование этого ярлыка всегда отменяет последнее действие, независимо от того, какие окна открыты и какие инструменты активны.

Контекстные команды работают только при использовании определенного представления или набора инструментов. Например, по умолчанию клавиши с квадратными скобками [ и ] назначаются одному набору команд в Terrain Пейзаж в вашей сцене. Игровой объект Terrain добавляет в вашу сцену большую плоскую плоскость, и вы можете использовать окно Terrain Inspector для создания подробного ландшафта. Подробнее
See in Словарь и другой набор в инструменте Grid Painting. Когда вы нажимаете любую из этих клавиш, Unity выполняет команду для любого активного инструмента.

Обычно вы назначаете ярлык одной глобальной команде или одной или нескольким контекстным командам из разных контекстов. Другие комбинации нескольких команд (например, две глобальные команды или две контекстные команды из одного контекста) создают конфликты, которыми необходимо управлять. Информацию о конфликтах ярлыков и способах их устранения см. в разделе Конфликты ярлыков.

В Unity также есть несколько специальных глобальных команд, которые могут совместно использовать ярлыки с другими глобальными командами, не создавая конфликтов. Например, клавиши Q, W и E назначаются инструментам просмотра, перемещения и поворота соответственно, но при активации В режиме Flythrough эти клавиши используются для перемещения вниз, вперед и вверх.

Карта ключей

В этом разделе объясняется, как использовать карту клавиш для просмотра назначений сочетаний клавиш. Информацию об использовании сочетания клавиш для добавления, удаления и изменения ярлыков см. в разделе Управление ярлыками.

На карте клавиш показано, какие клавиши и комбинации клавиш назначены командам.

Например, клавиши-модификаторы, такие как Shift и Ctrl/Cmd, или служебные клавиши, такие как Return и Esc .

Выбор клавиш-модификаторов, таких как Shift, Ctrl/Cmd и Alt, обновляет карту клавиш, чтобы показать, какие комбинации сочетаний клавиш и модификаторов присваивается командам. Активные клавиши-модификаторы становятся синими на карте клавиш.

Активация клавиш-модификаторов изменяет карту клавиш, чтобы показать, как назначаются комбинации клавиш.Активация клавиш-модификаторов изменяет карту клавиш, чтобы показать, как назначаются комбинации клавиш.

Совет. Чтобы временно активировать клавиши-модификаторы в таблице клавиш, удерживайте их на клавиатуре.

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

Клавиша A назначена команде Fly Mode Left в 3D Viewport.Клавиша A назначена команде Fly Mode Left в 3D Viewport.

Для комбинаций клавиш активируйте клавиши-модификаторы, удерживая их на клавиатуре или нажимая их на схеме клавиш, а затем наведите указатель мыши на клавишу быстрого доступа.

Комбинация клавиш Ctrl/Cmd + A назначается команде «Правка» > «Выбрать все».

Одну комбинацию клавиш можно назначить нескольким командам. Пока Unity не может выполнять команды одновременно, ярлык работает прозрачно. Однако, если вы сопоставите ярлык с несколькими командами, которые могут выполняться одновременно, вы создадите конфликт. Чтобы узнать о конфликтах и о том, как ими управлять, см. раздел конфликты сочетаний клавиш ниже.

Список команд

В этом разделе объясняется, как использовать список Command для просмотра назначений сочетаний клавиш. Информацию об использовании списка Command для добавления, удаления и изменения ярлыков см. в разделе Управление ярлыками.

В списке Команды показано, какие сочетания клавиш назначены определенным командам. Выберите категорию из списка Категория, чтобы отобразить ее команды и ярлыки в списке Команды.

Вы также можете выполнить поиск в списке Command с помощью поля поиска. Когда вы вводите поисковый запрос, список Команд автоматически сужается до команд, соответствующих поисковому запросу.

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

Управление ярлыками

Диспетчер ярлыков предоставляет несколько способов назначения, изменения, отмены назначения и сброса ярлыков.

Вы назначаете или изменяете ярлыки, выполнив одно из следующих действий:

Вы можете отменить назначение или сбросить ярлыки, выполнив одно из следующих действий:

Назначение сочетаний клавиш для команд

Сочетания клавиш назначаются командам с помощью схемы клавиш или списка Command.

Чтобы назначить ярлык с помощью карты клавиш:

Нажмите любые клавиши-модификаторы, которые вы хотите включить в ярлык (например, Shift или Ctrl/Cmd).

Перетащите команду из списка Command на основную клавишу быстрого доступа.

При наведении указателя мыши на карту клавиш курсор изменяется, показывая, какие назначения возможны.

Чтобы назначить ярлык из списка команд:

Дважды щелкните команду в списке, чтобы изменить ее поле ярлыка.

Установив курсор в поле быстрого доступа, нажимайте клавиши быстрого доступа на клавиатуре, как обычно.

Если ярлык уже назначен команде, новое назначение создает конфликт. Информацию об управлении конфликтами см. в разделе Конфликты сочетаний клавиш.

Отмена назначения и сброс ярлыков

Используйте сопоставление клавиш или список Command, чтобы удалить назначенный команде ярлык или сбросить измененный ярлык до его сопоставления по умолчанию.

Примечание. Unity сохраняет назначенные по умолчанию сочетания клавиш в профиле по умолчанию. Дополнительные сведения см. в разделе Профили ярлыков.

Чтобы отменить назначение или сбросить ярлык из карты клавиш:

Нажмите правой кнопкой мыши на сочетание клавиш, назначение которого нужно отменить или сбросить.

Если вы отменяете назначение или сбрасываете комбинацию клавиш, нажмите любые включенные клавиши-модификаторы (например, Shift или Ctrl/Cmd), прежде чем щелкнуть правой кнопкой мыши комбинацию клавиш.

Из контекстного меню:

Выберите [КОМАНДА] > Восстановить по умолчанию, чтобы переназначить ярлык по умолчанию для команды.

Выберите [КОМАНДА] > Удалить ярлык, чтобы отменить назначение ярлыка для команды.

Чтобы отменить назначение или сбросить ярлык из списка команд:

Щелкните правой кнопкой мыши команду ярлыка, который вы хотите отменить или сбросить.

Из контекстного меню:

  • Выберите [КОМАНДА] > Восстановить по умолчанию, чтобы переназначить ярлык по умолчанию для команды.
  • Выберите [КОМАНДА] > Удалить ярлык, чтобы отменить назначение ярлыка для команды.

В качестве альтернативы:

  • Дважды щелкните команду ярлыка, назначение которого нужно отменить, и нажмите клавишу Return/Enter, чтобы удалить ярлык из поля ярлыка.

Конфликты ярлыков

Вы можете назначить один и тот же ярлык нескольким командам, при условии, что команды не могут выполняться одновременно. Например, один ярлык может быть назначен команде в Сцене Интерактивном представлении мира, который вы создаете. Вы используете Scene View для выбора и размещения пейзажей, персонажей, камер, источников света и всех других типов игровых объектов. Дополнительная информация
См. в Словарь и другую команду в окне «Анимация». Поскольку два окна не могут иметь фокус одновременно, нет никакой двусмысленности в отношении того, какую команду Unity выполняет при использовании ярлыка.

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

Одна или несколько контекстных команд из одного контекста.

Более одной глобальной команды.

Комбинация глобальных и контекстных команд.

Диспетчер комбинаций клавиш предоставляет варианты разрешения конфликтов при создании новых назначений комбинаций клавиш и при использовании комбинаций клавиш, назначенных конфликтующим командам.

Просмотр конфликтов в диспетчере ярлыков

Команды с конфликтующими сочетаниями клавиш отображаются со значком «предупреждение» в списке Command.

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

Управление конфликтами при создании ярлыков

При назначении ярлыка двум конфликтующим командам открывается диалоговое окно Конфликт привязки.

Выберите Создать конфликт, чтобы назначить ярлык для команды в дополнение к любым существующим назначениям команд.

Unity добавляет все команды, назначенные ярлыку, в категорию Конфликты привязки.

Выберите Переназначить, чтобы переназначить ярлык для конфликтующей команды. Это отменяет любые другие назначения команд.

Выберите Отмена, чтобы выйти без каких-либо действий.

Управление конфликтами при использовании ярлыков

При работе в Unity использование сочетания клавиш, назначенного конфликтующим командам, открывает диалоговое окно «Конфликт ярлыков».

Выберите команду из списка и нажмите кнопку Выполнить выбранное, чтобы выполнить команду.

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

Выберите Разрешить конфликт, чтобы открыть Диспетчер ярлыков, где вы можете изменить ярлыки для устранения конфликта.

Выберите Отмена, чтобы выйти без каких-либо действий.

Профили ярлыков

Ярлыки хранятся в профилях. Каждый профиль представляет собой полный набор сочетаний клавиш Unity, которые вы можете изменить в соответствии со своими потребностями. Вы можете создать столько профилей, сколько захотите, и переключаться между ними по мере необходимости. Вы можете добавлять, удалять или изменять ярлыки в любом активном профиле, кроме профиля по умолчанию (см. ниже). Изменения в активном профиле вступают в силу немедленно. Unity сохраняет их автоматически и не предлагает вам принять или отклонить их.

Unity хранит профили ярлыков вне проекта, в каталоге настроек Unity:

В Windows: %APPDATA%/Unity\Editor-5.x\Preferences\shortcuts

Это означает, что любые созданные вами профили доступны во всех ваших проектах.

Обновление. При обновлении старой версии Unity Unity переносит все ярлыки, которые вы настроили в настройках, в новый профиль ярлыков с именем UserProfile.

Управление профилями ярлыков

Вы управляете профилями из раскрывающегося меню профилей в верхней части диспетчера ярлыков:

A Список профилей: список всех доступных профилей. Выберите один, чтобы сделать его активным профилем
B Параметры профиля: параметры для создания нового профиля или переименования или удаления активного профиля.
Профиль быстрого доступа по умолчанию

У Unity есть профиль по умолчанию с «заводскими» настройками ярлыков. Когда вы создаете новый профиль, Unity копирует профиль по умолчанию.

Вы не можете изменить профиль по умолчанию. Если вы попытаетесь изменить его, Unity автоматически создаст копию (называемую Копия по умолчанию), сделает копию активным профилем и применит ваше изменение к этой копии.

Обход диспетчера ярлыков для пользовательских инструментов

Когда вы выбираете клавишу или комбинацию клавиш на клавиатуре, Unity генерирует событие клавиатуры и отправляет это событие в активное представление. Если активное представление может использовать событие, например, для запуска действия, оно так и делает. Если нет, событие отправляется диспетчеру ярлыков, и Unity выполняет команду, которой назначен ярлык.

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

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

Если вы используете систему IMGUI, см. следующие разделы Справочника по сценариям:

Пользовательские ярлыки

Помимо изменения ярлыков из диспетчера ярлыков, вы можете использовать классы в пространстве имен UnityEditor.ShortcutManagement для определения пользовательских ярлыков в других местах, например в скриптах. Кусок кода, позволяющий создавать собственные Компоненты, запускать игровые события, изменять свойства Компонентов с течением времени и реагировать на действия пользователя любым удобным для вас способом. Подробнее
См. в Словарь и пакетах. Например, вы используете ShortcutAttribute и ClutchShortcutAttribute для создания новых горячих клавиш.

Когда Unity загружает команды и ярлыки из другого источника, это:

Добавляет любые новые команды в главном меню в категорию Все команды Unity в списке Команды, чтобы затем можно было использовать диспетчер ярлыков для создания ярлыков. для них.

Добавляет пользовательские категории команд в список Категория.

Добавляет пользовательские сочетания клавиш в базу данных сочетаний клавиш, чтобы они отображались во всех профилях сочетаний клавиш.

Показывает любые конфликты между пользовательскими ярлыками и ярлыками в текущем профиле в категории Конфликты ярлыков в Команде. список.

Undo and Redo in Unity

Redo and Undo action is everywhere, but how it’s done? In most cases, developers use the Command Design Pattern which we implemented in Unity last time. So how can we extend it with undo and redo action? Let’s find out! ?

Because we did a lot in the last post about the Command Design Pattern, we will use it as our base. If you didn’t see it yet, it’s a great time to do so! I can wait. ?

Ready? So let’s get into that!

There is a lot of places where undo and redo action can come handy. Maybe it’s not that popular in games, but almost every app has it!

Implementation

The first thing that we will do is to extend our Command class with the Undo method. For Redo we can use Execute method, it’s not a problem. ?

Great! As we have that, now we can move to our CommandInvoker to implement Undo and Redo logic!

Thanks to the nature of the Command Design Pattern, we can make a list of commands history on which we can easily navigate forward and backward. ?

Example

In the last post, we have built a simple game where we collect move commands to navigate the character to the destination. Now we will extend it with Undo and Redo actions.

What do we need to change? Actually not that much! Let’s start with our MoveCommand.

Now we need to change our logic a little bit. We will execute MoveCommand immediately after clicking on the direction button, but we will add Undo and Redo buttons as well.

UI displays list of current commands.
New controls with Undo and Redo buttons.

With that, we need to update the UI class to show the command list with an indication at which command we are currently.

The last thing we need to change is CollectCommandsState, which we will rename to CommandingState. It will implement new logic for executing commands with the option to undo or redo the action! ?

Awesome! I think we have all the things needed to play!

Success! With new buttons and added logic, we can enjoy undo and redo mechanic in our Unity project!

As always, the whole project and code are available at my public repository. ?

Как отменить действие в юнити

Unity Engine

Единство Горячие Клавиши
На этой странице дается обзор по умолчанию Единство " горячие " Клавиши. Вы также можете загрузить PDF-файл таблицы для Windows и MacOSX. Где команды CTRL/CMD как часть клавиш, это указывает на то, что клавиши Управления должны использоваться на Windows и клавишу Command на MacOSX.

Инструменты
Нажатие клавиши Команда
Q Пан
Вт Двигаться
E Поворот
R Шкалы
Z Pivot переключения Режима
X Pivot Переключения Режима Вращения
V Вершина Оснастки
CTRL/CMD+LMB Snap

GameObject
CTRL/CMD+SHIFT+N Новая игра объекта
CTRL/CMD+ALT+F Двигаться просмотр
CTRL/CMD+SHIFT+F Совместите с видом

Окно
CTRL/CMD+1 Сцена
CTRL/CMD+2 Игра
CTRL/CMD+3 Инспектор
CTRL/CMD+4 Иерархии
CTRL/CMD+5 Проект
CTRL/CMD+6 Анимация
CTRL/CMD+7 Профилировщик
CTRL/CMD+9 Актив-магазин
CTRL/CMD+0 Анимация
CTRL/CMD+SHIFT+C Консоли

Редактировать
CTRL/CMD+Z Отменить
CTRL+Y (только для Windows) Повтор
CMD+SHIFT+Z (только для Mac) Повтор
CTRL/CMD+X Вырезать
CTRL/CMD+C Скопируйте
CTRL/CMD+V Вставить
CTRL/CMD+D Дубликат
SHIFT+Del Удалить
F Рама (центр) выбор
CTRL/CMD+F Найти
CTRL/CMD+A Выбрать Все
CTRL/CMD+P Играть
CTRL/CMD+SHIFT+P Пауза
CTRL/CMD+ALT+P Шаг

Выбор
CTRL/CMD+SHIFT+1 Выбор Нагрузки 1
CTRL/CMD+SHIFT+2 Load Selection 2
CTRL/CMD+SHIFT+3 "Загрузить Выделенную Область " 3
CTRL/CMD+SHIFT+4 Загрузить Выделенную Область 4
CTRL/CMD+SHIFT+5 Загрузить Выделенную Область 5
CTRL/CMD+SHIFT+6 Выбор Нагрузки 6
CTRL/CMD+SHIFT+7 Загрузить Выделенную Область 7
CTRL/CMD+SHIFT+8 Выбор Нагрузки 8
CTRL/CMD+SHIFT+9 Выбор Нагрузки 9
CTRL/CMD+ALT+1 Save Selection 1
CTRL/CMD+ALT+2 Save Selection 2
CTRL/CMD+ALT+3 Save Selection 3
CTRL/CMD+ALT+4 "Сохранить Выделенную Область 4
CTRL/CMD+ALT+5 Save Selection 5
CTRL/CMD+ALT+6 Save Selection 6
CTRL/CMD+ALT+7 Save Selection 7
CTRL/CMD+ALT+8 Save Selection 8
CTRL/CMD+ALT+9 Save Selection 9

[Unity] Как отменить только одно действие в редакторе? [Решено]

Если нажать отмену действия, то удаляются все одинаковые объекты. Даже, если я создаю Объект_1, Объект_2, Объект_1 — все равно удалятся все объекты Объект_1. Как это исправить?

Возможно проблема в этом

Операции отмены автоматически объединяются в зависимости от событий, например, события нажатия кнопки мыши разделяют группы отмены. Появятся сгруппированные операции отмены, которые будут работать как единая отмена. Для управления группировкой вручную используйте Undo.IncrementCurrentGroup .

foxes
> Undo.IncrementCurrentGroup
Пробовал не помогает(

smartxp
> Пробовал не помогает(
Что конкретно ты пробовал? Может там нужно было вручную группу создавать на каждый созданный объект.

foxes
> Что конкретно ты пробовал? Может там нужно было вручную группу создавать на
> каждый созданный объект.
Это тоже не работает:

Все, разобрался, косяк в коде был в функции CreateObject. Я не знаю, что там автоматом группируется, но код:

в пустом проекте, работал как мне и надо.

Возможно из за того что ты создавал пустой объект в одном и том же месте, из за этого они схлопывались.

Как отменить ctrl z?

TabControl как отменить действие CTRL+PageUp
Есть TabControl, который не должен переключать свои вкладки по нажатию клавиш CTRL+PageUp и.

Отменить срабатывание сочетания кнопок Ctrl +Alt + Del
Доброго времени суток, я знаю что отправите на поиск но уже прогуглил, я хочу отменить срабатывание.

Как отловить нажатие ctrl+v ctrl+c ctrl+x key_Press
Как правильно отловить нажатие ctrl+v ctrl+c ctrl+x в событии key_Press? я пробую так: private.

Как сделать сочетание ctrl+z и ctrl+y в виде кнопки для textbox?
Как сделать сочетание ctrl+z и ctrl+y в виде кнопки для textbox? Стандартное сочетание клавиш.

Но это не повод отказываться от проекта или бросать работу, наоборот есть возможность набить руку на повторе, а может даже переосмыслить свой старый код или весь проект целиком.

Как разместить скрипт на все страницы сайта (без Ctrl+c, Ctrl+v)?
Доброго времени суток. Я лишь недавно начал изучать Web программирование, и получил такое задание.

Как нажать клавиши CTRL+C,CTRL+V в Visual Basic 2013?
как скопировать файл в сетевой папке с помощью CTRL+C,CTRL+V

Как перевести сочетание клавиш ctrl+v на, например ctrl+z?
Собственно проблема заключается вот в чем: у меня на ноутбуке отказали клавиши (пробел:gcray2: ,я.

Как полностью переключить в CLion Up/Down на Ctrl+P/Ctrl+N как в Emacs
Хочется печатать в ide не переключаясь на стрелки, выбрал в настройка Keymap => Emacs. Но при.

Как заблокировать нажатие на комбинацию клавиш ctrl+atl+del и ctrl+shift+esc на C++ WinAPI
Добрый день. Как заблокировать нажатие на комбинацию клавиш ctrl+atl+del и ctrl+shift+esc на C++.

JTextPane, функции Ctrl+A, Ctrl+C, Ctrl+X перенести на кнопку
Класс JTextPane поддерживает нажатие клавиш таких как Ctrl+A, Ctrl+C, Ctrl+X и т. д. Вопрос.

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

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