С Новым годом! Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
22 / 20 / 5
Регистрация: 29.02.2016
Сообщений: 590

Ограничить игровую область границами экрана

06.04.2019, 17:38. Показов 3162. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно реализовать сцену, в которой шарик будет рикошетить от стенок. Сейчас же у меня шарик просто выкатывается за область экрана. Как это делают опытные геймдевы?
Я разместил один плоский Куб в качестве пола, на него положил шарик. Шарику задаётся ускорение самим пользователем (засчёт свайпа). Попытался расставить кубы вокруг камеры, но это вызвало некоторую сложность, ведь если поставить куб ближе - его будет видно, а если дальше - шарик будет улетать дальше. Но шарик всё равно почему-то через эти кубы проходит...
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.04.2019, 17:38
Ответы с готовыми решениями:

Ограничить область перемещения рисунка границами формы
Вот который день мучаюсь над игрушкой а все некак невыходит:( текушая проблема как ограничить форму? ну т.е. я двигаю рисунок курсором и...

Проверить пересечение с границами экрана
Как проверить пересечение спрайта с границами экрана(границами флешки)?

Как закрасить прямоугольную область с известными границами в Stringrid?
Допустим имееюся координаты левого и правого угла прямоугольной области в StringGrid. Как закрасить ЭТУ область в какой-либо цвет? ...

9
250 / 186 / 68
Регистрация: 04.03.2019
Сообщений: 1,010
11.04.2019, 18:31
Цитата Сообщение от D7ILeucoH Посмотреть сообщение
эти кубы проходит...
возможно вы его телепортируете а не двигаете физикой
возможно нужно в ригидбоди настроить
0
22 / 20 / 5
Регистрация: 29.02.2016
Сообщений: 590
11.04.2019, 18:53  [ТС]
Решение гениальное:
Засунуть все бортики и дно в один объект, в методе onStart менять размеры этого объекта. Высота по дефолту максимальная, а ширину задаём через пропорцию, которые вы без труда выведите.
0
22 / 20 / 5
Регистрация: 29.02.2016
Сообщений: 590
12.04.2019, 16:13  [ТС]
Цитата Сообщение от MuaddibFremen Посмотреть сообщение
возможно вы его телепортируете а не двигаете физикой
возможно нужно в ригидбоди настроить
Не, ну это бред.

Добавлено через 32 секунды
Шарик проходил через стенки... Увеличил коллизии у стенок, теперь не проходит
0
 Аватар для 1max1
3362 / 1775 / 1028
Регистрация: 26.10.2018
Сообщений: 5,204
12.04.2019, 16:42
Цитата Сообщение от D7ILeucoH Посмотреть сообщение
Не, ну это бред.
Бред использовать трансформ, когда нужна физика.
0
22 / 20 / 5
Регистрация: 29.02.2016
Сообщений: 590
14.04.2019, 19:54  [ТС]
Цитата Сообщение от 1max1 Посмотреть сообщение
Бред использовать трансформ, когда нужна физика.
Ооо, ну давай, покажи, как ты без трансформа будешь задавать размеры объектов, а ну-ка научи
0
 Аватар для 1max1
3362 / 1775 / 1028
Регистрация: 26.10.2018
Сообщений: 5,204
14.04.2019, 19:57
Я имел ввиду движение нужно делать физикой чтобы объекты не протискивались через коллайдеры. А размер само собой задается через трансформ.
0
22 / 20 / 5
Регистрация: 29.02.2016
Сообщений: 590
15.04.2019, 04:50  [ТС]
Физика работает неправильно, если коллайдеры слишком тонкие
0
 Аватар для 1max1
3362 / 1775 / 1028
Регистрация: 26.10.2018
Сообщений: 5,204
15.04.2019, 11:55
Будет достаточно 1 юнита толщины коллайдера если физика настроена правильно.
Кстати, код движения не помешало бы увидеть.
0
22 / 20 / 5
Регистрация: 29.02.2016
Сообщений: 590
18.04.2019, 19:34  [ТС]
Цитата Сообщение от 1max1 Посмотреть сообщение
Будет достаточно 1 юнита толщины коллайдера если физика настроена правильно.
Я покурил матчасть, при разных настройках всё равно всплывают "призрачные коллизии" и "пролетарские коллизии" (то есть вообще отсутствие коллизий)...

Цитата Сообщение от 1max1 Посмотреть сообщение
Кстати, код движения не помешало бы увидеть.
Разумеется, будет код. К слову, что-то мне не нравится производительность этой простецкой игры: ФПС очень низок, телефон греется, отскок от стенок (наверное, из-за низкого ФПС) выглядит очень неестественно (отскок происходит то до, то после границы стенки)

А вот и код подъехал (Юнити запускалась):

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
    Rigidbody rb;
    float touchTimeStart, touchTimeFinish, timeInterval;
    Vector2 startPos, endPos, direction;
    public float tip = 0.1f;
    // Start is called before the first frame update
    void Start()
    {
        rb = GetComponent<Rigidbody>();
    }
 
    // Update is called once per frame
    void Update()
    {
        if (Input.touchCount>0&&Input.GetTouch(0).phase==TouchPhase.Began)
        {
            touchTimeStart = Time.time;
            startPos = Input.GetTouch(0).position;
        }
        if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Ended)
        {
            touchTimeFinish = Time.time;
            timeInterval = touchTimeFinish - touchTimeStart;
            endPos = Input.GetTouch(0).position;
            direction = startPos - endPos;
            rb.isKinematic = false;
            rb.AddForce(-direction.x*tip,0,-direction.y*tip,ForceMode.VelocityChange);
        }
        if (transform.position.y < -10)
        {
            rb.isKinematic = true;
            transform.position = new Vector3(0, 2, 0);
            rb.isKinematic = false;
        }
    }
Внизу скрипт возвращения улетевшего багом с поля мячика.
В RigitBody у мячика пробовал разные Collision Detection, но они по-своему плохи, причём никто из них не гарантирует невозможности улёта мачика в космос
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.04.2019, 19:34
Помогаю со студенческими работами здесь

Область видимости переменных в методе ограничивается границами цикла
помогите пожалуйста, не могу разобраться в области видимости переменных n и schak, задаю значения в цикле while, и дальше нужно эти...

Можно ли создать диалоговое окно, "рабочая область" которого выглядит как табличка, с тонкими границами?
Доброго времени суток! Подскажите пожалуйста, подвластна ли далее описанная ситуация языку VBA и его инструментам создания пользовательских...

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

Ограничить область графика
Добрый день. Есть код в MATLAB который строит график нескольких функций. Необходимо ограничить область красного графика, что бы не было...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru