52 votes

Vous voulez afficher un modèle 3D sur l'iPhone: comment commencer?

Je veux afficher et faire tourner un seul modèle 3D, de préférence texturé, sur l'iPhone. Ne pas avoir à zoomer, ou ont un arrière-plan ou quoi que ce soit.

J'ai le texte suivant:

  • un iPhone
  • un MacBook
  • le SDK de l'iPhone
  • Blender

Ma base de connaissances:

  • Je peux faire des modèles 3D dans divers programmes 3D (je suis plus à l'aise avec 3D Studio Max, qui une fois, j'ai pris un cours, mais j'ai utilisé d'autres)
  • Connaissance générale de la programmation procédurale à partir des années (QuickBasic - je suis vieux!)
  • Du débutant connaissance de la programmation orientée objet de passer par simple Java et C# tutoriels (Head Start C# livre et de ma femme, introduction à la programmation orientée objet cours que l'utilisation de Java)
  • J'ai réussi à afficher une image 3D texturé modèle et la faire tourner à l'aide d'un tutoriel en C# je suis sur le net (je n'ai pas juste un copier-coller, je comprends en gros comment ça fonctionne) et le XNA game développement de la bibliothèque, à l'aide de Visual Studio sur Windows.

Ce que je ne sais pas:

  • Bien sur Objective-C
  • Rien sur OpenGL et OpenGL ES, l'iPhone utilise apparemment
  • Rien sur XCode

Mon principal problème est que je ne sais pas par où commencer! Tous les iPhone livres que j'ai trouvés semblent être sur la création d'applications graphiques, pas d'apps OpenGL. J'ai trouvé un OpenGL livre mais je ne sais pas combien, le cas échéant, s'applique à l'iPhone de développement. Et je trouve que l'Objectif de la syntaxe C un peu confus, avec l'étrange imbriquée méthode de nommage, des choses comme "id" qui n'ont pas de sens, et la pensée effrayante que j'ai à faire, manuel de gestion de la mémoire.

Où est le meilleur endroit pour commencer? Je ne pouvais pas trouver toutes les tutoriels pour ce genre de chose, mais peut-être que mon Google-Fu est faible. Ou peut-être que je devrais commencer par apprendre Objective-C? Je sais que des livres comme Aaron Hillgrass", mais j'ai lu aussi qu'ils sont obsolètes et une grande partie de l'exemple de code ne fonctionne pas sur le SDK de l'iPhone, en plus il semble orienté vers le Modèle-Vue-Contrôleur de paradigme qui ne semble pas adapté pour les applications 3D.

Fondamentalement, je suis confus au sujet de ce que mes premières étapes devraient être.

39voto

Brad Larson Points 122629

Encore une fois, si je peut brancher mon propre travail, j'ai écrit un post sur les choses que j'ai apprises à partir de l'élaboration d'un OpenGL ES application sur l'iPhone. La demande, de Molécules (visés par les frankodwyer), est open source et j'ai un writeup sur certaines autres questions épineuses, j'ai couru dans tout son développement. L'application génère des modèles 3-D et vous permet de faire pivoter et mettre à l'échelle avec les doigts, ce qui semble proche de vos besoins. Vous pouvez télécharger le code, le compiler et l'exécuter sur votre ordinateur de bureau dans une affaire de quelques minutes. Si vous vous joignez à l'iPhone Developer Program, vous pouvez l'installer sur votre appareil.

Quand il s'agit de l'objet le chargement, le projet de Loi Dudney est de travailler sur un Wavefront OBJ chargeur pour l'iPhone qui pourrait être en mesure de prendre dans votre Blender fichiers, doivent-ils être exportable dans ce format. Je n'ai pas fait beaucoup de texture de travail sur l'iPhone encore, mais il semble que son exemple a que le travail maintenant.

Dans l'ensemble, je trouve que l'apprentissage par l'exemple et en sautant dans le développement de certains petits, applications ciblées (que vous pouvez ne jamais relâcher) sont ce qui fonctionne pour moi. Essayez de modifier les exemples mentionnés ci-dessus et voir ce qui se passe. Vous devriez être capable de lire le code Objective-C dans ces exemples et de commencer à avoir une idée de ce qu'ils font.

Même si Hillegass du livre (la troisième édition vient de sortir et est à jour) met l'accent sur le Mac, le Cacao, il enseigne les fondamentaux sont toujours d'actualité pour l'iPhone. Le modèle de conception MVC vous sert aussi bien sur l'iPhone que le Mac. J'ai effectivement dévié de ce modèle dans quelques endroits à l'intérieur des Molécules, et je regrette cette décision parce que les sections de la demande est devenu un gâchis. Le livre est facile à lire et bien utile de votre temps.

8voto

frankodwyer Points 9422

Vous devriez probablement commencer avec quelques simples applications iphone/tutoriels, juste pour obtenir votre pied sur l'obj-c et xcode etc.

Pour cela, je vous recommande la pragmatique du programmeur iphone livre, qui a suffisamment d'informations pour commencer (j'ai commencé avec aucune connaissance de xcode, l'obj-c, iphone ou mac et a obtenu un travail d'application assez rapide, en utilisant principalement). Cependant, je dois ajouter que je viens d'assez bonnes connaissances en C/C++ et Java.

Pour votre projet particulier, peut-être jeter un oeil à cette réponse, qui se réfère à un open source 3D application que vous pouvez regarder et obtenir des conseils de.

8voto

Krishnabhadra Points 18384

C'est un ancien thread et je suis terriblement en retard. Mais encore, je vais poster mes 2 pence ici.

Un Aperçu En Avant-Première

Avant de me lancer dans de la bête, c'est mon installation.

J'utilise

  1. Blender pour créer des modèles 3D. (Vous pouvez utiliser Maya ou 3D Max, je va vous dire comment faire pour exporter le modèle de Blender, mêmes travaux pour la 3D Max et Maya).
  2. Cocos3D moteur de jeu.
  3. PVRGeoPOD blender extension de l'Imagination de la Technologie de convertir blender modèle de format Cocos3D comprendre. Vous pouvez voir que le lien de téléchargements d'un fichier d'installation qui tourne dans les téléchargements l'ensemble du kit de développement SDK. Je ne peux pas voir un moyen facile de télécharger le blender la seule vulgarisation.

Donc, si vous êtes pas l'intention d'utiliser Cocos3D, vous pouvez ignorer cette réponse et courir pour votre argent.

Configuration Initiale

  1. Installer blender.

    Je ne vais pas vous embarrasser en allant dans les détails.

  2. Télécharger Cocos3D..

    Lorsque je tape ces lignes, la version actuelle est la 0.7.2.

  3. Télécharger Cocos2D.

    Cocos3D est écrit sur le haut de populaire Cocos2D, un populaire jeu en 2D cadre. Important pensez à noter ici est que, Cocos2D 2.x version est déjà là et stable. Mais Cocos3D fonctionne avec Cocos2d 1.x version seulement.

    Lorsque vous décompressez la source que vous avez téléchargé, vous trouverez un fichier README à l'intérieur, et plus particulièrement, elle a dit,

    VEUILLEZ NOTER QUE cocos3d 0.7.2 n'EST PAS COMPATIBLE AVEC cocos2d 2.x. ÊTRE ASSUREZ-vous DE TÉLÉCHARGER cocos2d 1.x POUR une UTILISATION AVEC cocos3d.(l'emphase est mienne)

    Le fichier README indique clairement la procédure d'installation. Après de l'installation, vous obtiendrez une belle Cocos3D modèle de projet dans XCode.

  4. Ajouter PVRGeoPOD extension de Blender.

    Cela nécessite quelques explications. Lorsque vous exécutez le PVRGeoPOD programme d'installation, un écran montre ce qu'est et ce que sont les caractéristiques besoin d'être installé. J'ai sélectionné uniquement

    • PVRGeoPOD - Pour convertir mes modèles dans mon .fichier blend .Format POD qui Cocos3D comprend

    • PVRShaman - vous pouvez voir le modèle à l'intérieur .POD à l'aide de cet outil.

    enter image description here

    Vous pouvez installer d'autres outils dans la liste, mais je ne l'ai utilisé ces deux.

    Maintenant, après le processus d'installation (ce qui peut prendre un certain temps), vous besoin d'ajouter de la PVRGeoPOD AddOn pour blender. Vous pouvez trouver l' PVRGeoPOD.Guide d'utilisation.PDF fichier dans le juste installé dossier, qui contient aussi de l'information ci-dessous.

    • Trouver Blender dossier Add-on, vous pouvez ouvrir blender python console et exécuter la commande bpy.utils.script_paths("addons") voir la chemin d'accès à ce dossier.
    • Trouver le blender ajouter des fichiers à l'intérieur de la PVRGeoPOD dossier, dans le chemin de votre installation. Quand vous voyez des fichiers comme libPVRGeoPOD.dylib et PVRGeoPODScript.py et 2 QTfiles, s'arrêter là, car c'est l'emplacement. Copier les 4 fichiers et les coller dans blender ajouter sur le dossier.
    • Maintenant, ouvrez blender, choisissez Préférences, trouver des Add-on de l'onglet, de recherche et de trouver PVRGeoPOD extension et l'activer en cliquant sur le case à cocher sur la droite.
    • Maintenant, Quittez et redémarrez blender, si nécessaire, puis sélectionnez fichier->exporter, puis voir si il ya une option appelée PVRGeoPOD(.pod/.h/.cpp), si oui,vous avez réussi.

    Maintenant, vous pouvez créer des modèles de blender, et l'exportation de ces des modèles comme .Fichiers POD qui Cocos3D comprend.

    Si vous utilisez d'autres en 3D de la conception d'outils comme Maya, 3D Max, ce PVRGeoPOD extension peut être ajouté à eux aussi. Il suffit de voir les PDF que j'ai mentionnés ci-dessus.

L'aide au projet

  1. Étape par étape de la procédure est donnée ci-dessous.

    Créer votre modèle dans blender.blend) et de l'exporter .Fichier POD. Lorsque vous exportez j'ai l'habitude de sélectionner les options suivantes

    • Type Primitif, Indexé Triangle Liste
    • Matériel onglet - Case Exporter des Matériels Option

    et le reste je l'ai laissé par défaut.

  2. Créer un nouveau projet dans XCode, choisissez Cocos3D modèle.
  3. Ajouter la .POD fichiers à votre projet. Si vous avez un modèle avec une texture, ajouter que la texture de votre projet.
  4. Le modèle de projet lui-même contient un HelloWorld.POD fichier, vous peut remplacer cette ligne avec votre .Fichier POD, de sorte que votre modèle sera visible.

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

Maintenant que vous avez votre premier modèle 3D visible dans l'appareil iOS.

6voto

epatel Points 32451

Shameless plug

J'ai fait une petite AC3D moteur de rendu pour l'iPhone. Lien>>

N'hésitez pas à essayer, une démo lib pour le simulateur d'iPhone est disponible. Veuillez noter que le OpenGLES performance sur l'iPhone n'est pas le même que dans le Simulateur.

Il utilise une optimisation de la scène et de construire tristrips et construit en finale vertexarrays pour être capable de fonctionner sur l'iPhone.

Regarder un démarrage rapide de la façon de l'utiliser

2voto

Lesswire Points 157

Ce post est assez ancien et je pense qu'il existe maintenant une meilleure ressource pour faire ce que vous voulez. Je suis aussi tout à fait un débutant, mais après avoir fait quelques recherches, j'ai trouvé ce linke les plus utiles:

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

Elle expliquer glkit ce qui devrait rendre plus facile à manipuler OpenGL, et il comprend aussi un joli tutoriel comment interagir avec Blender.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X