3D-игра с Python, начиная с ничего

Итак, мы хотим запрограммировать 3D-игру для школы, мы, вероятно, можем использовать blender для 3d-моделей, однако мы совершенно не знаем, как их использовать в игре/приложении.

Есть ли какие-либо рекомендуемые руководства/документы, которые мы должны прочитать в общем программировании на 3D-игре и, возможно, в специфических для python вещах.

Мы также, возможно, рассматриваем программирование на С++, но пока я считаю, что проще использовать Python, так как мы можем полностью сосредоточиться на 3D-механике таким образом.

Ответы

Ответ 1

Там Pygame: игровая среда для языка Python. Если вам нужно знать основы разработки игр (движок, поток, ui, математика), эта структура со всеми ее примерами поможет вам многое. Это не приведет вас к руке и поможет вам шаг за шагом в разработке игр, но если вам нужна ссылка и достойная инфраструктура, это будет хорошим началом.

Там также PyOpenGL: официальная оболочка Python для программирования OpenGL. Опять же, много примеров программирования в поле и тонны фрагментов кода о том, как использовать 3d-модели и подобные. Может использоваться вместе с PyGame.

Но вы должны начать, познакомившись с с помощью некоторых 3D-основ. Посмотрите на сайт GameDev.net. Узнайте что-нибудь о о матрицах (и, возможно, кватернионах). Есть много учебников для начинающих и ссылки, доступные для начала работы.

edit: Я почти забыл: там также Panda3D с обширными возможностями сценариев для Python. Возможно, это обеспечит более высокий уровень развития игры.

Ответ 2

Panda3D - это хороший мощный движок, позволяющий создавать сценарии на Python. Это похоже на хорошее место для начала.

Если вы ищете что-то более низкоуровневое, там PyOpenGL или pygame.

Ответ 3

Фактически вы можете разрабатывать игры в Blender через Python. Существует довольно много учебных пособий, я расскажу вам о том, как понравится вам.

Подробнее здесь

Ответ 4

Если вы хотите написать 3D-игру, вы можете начать с понимания основ программирования и информатики. Начиная с вершины и изучая язык, затем найдите себе хорошую графическую библиотеку, например, Panda, Pygame - хороший выбор, тогда есть другие части, которые нужно учитывать, например, как сеть с скрученной или физическим движком. Также может быть хорошим выбором рассмотреть возможность использования рабочего движка, такого как нереальный движок, так как часто разработчики игр слишком обернуты в игровой механике, а не в самой игре.

Ответ 5

Альтернативой PyGame, который я лично предпочитаю, является pyglet. http://pyglet.org

Ответ 6

Вы должны знать, что 3D-игра состоит из

  • анимированные 3D-модели
  • 3D-среда (включая NPC и объекты)
  • моделирование взаимодействия среды с моделями (игровая логика и игровая механика)
  • пользовательский интерфейс (запуск, сохранение и настройки игры)

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

Моделирование 3D-объектов и окружения должно быть намного проще после этого.

Ответ 7

Я бы использовал критичные по времени вещи как 3D и его обработку объектов + рендеринг в сыром C/С++, а встроенный Python с внешними модулями обрабатывал логику игры (перемещение объекта, свойства объекта, скрипты и т.д.).

Ответ 8

Это легко избавиться от простых 3D-игр. Положение любого объекта на экране всегда можно рассчитать так же, как:

position = (x/z*fov,x/z*fov)

где x и z - горизонтальная ось, а fov - поле зрения игрока, в [radians/degrees/pixels/...].

Когда вы вращаетесь вокруг, слово вращается не вами. Это означает, что вы всегда смотрите против положительного z. Кватернионы - лучший способ повернуть мир вокруг вас.

Ps. использовать вертексарры или массивы для максимально возможной 3D-графики

Ответ 9

Nigga Fagot Изнасилование твоего папы сжечь презервативы мам