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

Unity как остановить сцену

  • автор:

Сочетания клавиш 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 (Настройка рабочего пространства)

Как остановить сцену не останавливая UI?

Всем привет! При создание паузы для игры столкнулся с проблемой , что при использования Time.timeScale у меня останавливается вся сцена даже UI обьекты (они с анимацией) и из за этого мену с паузой не выходит , мне нужно что бы при запуски паузы останавливалось все кроме UI .

  • Вопрос задан более двух лет назад
  • 312 просмотров

Комментировать

Решения вопроса 1

flexer1992

Alex Maximovich @flexer1992

Unity Developer

Добавить игровой стейт в котором будете включать/выключать паузу. Соответственно во всех подсистемах будете ссылаться на свой стейт а не опираться на Time.timeScale.

Ответ написан более двух лет назад

Нравится 2 3 комментария

Как на некоторое время отсрочить переход к следующей сцене?

Как при нажатию на кнопку перейти к следующей сцене?
как мне сделать переход при нажатии на кнопку что осуществился переход с меню на пустую сцену.

Как выключить мышь на некоторое время?
нашёл код, но не понял как воспользоваться. Это элементарно сделать при помощи API: .

Как присвоить некоторое время в переменной?
как присвоить некоторое время в переменную.Я знаю,только как вывести теперешнее время.

Как заблокировать клавиатуру на некоторое время?
Как заблокировать клавиатуру на некоторое время?

39 / 25 / 15
Регистрация: 27.01.2019
Сообщений: 70

В первом коде попробуйте указать в методе больше времени, например, Invoke(«Delay», 8f); и проверьте как будет вызываться. Поиграйтесь с параметром времени функции Invoke, нужно искать оптимальное значение.

295 / 217 / 85
Регистрация: 17.02.2016
Сообщений: 1,276
Записей в блоге: 1

ЦитатаСообщение от Djey40 Посмотреть сообщение

StartCoroutine(Wait(2.5f));
Регистрация: 07.11.2013
Сообщений: 62
Korollles, к сожалению, Invoke() вообще не срабатывает, в том-то и дело, код:

1 2 3 4
public void Delay() { SceneManager.LoadScene("GameOver"); }

вообще не реагирует никак, сцена Конец игры не загружается. Когда ставлю SceneManager.LoadScene(«GameOver»); в условие if (playerLives < 1) без всяких Invoke() тогда только загружается сцена Конец игры, но мгновенно и хотелось бы это дело исправить.

Добавлено через 3 минуты
Steroid, также, пробовал с корутинами, но словно этот код:

1 2 3 4 5
public IEnumerator Wait(float seconds) { yield return new WaitForSeconds(seconds); // таймер, через n секунд SceneManager.LoadScene("GameOver"); // выполнится эта строка }

никогда не выполняется, до него будто выполнение не доходит, какое время задержки не выставляй.
39 / 25 / 15
Регистрация: 27.01.2019
Сообщений: 70

Лучший ответ

Сообщение было отмечено Djey40 как решение

Решение

Djey40, давайте разбирать в каждой строке.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
public void LifeSubstraction() //функция уменьшения жизни { playerLives--; //в ней уменьшаем жизнь, когда её вызываем if (playerLives  1) //если жизней меньше 1, то. { //удаляем этот объект? Зачем? Такая строка говорит о том, что этот скрипт отвечает за логику как игрока, //так и перехода к другой сцене. Лучше логику перехода реализовать в игровом менеджере и т.п. Destroy(this.gameObject); //Дальше выполнение не пойдёт, потому что мы только что удалили экземпляр класса с текущим скриптом. //Я без понятия как у вас получалось вызывать взрыв, видимо что-то меняли для поиска правильного результата Instantiate(playerExplosionPrefab, transform.position, Quaternion.identity); AudioSource.PlayClipAtPoint(explosionSound, Camera.main.transform.position, 1.0f); Invoke("Delay", 2.5f); } } public void Delay() { SceneManager.LoadScene("GameOver"); }

В коде выше не получится выполнить то, что вы хотите. Ниже один из возможных примеров реализации.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
public void LifeSubstraction() / { playerLives--; if (playerLives  1) //если жизней меньше 1, то. { //Если вам нужно отключить управление игрока, то не нужно использовать для этого уничтожение игрового объекта, //на котором этот скрипт. Если он не на этом скрипте, то ОК, тогда Destroy(Player); , где public GameObject Player. //Или выключайте активный класс управления игрока, если он отдельный. //Создаём экземпляр взрыва Instantiate(playerExplosionPrefab, transform.position, Quaternion.identity); //проигрываем звук взрыва AudioSource.PlayClipAtPoint(explosionSound, Camera.main.transform.position, 1.0f); //вызываем метод перехода на другую сцену с задержкой Invoke("Delay", 2.5f); } } public void Delay() { //Грузится сцена, которая у вас добавлена в список игровых сцен. Проверьте, что она там есть. File - Build Settings. - Scenes In Build SceneManager.LoadScene("GameOver"); }

Как отключить автоматический переход в режим игры при запуске ее в Unity?

Как отключить автоматический переход в режим игры при запуске ее в Unity? При нажатии кнопки «Play», unity автоматически перекидывает меня в режим игры, однако мне хочется остаться в режиме редактирования объектов (сцена). Возможно я где-то упустил отключение этой функции в настройках. Заранее спасибо

Отслеживать
задан 30 апр 2021 в 16:47
87 1 1 серебряный знак 7 7 бронзовых знаков
В рантайме перейдите из окна Game в окно Scene
30 апр 2021 в 16:54
@АлександрДаниловский Надо чтобы сразу после начала я был в сцене
30 апр 2021 в 16:55
так перетащите окна Юнити, чтобы одновременно и то, и другое отображалось.
30 апр 2021 в 17:02

Вы можете перемещать любые окна Unity куда угодно, нажав на его заголовок ЛКМ и потащив. Вы можете сделать так, чтобы было одновременно видно и Play и Scene. Однако по умолчанию при запуске игры Unity открывает окно Play если оно свернуто

30 апр 2021 в 17:22

2 ответа 2

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

В окне «Game» нажать на «Play Focused» и в выпавшем меню выбрать «Play Unfocused»

введите сюда описание изображения

Отслеживать
ответ дан 7 июл в 15:20
16 1 1 бронзовый знак

Выберите пункт в настройках, который показан на изображении ниже (или выше). Он сделает вам два окна слева (одно слева-сверху — это режим редактирования. Второе слева-снизу — это режим игры). Можете там выбрать любой другой пункт, который Вам понравится, а можете сделать свой: Вы можете добавлять любое окно и любое их количество, а также перетаскивать их как угодно.

Отслеживать
ответ дан 1 мая 2021 в 15:26
161 9 9 бронзовых знаков

  • c#
  • unity3d
    Важное на Мете
Похожие

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

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

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

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

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

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

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