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

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

  • автор:

Сочетания клавиш Unity

Это обзор горячих клавиш Unity, установленных по умолчанию. Вы также можете скачать таблицу в формате PDF для Windows и MacOSX. Если сочетание клавиш содержит CTRL/CMD, это означает, что нужно использовать клавишу Control на Windows или клавишу Command на MacOSX.

Tools
“Горячая” клавиша Действие
Q Pan (перемещение камеры сцены)
W Move (перемещение)
E Rotate (вращение)
R Scale (масштабирование)
T Rect Tool
Z Pivot Mode toggle (переключение Pivot-режима)
X Pivot Rotation Toggle (переключение поворота пивота)
V Vertex Snap (привязка вершин)
CTRL/CMD+ЛКМ Snap (привязка)
GameObject
CTRL/CMD+SHIFT+N Создать новый игровой объект
ALT+SHIFT+N New empty child to selected game object
CTRL/CMD+ALT+F Переместить объект к точке вида
CTRL/CMD+SHIFT+F Выровнить по виду
SHIFT+F или двойное F Привязывает камеру окна Scene View к выбранному игровому объекту
Window (окно)
CTRL/CMD+1 Scene (сцена)
CTRL/CMD+2 Game (игра)
CTRL/CMD+3 Inspector (инспектор)
CTRL/CMD+4 Hierarchy (иерархия)
CTRL/CMD+5 Project (проект)
CTRL/CMD+6 Animation (анимация)
CTRL/CMD+7 Profiler (профайлер)
CTRL/CMD+9 Магазин ассетов
CTRL/CMD+0 Version Control
CTRL/CMD+SHIFT+C Console (консоль)
Edit
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 Шаг
Selection (выделение)
CTRL/CMD+SHIFT+1 Загрузить выделение 1
CTRL/CMD+SHIFT+2 Загрузить выделение 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 Сохранить выделение 1
CTRL/CMD+ALT+2 Сохранить выделение 2
CTRL/CMD+ALT+3 Сохранить выделение 3
CTRL/CMD+ALT+4 Сохранить выделение 4
CTRL/CMD+ALT+5 Сохранить выделение 5
CTRL/CMD+ALT+6 Сохранить выделение 6
CTRL/CMD+ALT+7 Сохранить выделение 7
CTRL/CMD+ALT+8 Сохранить выделение 8
CTRL/CMD+ALT+9 Сохранить выделение 9
Assets (ассеты)
CTRL/CMD+R Обновить

Customizing Your Workspace (Настройка рабочего пространства)

Быстрые клавиши.

Эта страница дает обзор горячих клавиш по умолчанию в Юнити. Вы можете также скачать таблицу в формате pdf для Windows и MacOSX. CTRL/CMD означает использование Control на Windows и Command на MacOSX.
Инструменты

Keystroke Command
Q Панорамирование
W Перемещение
E Поворот
R Масштабирование
Z Переключение режима пивота
X Переключение вращения пивота
V Привязка к вершинам
CTRL/CMD+LMB Привязка
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 Asset store
CTRL/CMD+0 Анимации
CTRL/CMD+SHIFT+C Console
CTRL/CMD+Z Undo
CTRL+Y (Windows только) Redo
CMD+SHIFT+Z (Mac только) Redo
CTRL/CMD+X Вырезать
CTRL/CMD+C Копировать
CTRL/CMD+V Вставить
CTRL/CMD+D Клонировать
SHIFT+Del Удалить
F Центрировать выделение
CTRL/CMD+F Найти
CTRL/CMD+A Выделить все
CTRL/CMD+SHIFT+1 Загрузить выделение 1
CTRL/CMD+SHIFT+2 Загрузить выделение 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 Сохранить выделение 1
CTRL/CMD+ALT+2 Сохранить выделение 2
CTRL/CMD+ALT+3 Сохранить выделение 3
CTRL/CMD+ALT+4 Сохранить выделение 4
CTRL/CMD+ALT+5 Сохранить выделение 5
CTRL/CMD+ALT+6 Сохранить выделение 6
CTRL/CMD+ALT+7 Сохранить выделение 7
CTRL/CMD+ALT+8 Сохранить выделение 8
CTRL/CMD+ALT+9 Сохранить выделение 9
CTRL/CMD+R Обновить

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

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

#1
22:24, 22 апр 2020

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

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

#2
22:43, 22 апр 2020

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

#3
0:45, 23 апр 2020

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

#4
1:24, 23 апр 2020

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

public void MouseClick( ) < Undo.IncrementCurrentGroup( ); Undo.SetCurrentGroupName( "My group"); //разные имена тоже не помогают int group = Undo.GetCurrentGroup( ); GameObject go = CreateObject( . ); Undo.RegisterCreatedObjectUndo( go, "Create " + go.name); //разные имена тоже не помогают Undo.CollapseUndoOperations( group); >

#5
23:09, 25 апр 2020

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

public void MouseClick( ) < GameObject go = AssetDatabase.LoadAssetAtPathGameObject>( "MyPrefab.prefab"); Undo.RegisterCreatedObjectUndo( PrefabUtility.InstantiatePrefab( go), "Create Object"); >

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

#6
23:48, 25 апр 2020

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

Как остановить выполнение метода в unity?

По этому скрипту объект Background должен менять свою форму (что он и делает) но в методе Enter есть вычисление, которое находит разницу между настоящим размером и нужным и заканчивается только при условии, что разница равна нулю, что никогда не произойдёт из-за вычисления. Теперь мне нужно либо принудительно остановить метод, или каким-то образом осуществить условие завершения. Проблема в том, что переменная i (настоящий размер по оси x) никогда не равна 2 (нужный размер) и зацикливается на 1.999999. (А Change вообще выходит на 1.оченьМногоЦифриБукв) Можно что нибудь с этим сделать?

using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using UnityEngine.EventSystems; public class Button : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler < [Header("Set manualy")] [Tooltip("This is the backline, that will be activaited when the mouse is on button")] public GameObject Background; [Tooltip("Set how long the line will become, when mouse is on it")] public float Selected; public float Speed; [Header("Sets automatically")] public RectTransform rt; public float Change; public float i; void Awake() < rt = Background.GetComponent(); i = 1; > public void OnPointerEnter(PointerEventData eventData) < Invoke("Enter", 0f); >void Enter() < print("Still using Enter"); Change = Selected - i; i += Change * Speed; rt.anchorMax = new Vector2(i, 1); if (Change == 0) < Invoke("Enter", 0f);>> public void OnPointerExit(PointerEventData eventData) < Invoke("Exit", 0f); >void Exit() < >> 

Отслеживать
задан 5 ноя 2021 в 6:07
Donut Theory Donut Theory
58 6 6 бронзовых знаков

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Проблема с float такая, что у них есть некоторые особенности. Читайте про них тут: Вычисления на числах с плавающей точкой не работают

Поэтому как вариант: нужно сравнивать Change не с точным значением 0, а с некой дельтой, которая вас устраивала бы. Т.е. например if (Change < 0.1)

Отслеживать
ответ дан 5 ноя 2021 в 6:26
Алексей Шиманский Алексей Шиманский
72.1k 12 12 золотых знаков 92 92 серебряных знака 180 180 бронзовых знаков
Да поменял на i < 1.9 и заработало 5 ноя 2021 в 7:18

  • c#
  • unity3d
    Важное на Мете
Связанные
Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.1.26.3951

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

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