Программирование физики 2D игр

Программирование физики 2D игр
en
02.05.2024
35 г 7 мін 8 сек

Этот курс является мягким введением в мир физики 2D игр! Мы рассмотрим всю прекрасную математику, которая лежит в основе большинства физических движков, начиная с тщательного изучения векторов, матриц, основ тригонометрии, столкновений твердых тел, а также немного затронем и калькулюс.

 

Лекции разработаны для обучения всех концепций с первых принципов. В нашем путешествии мы рассмотрим несколько тем из физики, таких как скорость, ускорение, интеграция, масса, силы, гравитация, сопротивление, трение, динамика твердых тел, обнаружение столкновений, ограничения и т. д.

Мы также применим теорию на практике, написав очень простой 2D физический движок с нуля на языке программирования C++.

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

Затем мы перейдем к работе с твердыми телами, добавляя формы к нашим объектам, такие как круги, прямоугольники и многоугольники. Мы также научимся программировать обнаружение столкновений и разрешение столкновений между этими твердыми телами.

Мы завершим нашу реализацию на C++ добавлением ограничений в наш физический движок, что поможет нам добавить различные типы объектов в наш движок, такие как шарниры и тряпичные куклы. В конечном итоге, ограничения помогут нам улучшить стабильность нашего движка, и это отличная возможность для нас обсудить некоторые интересные идеи из калькулюса.

Инструменты, которые вам понадобятся

Всё, что вам действительно нужно — это простой редактор кода и компилятор C++. Мы будем использовать кроссплатформенную библиотеку под названием SDL для отображения нашей графики, и поскольку компилятор C++ можно найти практически для любой операционной системы, вы можете следовать курсу на Windows, macOS или Linux!

Также убедитесь, что у вас под рукой есть ручка и бумага для лекций. Этот курс, вероятно, будет немного отличаться от других программистских курсов, которые вы проходили ранее. Мы будем идти не спеша и убедимся, что понимаем каждую формулу, которую встретим на нашем пути!

Вы не можете просматривать данный курс -

Array ( [bitrate] => 573246 [filesize] => 47509578 [mime_type] => video/mp4 [length] => 535 [length_formatted] => 8:55 [width] => 1920 [height] => 1080 [fileformat] => mp4 [dataformat] => quicktime [audio] => Array ( [dataformat] => mp4 [bitrate] => 128000 [codec] => ISO/IEC 14496-3 AAC [sample_rate] => 44100 [channels] => 2 [bits_per_sample] => 16 [lossless] => [channelmode] => stereo [compression_ratio] => 0.090702947845805 ) [created_timestamp] => -2082844800 )