Перейти к содержимому

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

  • автор:

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

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

  • Вопрос задан более трёх лет назад
  • 324 просмотра

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

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

flexer1992

Alex Maximovich @flexer1992

Unity Developer

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

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

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

Unity(C#) — Как правильно реализовать паузу игры?

По нажатию кнопки открывается окно паузы где есть еще три кнопки: продолжить игру, настройки, выход. Чтобы во время паузы ничего не происходило в игре я использовал timeScale = 0, но из-за этого кнопки тоже нельзя нажимать. Как можно остановить всю игру кроме окна паузы?

  • Вопрос задан более трёх лет назад
  • 6082 просмотра

7 комментариев

Простой 7 комментариев

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

Остановить движение мяча. Unity3d

После попадания мяча в стенку(в цель). Он должен спавнится на первоначальном месте без движения. Его движение я останавливаю так. Но при спавне в точку (0, 0, 0) он всё равно катится тихонько, то есть есть ещё движение. Что можно ещё сделать с мячом, чтобы остановить его намертво?

 gameObject.GetComponent().velocity = Vector3.zero; gameObject.transform.position = new Vector3(0, 0, 0); 

Отслеживать
задан 6 авг 2021 в 10:58
95 9 9 бронзовых знаков

1 ответ 1

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

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

gameObject.transform.position = new Vector3(0, 0, 0); gameObject.GetComponent().velocity = Vector3.zero; gameObject.GetComponent().angularVelocity = Vector3.zero; 

Отслеживать
ответ дан 6 авг 2021 в 11:25
SoulOFTrue SoulOFTrue
1,150 2 2 серебряных знака 11 11 бронзовых знаков
Спасибо, Помогло!
6 авг 2021 в 11:34

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

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

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

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

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

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

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

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