Хотите отобразить 3D-модель на iPhone: как начать работу?


Я хочу отобразить и повернуть одну 3D-модель, предпочтительно текстурированную, на iPhone. Не нужно увеличивать и уменьшать масштаб, или фон, или что-нибудь.

У меня есть следующие:

  • iPhone
  • MacBook
  • iPhone SDK
  • блендер

моя база знаний:

  • Я могу делать 3D-модели в различных 3D-программах (мне больше всего нравится 3D Studio Max, который я когда-то взял конечно, но я использовал другие)
  • общие знания процедурного программирования от лет назад (QuickBasic-я старый!)
  • знание новичком объектно-ориентированного программирования от прохождения простых Java и C# учебников (Head Start C# book и введение моей жены в курс ООП, который использовал Java)
  • мне удалось отобразить 3D-текстурированную модель и раскрутить ее с помощью учебника на C# я вышел из сети (я не просто копировал и вставлял, я понимаю в основном, как это работает) и библиотека разработки игр XNA, используя Visual Studio на Windows.

чего я не знаю:

  • много о цели C
  • что-нибудь об OpenGL или OpenGL ES, которые iPhone, по-видимому, использует
  • что - нибудь о XCode

моя главная проблема заключается в том, что я не знаю с чего начать! Все книги для iPhone, которые я нашел, похоже, касаются создания графических приложений, а не приложений OpenGL. Я нашел книгу OpenGL, но я этого не делаю знайте, как много, если таковые имеются, относится к разработке iPhone. И я нахожу синтаксис Objective C несколько запутанным, со странным вложенным именованием методов, такими вещами, как "id", которые не имеют смысла, и страшной мыслью, что мне нужно вручную управлять памятью.

с чего лучше всего начать? Я не мог найти никаких учебников для такого рода вещей, но, возможно, мой Google-Fu слаб. Или, может быть, я должен начать с изучения цели C? Я знаю о таких книгах, как Аарон Хиллграсс, но я также читал что они устарели, и большая часть кода примера не работает на iPhone SDK, плюс он, похоже, ориентирован на парадигму Model-View-Controller, которая, похоже, не подходит для 3D-приложений.

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

8 54

8 ответов:

вы, вероятно, должны начать с некоторых более простых приложений для iphone/учебников, просто чтобы получить опору на obj-c и xcode и т. д.

для этого я рекомендую книгу iPhone прагматичного программиста, в которой достаточно информации для начала работы (я начал без знания xcode, obj-c, iphone или mac и довольно быстро добрался до рабочего приложения, используя в основном это). Однако я должен добавить, что я исхожу из довольно хорошего фона в C/C++ и Java.

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

еще раз, если я могу подключить свою собственную работу, у меня написал пост о том, что я узнал из разработки приложения OpenGL ES на iPhone. Это приложение,молекулы (упоминается frankodwyer), является открытым исходным кодом, и у меня есть рецензия по некоторым другим сложным вопросам, с которыми я столкнулся при его разработке. Приложение генерирует трехмерные модели и позволяет вращать и масштабировать их пальцами, что звучит близко к вашим потребностям. Вы можно загрузить код, скомпилировать его и запустить на рабочем столе в течение нескольких минут. Если вы присоединитесь к программе разработчика iPhone, вы можете установить ее на свое устройство.

когда дело доходит до объекта, погрузку, Билл Дадно на Wavefront OBJ loader для iPhone это может быть в состоянии принять в вашем Blender файлы, если они будут экспортироваться в этом формате. Я еще не сделал много текстурной работы на iPhone, но похоже, что его пример имеет это работает сейчас.

в целом, я считаю, что обучение на примере и путем перехода к разработке некоторых небольших целевых приложений (которые вы никогда не можете выпустить) - это то, что работает для меня. Попробуйте настроить примеры, перечисленные выше, и посмотреть, что произойдет. Вы должны быть в состоянии прочитать код Objective-C в этих примерах и начать чувствовать, что они делают.

несмотря на то, что книга Хиллегасса (третье издание только что вышло и обновлено) фокусируется на Mac, основы какао, которые он преподает, по-прежнему актуальны для iPhone. Шаблон дизайна MVC служит вам так же хорошо на iPhone, как и на Mac. Я действительно отклонился от этой модели в нескольких местах внутри молекул, и я сожалею об этом решении, потому что эти разделы приложения стали беспорядком. Книга легко читается и хорошо стоит вашего времени.

это древняя нить, и я ужасно опаздываю. Но все же я собираюсь разместить свои 2 пенса здесь.

Предварительный Просмотр

прежде чем я доберусь до зверя, это моя установка.

Я использую

  1. блендер для создания 3D моделей. (Вы можете использовать Maya или 3D Max, I расскажу как экспортировать модель для блендера, то же самое работает и для 3D Max и Maya).
  2. Cocos3D игра двигатель.
  3. PVRGeoPOD blender extension от технологии воображения к преобразуйте модель блендера в формат, понятный Cocos3D. Вы можете видеть что ссылка скачивает установочный файл, который по очереди скачивает весь SDK. Я не вижу простого способа загрузить блендер только расширение.

Так что если вы не намереваясь использовать Cocos3D вы можете пропустить этот ответ и беги деньги.

Основная Настройка

  1. установитьблендер.

    Я не собираюсь смущать тебя в детали.

  2. скачатьCocos3D..

    когда я набираю это, текущая версия 0.7.2.

  3. скачать Cocos2d отличается.

    Cocos3D написан поверх популярной Cocos2D, популярной 2D игры рамки. Важно подумать, чтобы отметить вот что, Cocos2D 2.X версии есть уже там и стабильные. Но Cocos3D работает с Cocos2d 1.икс только версия.

    когда вы разархивируете загруженный Источник, вы найдете файл README внутри и это конкретно говорит,

    ОБРАТИТЕ ВНИМАНИЕ, ЧТО cocos3d 0.7.2 не совместим с cocos2d 2.x. БЫТЬ КОНЕЧНО, ЧТОБЫ скачать cocos2d 1.x для использования с cocos3d.(акцент мой)

    файл README четко указывает процедуру установки. После установка, вы получите хороший шаблон проекта Cocos3D в XCode.

  4. добавить расширение PVRGeoPOD в Blender.

    это требует некоторых объяснений. При запуске PVRGeoPOD установщик, экран показывает, что и какие функции нужно быть установленный. Я только выбрал

    • PVRGeoPOD - для преобразования моих моделей в мои .смесь файла .POD формат, который Cocos3D понимает

    • PVRShaman - вы можете просмотреть модель внутри .Стручок с помощью этого инструмента.

    enter image description here

    Вы можете установить и другие программы в списке, но я использовал только эти два.

    теперь после процесса установки (который может занять некоторое время время), вы нужно добавить Pvrgeopod аддон в блендер. Вы можете найти PVRGeoPOD.UserManual.PDF файл в только что установленной папке, которая также содержит информацию ниже.

    • найти папку дополнения Blender, вы можете открыть консоль blender python и запустить команду bpy.utils.script_paths("addons") посмотреть путь к этой папке.
    • найдите файлы надстройки blender в папке PVRGeoPOD в пути установки. Когда вы видите файлы как libPVRGeoPOD.dylib нужна и PVRGeoPODScript.py и 2 QTfiles, остановитесь там, так как это место. Скопируйте эти 4 файла и вставьте их блендер добавить на папку.
    • теперь откройте блендер, выберите настройки найти Add-On вкладка, поиск и найти расширение PVRGeoPOD и включить его, нажав кнопку флажок справа.
    • теперь закройте и перезапустите blender, если это необходимо, и выберите file - > export and see если есть опция под названием PVRGeoPOD(.стручок./ч./cpp), если да, то вы успешны.

    теперь вы можете создавать модели в blender и экспортировать их модели как .POD файлы, которые Cocos3D понимает.

    Если вы используете другие инструменты 3D-проектирования, такие как Maya, 3D Max, это К ним также можно добавить расширение PVRGeoPOD. Просто смотрите PDF I упомянутый выше.

использование в проекте

  1. шаг за пошаговая процедура приведена ниже.

    создайте свою модель в blender (.blend) и экспортировать его как .Стручковый файл. При экспорте я обычно выбираю следующие параметры

    • Примитивный Тип-Индексированный Список Треугольников
    • вкладка материал-Проверьте опцию экспорт материала

    и остальные я оставил его по умолчанию.

  2. создайте новый проект в XCode, выберите шаблон Cocos3D.
  3. добавить .POD файлы для вашего проекта. Если ваша текстурированная модель, добавьте это текстуры для вашего проекта.
  4. сам проект шаблона содержит файл HelloWorld.Под, вы может заменить эту линию на вашу .POD файл, так что ваша модель будет видимый.

    [self addContentFromPODFile: @"YourPODFileName.pod"];
    

теперь у вас есть первая 3D-модель, видимая в устройстве iOS.

промоушен

Я сделал небольшой ac3d по рендерер для iPhone. ссылке>>

Не стесняйтесь попробовать его, доступна демонстрационная библиотека для симулятора iPhone. Обратите внимание, что производительность OpenGLES на iPhone не такая же, как в симуляторе.

Он использует этап оптимизации и построить tristrips и строит окончательные vertexarrays, чтобы иметь возможность работать на iPhone.

посмотреть краткое руководство как использовать

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

http://38leinad.wordpress.com/2011/10/19/practical-blender-with-glkit-part-1-introducing-glkit/

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

Я немного поиграл с разработкой iPhone и купил начало разработки iPhone Дэйвом Марком и Джеффом Ламаршем (ISBN13: 978-1-4302-1626-1) и наслаждаюсь работой над главами. У меня есть фон Win32 Delphi с небольшим количеством .NET, и поэтому Objective C очень новый для меня.

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

в начальных главах объясняется, как именно начать работу с хорошим введением в Xcode и InterfaceBuilder.

для всего, что на iOS 8 или более поздней версии, ответ SceneKit. SceneKit будет отображать файлы Collada (DAE). Любой приличный пакет моделирования (например, Cheetah, Blender) должен экспортировать файл DAE - это документированный портативный формат в XML (хотя xCode компилирует их в двоичный формат для экономии места).

2 хороших 3D SDK для iphone:

SiO2 Interactive и улун.

sio2interactive имеет большое видео и src учебники на своем сайте. Это поможет с blender и Model export and render-дает вам право на разработку игр. Src все в c для sio2 и код прокомментирован очень хорошо. Это отличное место, чтобы начать изучать 3d и opengles. Блендер для экспорта sio2 - это WYSIWYG.

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