Pour obtenir certains modèles existants de travailler avec, voici ce que j'ai fait...juste les bases que je connais.
- Je suis allé à Turbosquid et trouvé un modèle 3D qui fonctionne pour moi.
- Assurez-vous qu'il a les fichiers OBJ. Acheter et télécharger.
- Téléchargez Blender. Importez le fichier OBJ vous venez d'acheter.
- Exportation d'un fichier DAE.
- Faites glisser le DAE fichiers et des textures (png) dans le .scnassets dossier de votre projet.
- Cliquez sur le DAE dans le modèle .scnassets dossier. Cliquez pour sélectionner l'objet dans le graphe de Scène.
- Cliquez sur le globe en haut à droite.
- J'ai cliqué Diffuse et sélectionné l'un des Png, j'ai traîné dans l'appliquer au modèle
Vous pouvez également passer la moulinette de conversion et d'utiliser l'une des gratuit en ligne OBJ à DAE outils de conversion. Une recherche sur Google. Et essayer d'acheter un pas cher $5 gamme modèle sur Turbosquid qui a juste un fichier OBJ et pas beaucoup d'autres parties du morceau. Ils sont trop gros et créer d'autres problèmes comme un démarreur approche de toute façon.
Mise à jour Après la projection d'un Apple WWDC présentation sur le Modèle IO dans Xcode, je vois maintenant que vous pourriez tomber dans un fichier OBJ dans votre .scnassets dossier. Sélectionnez ce fichier, passez à l'Éditeur et sélectionnez Convertir en fichier SCN. Cela devrait fonctionner aussi, mais je n'ai pas essayé. La peine d'essayer avec une copie de votre fichier OBJ.
Mise À Jour Décembre 2018:
Je travaille plus avec des fichiers 3D. Voici certaines améliorations de l'aide sur ce problème.
Essayez d'utiliser MeshLab pour importer votre modèle 3D et de les convertir en un .DAE fichier. Faites glisser le .DAE fichier dans un dossier dans Xcode. C'est ce que vous allez utiliser pour l'afficher dans votre application.
- http://www.meshlab.net/
Si votre source modèle 3D est une .Fichier OBJ, il y a deux fichiers qui doivent être dans le même dossier que le .Fichier OBJ. Ceux-ci sont un *.fichier mtl et un *.jpg ou *.Fichier BMP. L' .mtl fichier peut être ouvert avec TextEdit.
Ouvrir et assurez-vous qu'il a une ligne qui dit: map_Kd *.jpg. L' .jpg est l'image de la texture de l'enveloppe autour de la maille 3D fichier. J'ai trouvé qu'il est préférable de vous assurer que votre fichier de texture est en .format jpg. Si elle n'est pas, la changer .format jpg (dans l'Aperçu, par exemple, par un réenregistrement en fichier jpeg), puis de modifier les .fichier mtl pour le nouveau .jpg nom de fichier.
J'ai eu quelques fichiers de textures qui ont été .bmp, et j'ai juste converti .jpg, édité le .fichier mtl et j'ai été bon.
Le second est le nom du nœud dans l' .fichier obj. L' .obj fichier peut également être ouvert avec TextEdit. L' .fichier obj doit faire référence à l' .mtl fichier dans le même dossier. Si pas, vous avez un problème.
Et voici la partie la plus délicate. Lorsque vous ajoutez un childNode à la rootNode dans un SceneKit scène, vous devez remplir la "avec name:" texte nom. Ouvrez le converti .DAE fichier que vous avez fait de votre .obj + .jpg + .mtl (tous les trois sont utilisés lors de l'importation dans MeshLab mais après l'exportation d' .DAE, il est seulement le .DAE fichier), et de la recherche pour "node id =" . Il pourrait dire: "node id="node". Si donc, le mot "nœud" est le nom de la childNode vous entrez votre nom de texte dans les "avec name:" propriété de la scène.rootNode.childNode(avec name: "nœud", de manière récursive: true) appel.
Vous pouvez modifier votre nom de nœud de l'ID de nœud si elle n'est pas déjà fait.
Espérons que cette aide. De nombreuses heures de travail et l'aide des autres pour comprendre cette prochaine phase de travail avec des modèles 3D.