Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flasher.ru > Флейм

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 05.02.2015, 21:38
ZackMercury вне форума Посмотреть профиль Отправить личное сообщение для ZackMercury Найти все сообщения от ZackMercury
  № 21  
Ответить с цитированием
ZackMercury
 
Аватар для ZackMercury

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,918
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
Цитата:
Сообщение от Zebestov Посмотреть сообщение
Колесо с точкой — это просто популярная иллюстрация, не стоит так за нее хвататься.

Вложение 31407
Получается, этак никак не провернуть без уточнения.
Ну тогда нужно определить в проекте константу - минимальная ширина объекта, и спустить все просчёты до промежутков, приблизительно равных этой константе, чтобы не дай бог объект не смог пролететь сквозь другой. (А спускать с помощью, к примеру, циклов)
При этом учитывать скорость вращения
__________________
There is no thing in this world that is not simple.


Последний раз редактировалось ZackMercury; 05.02.2015 в 21:48.
Старый 05.02.2015, 22:01
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 22  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
Ну вот об этом и речь, что так движок и захлебнуться может. Нужно постоянно оптимизировать (и на уровне алгоритмов, и на уровне математики), упрощать, а местами и просто халтурить =) как правило просто в зависимости от скоростей в каждой конкретной сцене можно задавать количество промежуточных шагов (вроде бы так в B2D делается) или на объекте выставить флаг, означающий, что он движется очень быстро (как в Nape).

Ну т.е. решения есть, да. И ты их обнаружишь, если займешься этим вопросом вплотную. Вот только это все действительно уже неплохо сделано до тебя (еще и выбор есть), а делать там ой как немало!

И вот я подведу итог, чтобы стало ясно, к чему я все время веду.
Когда-то, когда AIR был достаточно туповат, а Starling едва справлялся с нормальной игровой сценой на слабом смартфоне, я решил замутить свой 2D движок на Stage3D. Пока я факультативно занимался этим делом, я неплохо так разобрался с рядом процессов до самого-самого низкого уровня. Как ты уже понял, движок свой я так и не закончил, бо с течением времени в этом просто отпала какая-либо необходимость — Starling сейчас неплохо гребет на любой платформе и я пока ни разу не уперся в его "предел". НО. Знания и понимание процессов мне пошли очень на пользу. Стало понятно, почему изменить масштаб в разы быстрее, чем задать новую ширину, почему не надо без повода дергать getBounds(), какая порой драматическая разница между добавить/удалить объект или сделать его видимым/невидимым и т.д.

ИТОГО: В начале обсуждения ты сказал, что желаешь сам писать физику. Именно может оказаться излишеством, если тебе кроме этого есть что сотворить. Но знания, которые ты приобретешь даже просто размышляя о том, как оно должно работать, тебе однозначно помогут. Ну и математику/физику подтянешь.
__________________
Поймай яблоко 2!

Старый 05.02.2015, 22:12
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 23  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Вообще обычно телам просто дается сферический (3D) или эллиптический (2D) коллайдер. Коллайдер - воображаемый объект, привязанный к центру физического тела. Для начала проверяются пересечения коллайдеров, а затем уже, если коллайдеры пересеклись - пересечение тел.
Для эллиптических (в самом простом случае - круглых) коллайдеров расчет пересечения не требует даже вычислять квадратный корень, что делает предварительную проверку достаточно быстрой.
В примере Zebestov'а эллиптический коллайдер показал бы пересечение с обоими окружностями, а вот уже дальнейший расчет показал бы с кем именно мы пересеклись и когда.
__________________
...вселенская грусть

Создать новую тему Ответ Часовой пояс GMT +4, время: 20:14.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 20:14.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.