|
117 / 117 / 0
Регистрация: 27.09.2013
Сообщений: 710
|
|
Метр в секунду или измерение величин в играх10.11.2013, 03:09. Показов 4818. Ответов 66
Метки нет (Все метки)
Hello, World!
![]() Игры до этого момента не писал, но что-то захотелось написать ... И похоже, столкнулся с фундаментальной проблемой ... Пишу сейчас на Perl используя библиотеку OpenGL + GLUT под Windows 7 64. Но это не суть важно. Не могу понять, как принято измерять в играх время, скорость и расстояния. Я так понимаю, что время в программе вещь относительная. На выполнение программы влияет множество факторов. Вообщем, ребят, в голове моей кашка ... кто подскажет, куда копать, чтобы понять как организовать нормальную не сложную заготовку для простенькой игры типа змейки или тетриса? Мне бы хотелось разобраться как можно организовать плавное движение, скажем, шара со скоростью 1 метр в 1 секунду. Как лучше разбить физику и графику ( процессы\потоки, синхронно\асинхронно). Может быть есть стандарты кодирования или что то ещё. С чего начать? Если есть код на языках C\C++ c описанием, буду рад. То есть, проблема в том, что я никак не могу себе представить в будущей программе что такое метр в секунду, так как измерения относительны. И как в самом начале заложишь эти единицы так и поплывешь. Жду ваших коментов, ребят. ![]() Добавлено через 4 часа 33 минуты Неужели никто не знает как правильно задать скорость\время? ![]() Почитал статейки, пишут, что нужно скорость перемещения множить на скорость отрисовки кадра. положение объекта = скорость объекта * среднее время отрисовки кадра В GLUT есть функции glutTimerFunc и glutIdleFunc ... к какой правильно привязывать функцию рисования сцены?
0
|
|
| 10.11.2013, 03:09 | |
|
Ответы с готовыми решениями:
66
Зависает в играх 20 секунду через 20 На ноутбуке hp в играх и при просмотре видео виснет на секунду со звуком трр |
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
||
| 10.11.2013, 13:29 | ||
|
1
|
||
|
117 / 117 / 0
Регистрация: 27.09.2013
Сообщений: 710
|
|
| 10.11.2013, 13:31 [ТС] | |
|
0
|
|
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
| 10.11.2013, 13:31 | |
|
1
|
|
|
117 / 117 / 0
Регистрация: 27.09.2013
Сообщений: 710
|
|
| 10.11.2013, 13:32 [ТС] | |
|
0
|
|
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
| 10.11.2013, 13:35 | |
|
Можно единицу принять за метр, миллиметр, дюйм, километр, световой год... За что угодно. А в 2D хоть за пиксел.
Добавлено через 1 минуту А ещё можно принять её за световую секунду. Или за световую терцию. За световую минуту, за световой час. За что угодно. Время же изначально размерно и надо узнать единицу, в которой его измеряет используемая функция. В зависимости от самой функции это тоже может быть что угодно от суток до микросекунды, но этот выбор заложен в инструмент.
1
|
|
|
117 / 117 / 0
Регистрация: 27.09.2013
Сообщений: 710
|
||
| 10.11.2013, 13:41 [ТС] | ||
|
Добавлено через 3 минуты Мне интересен сам принцип ... туман войны нужен?))
0
|
||
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
| 10.11.2013, 13:42 | |
|
1. Если объект имеет глубину, то сначала пропадёт его дальний слой и постепенно дойдёшь до ближнего.
2. Можно завысить глубину пирамиды отсечения, но на некотором расстоянии от камеры разместить туманную стену, по мере погружения объекта в которую его изображение будет постепенно размываться. 3. Можно завысить глубину горизонта, но смоделировать кривизну Земли.
1
|
|
|
117 / 117 / 0
Регистрация: 27.09.2013
Сообщений: 710
|
||
| 10.11.2013, 13:44 [ТС] | ||
![]() Я сейчас с таймерами окончательно разберусь и перейду к отрисовке объектов, которые лежат внутри этой пирамидки проекции. Чтобы лишнее не рисовать.
0
|
||
|
Модератор
3410 / 2182 / 354
Регистрация: 13.01.2012
Сообщений: 8,473
|
||
| 10.11.2013, 13:45 | ||
|
1
|
||
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
||
| 10.11.2013, 13:46 | ||
|
1
|
||
|
117 / 117 / 0
Регистрация: 27.09.2013
Сообщений: 710
|
|||
| 10.11.2013, 13:54 [ТС] | |||
|
Но всё же, про время, таймер самый реальный это генератор прямоугольных импульсов, насколько я понимаю ) Интересно, к нему ли обращаются функции через ОС и драйвер?? Или может быть программное окружение влияет на этот таймер который я вызываю (glutTimerFunc) Добавлено через 2 минуты Добавлено через 3 минуты vxg, srand(time(0)); хотел спросить ... это в main для чего? я не смог найти переменную куда результат заносится. Или может эта функция не явно что то устанавливает?
0
|
|||
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
||
| 10.11.2013, 13:58 | ||
|
1
|
||
|
117 / 117 / 0
Регистрация: 27.09.2013
Сообщений: 710
|
|
| 10.11.2013, 14:00 [ТС] | |
|
0
|
|
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
||
| 10.11.2013, 14:07 | ||
|
Но это 5 единиц, а не метров. А может быть это 1,64 единицы-фута? Великан не видит себя таковым, какие бы единицы ни были выбраны, даже не существующие, последовательное их применение ко всем объектам гарантирует правильность картинки.
Добавлено через 27 секунд
1
|
||
|
|
|
| 10.11.2013, 14:09 | |
|
PetyaVasechkin, тогда хочу посоветовать вам покопаться в потрохах любого движка, + обложиться литрой по этому случаю, пускай даже на с++ НО принципы то в основном те же. (от языка лишь незначительное быстродействие зависит это не столь важно. тк на компах нашего времени будет мало заметна разница в 0.1с и 0.01 с скорость будет зависеть от правильности кода собсно) и еще в гугле можно много полезного найти на эту тему, хотя бы в плане общего развития
1
|
|
|
117 / 117 / 0
Регистрация: 27.09.2013
Сообщений: 710
|
||
| 10.11.2013, 14:09 [ТС] | ||
![]() Главное пропорция и точка опоры. Если я всё правильно понял.
0
|
||
|
Модератор
3410 / 2182 / 354
Регистрация: 13.01.2012
Сообщений: 8,473
|
||
| 10.11.2013, 14:14 | ||
|
1
|
||
|
117 / 117 / 0
Регистрация: 27.09.2013
Сообщений: 710
|
||
| 10.11.2013, 14:17 [ТС] | ||
|
Думаю, просто, освоить азы так сказать трёхмерной графики и попробовать написать что то простенькое использующее сеть\БД\анимацию\текстурирование\освещен ие\звук\простую физику (столкновение) ну и так далее. Хочу оценить время\силы. Добавлено через 2 минуты Нужно вообще посмотреть, чего я могу, а чего нет
0
|
||
|
Модератор
3410 / 2182 / 354
Регистрация: 13.01.2012
Сообщений: 8,473
|
|
| 10.11.2013, 14:17 | |
|
1
|
|
| 10.11.2013, 14:17 | |
|
Как можно делать конвертация для ед.изм у меня кг шт метр и мешки есть и должно быть кг на шт,метр,мешки ? измерение тока компаратором или ОУ Перевод с кадров в секунду в мегабиты в секунду
Turbo Basic: поиск равных величин или уведомление, что таковых не найдено Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства.
Жизнь действительно предъявляет каждому. . .
|
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
|
Лето уходит
kumehtar 17.08.2026
|
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
|
|
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины".
За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html
Задача: . . .
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|