OpenGL ES и развитие реального мира - PullRequest
3 голосов
/ 05 мая 2010

Я пытаюсь быстро изучить OpenGL ES (я знаю, я знаю, но это давление, которое было на меня возложено), и я был прочитан довольно много, что очень успешно при рендеринге базовых моделей, немного базового освещения и «некоторый» успех текстурирования.

Но на этом ПОСТОЯННО заканчиваются все учебные пособия по OpenGL ES, они никогда не говорят больше о том, что может понадобиться реальному приложению. Поэтому у меня есть несколько вопросов, которые, я надеюсь, не слишком сложны.

  1. Как люди получают 3d-модели из своего любимого инструмента 3d-моделирования в приложении для iPhone / iPad? Я видел пару постов в блоге, где люди написали несколько сценариев Python для таких инструментов, как Blender, которые создают файлы .h, которые вы можете использовать. Это то, что люди делают каждый раз? Или "большие" наборы инструментов (3DS, Maya и т. Д.) Имеют функции экспорта?

  2. Скажем, у меня есть моя модель в хорошем файле .h, все вершины, точки текстуры и т. Д. Выстроены в линию, как заставить мою модель (скажем, обычного человека) ходить? Или, если быть более общим, как вы анимируете «часть» модели (только ноги, поворот головы и т. Д.)? Нужно ли им быть массовым смешением множества разных крошечных моделей, или вы можете предварительно запекать анимацию в наши дни "в" модели (каким-то образом)

  3. Действительно отличные 3D-игры для iPhone (я уверен) невероятно сложны, но как люди (фирмы, занимающиеся разработкой игр), кажется, управляют этим рабочим процессом дизайнера / разработчика? Конечно, не все анимации, текстуры и т. Д. Выполняются программно.

Я надеюсь, что это не глупые вопросы, и на самом деле мое приложение, которое я пытаюсь исследовать, как сделать, действительно довольно простое, просто базовая 3D-модель, которую я хочу иметь возможность перемещаться / наклоняться с помощью касания. Кто-нибудь когда-нибудь делал / видел что-то подобное, о чем я мог бы прочитать?

Спасибо за любую помощь, которую вы можете оказать, я ценю все типы ответов, большие или малые :) 10 *

Ура, Mark

Ответы [ 3 ]

2 голосов
/ 09 мая 2010
  1. , когда многие начинают удивляться, когда начинают разработку OpenGL, для моделей не существует такого понятия, как «формат файла OpenGL», не говоря уже о анимированных.(Например, DirectX поставляется с форматом файла .x, который поддерживается сразу).Это потому, что OpenGL действует несколько на более низком уровне.Конечно, как упомянул tm1rbrt, существует множество доступных библиотек.Вы можете легко создать свой собственный формат файла, если вам нужна только геометрия.Все становится более сложным, если вы хотите принять во внимание также анимацию и затенение.Взгляните на Collada для такого рода вещей.

  2. еще раз, анимация может быть выполнена несколькими способами.Персонажи часто анимируются с помощью скелетной анимации.Взгляните на библиотеку cal3d в качестве отправной точки для этого.

  3. вы определенно хотите потратить некоторое время на создание хорошего конвейера для создания вашего контента.Художник должен иметь набор инструментов для создания своих моделей и анимации и для тестирования их в игровом движке.Исполнитель также должен быть проинструктирован об ограничениях двигателя, как с точки зрения полигонов, так и с точки зрения затенения.Иногда сложные пользовательские редакторы кодируются для создания уровней, миров и т. Д. Таким образом, чтобы это соответствовало вашим конкретным потребностям.

2 голосов
/ 02 июня 2010

Попытка объяснить, почему ответ на этот вопрос всегда будет расплывчатым.

OpenGLES - очень низкий уровень. Все дело в том, чтобы выдвигать треугольники на экран и заполнять пиксели, и больше ничего.

Для создания игры, как вы уже поняли, нужно много кода для управления активами, загрузки объектов и миров, управления анимацией, текстурами, звуком, возможно сетью, физикой и т. Д.

Этими частями является «движок игры».

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

Рабочий процесс и используемые инструменты сильно варьируются от крупных фирм со строгими ролями и большими бюджетами до небольших инди-команд из пары парней и девушек, которые делают все, что нужно для игры: -)

Для любителей и инди-разработчиков есть несколько дешевых и открытых движков, которые можно использовать с разной степенью зрелости и количеством документации / поддержки. То же самое, вы должны осмотреться, пока не найдете тот, который вам нравится.

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

1 голос
/ 05 мая 2010
  1. Написать или использовать библиотеку загрузки моделей. Или используйте существующую графическую библиотеку; в нем уже есть подпрограммы для загрузки моделей / текстур.

  2. Анимация моделей выполняется с использованием костей в редакторе 3d-моделей. Графическая библиотека позаботится о перемещении вершин и т.д. для вас.

  3. Нет, художники создают искусство, а программисты создают движки.

Это ссылка на мой любимый графический движок.

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...