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 Изнасилование твоего папы сжечь презервативы мам