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

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.