web-dev-qa-db-fra.com

Comment créer des fichiers .scn réalistes?

En examinant l'exemple d'application Apple d'AR, il y a de nombreux objets d'aspect réaliste (une tasse, une bougie, etc.). Toutefois, si vous utilisez l'éditeur de kit de scène sur Xcode, il est clair que cela vous permet uniquement de créer des objets de base. 

Ma question est, quel logiciel/fichier peut être utilisé pour créer des objets scn réalistes? Je suis sûr qu’il existe un logiciel qui vous permet de créer des modèles 3D et de les convertir en fichiers scn. Je ne sais tout simplement pas quel logiciel utiliser ou quels fichiers peuvent être convertis en scn

Remarque: Je comprends que cette question est peut-être trop vague/trop large pour les instructions de Stackoverflow. Je ne sais tout simplement pas où poser ma question et cela semble être le meilleur endroit

28
14wml

Pour utiliser certains modèles existants, voici ce que j’ai fait… Juste les bases que je connais. 

  1. Je suis allé sur Turbosquid et j'ai trouvé un modèle 3D qui fonctionnerait pour moi. 
  2. Assurez-vous qu'il a les fichiers OBJ. Acheter et télécharger.
  3. Téléchargement suivant Blender . Importez le fichier OBJ que vous venez d'acheter.
  4. Exporter un fichier DAE.
  5. Faites glisser les fichiers DAE et les textures (fichiers png) dans le dossier .scnassets de votre projet. 
  6. Cliquez sur le modèle DAE dans le dossier .scnassets. Cliquez pour sélectionner l'objet dans le graphique de scène.
  7. Cliquez sur le globe en haut à droite. 
  8. J'ai cliqué sur Diffuser et sélectionné l'un des PNG que j'ai fait glisser pour l'appliquer au modèle.

Vous pouvez également ignorer la conversion de Blender et utiliser simplement l’un des outils de conversion en ligne gratuits OBJ en DAE. Recherche le sur Google. Et essayez d’acheter sur Turbosquid un modèle de gamme à 5 $ bon marché qui ne contient qu’un fichier OBJ et pas beaucoup d’autres pièces. Ils sont trop gros et créent de toute façon d’autres problèmes en tant que point de départ.

Update Après avoir visionné une présentation WWDC Apple sur le modèle IO dans Xcode, je vois maintenant que vous pouvez déposer un fichier OBJ dans votre dossier .scnassets. Sélectionnez ce fichier, allez dans 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 davantage avec des fichiers 3D. Voici une aide supplémentaire sur cette question.

Essayez d’utiliser MeshLab pour importer votre modèle 3D et le convertir en fichier .DAE. Faites glisser le fichier .DAE dans un dossier de Xcode. C'est ce que vous allez utiliser pour afficher dans votre application. 

  1. http://www.meshlab.net/

Si votre modèle 3D source est un fichier .OBJ, deux fichiers associés doivent figurer dans le même dossier que le fichier .OBJ. Il s'agit d'un fichier * .mtl et d'un fichier * .jpg ou * .BMP. Le fichier .mtl peut être ouvert avec TextEdit. 

Ouvrez-le et assurez-vous qu’il a une ligne qui dit: map_Kd * .jpg. Le .jpg est l'image de texture entourant le fichier de maillage 3D. J'ai trouvé qu'il est préférable de s'assurer que votre fichier de texture est au format .jpg. Si ce n'est pas le cas, changez-le au format .jpg (dans Aperçu par exemple en le réenregistrant au format jpeg), puis modifiez le fichier .mtl du nouveau nom de fichier .jpg.

J'ai eu quelques fichiers de texture qui étaient. Bmp et je viens de convertir. Jpg, édité le fichier. Mtl et j'étais bon.

Le deuxième problème est le nom du nœud dans le fichier .obj. Le fichier .obj peut également être ouvert avec TextEdit. Le fichier .obj doit référencer le fichier .mtl dans le même dossier. Sinon, vous avez un problème. 

Et voici la partie la plus délicate. Lorsque vous ajoutez un childNode au rootNode dans une scène SceneKit, vous devez renseigner le nom de texte "withName:". Ouvrez le fichier .DAE converti que vous avez créé à partir de votre .obj + .jpg + .mtl (les trois sont utilisés lors de l'importation dans MeshLab, mais après avoir exporté au format .DAE, il ne reste que le fichier .DAE), puis recherchez "noeud id = ". Cela pourrait dire: "node id =" node ". Si tel est le cas, le mot" node "est le nom du childNode que vous entrez pour votre nom de texte dans la propriété" withName: "de la scene.rootNode.childNode (withName:" node ", récursivement: true) appel. 

Vous pouvez modifier votre ID de nom de nœud en nœud s'il ne l'est pas déjà.

J'espère que cela t'aides. Nombreuses heures de travail et aide des autres pour comprendre cette prochaine étape de travail avec des modèles 3D. 

17
D. Rothschild

L'éditeur SceneKit de Xcode n'est pas un package de création artistique 3D - tout comme son éditeur SpriteKit et ses composants Interface Builder ne sont pas équivalents à Photoshop, Illustrator, Pixelmator, Affinity Designer, etc. Pour créer vous-même des ressources d'art 3D, besoin d'apprendre Blender, Maya, 3DS Max ou l'un des autres principaux outils de création 3D. Attention, la courbe d'apprentissage pour devenir un artiste 3D est un peu plus raide que d'apprendre à peindre en 2D. 

L’éditeur SceneKit for récupère le résultat d’un artiste 3D et le prépare ou le combine pour l’utiliser dans une application ou un jeu basé sur SceneKit - en peaufinant les définitions de matériau de manière à ce que leur rendu corresponde au rendu de SceneKit, un niveau de jeu ou une autre scène, en ajoutant des fonctionnalités dynamiques spécifiques à SceneKit telles que les effets de particules et la physique, etc. 

Vous établissez un pont entre ces deux mondes en exportant des éléments de vos outils d’art 3D dans l’un des formats que SceneKit peut importer. L’échange d’actifs numérique (.dae) est l’une des meilleures options ici, mais vous pouvez également importer d’autres formats tels que OBJ ou Pixar USD par le biais de l’équivalent inférieur de SceneKit, Model I/O

Lorsque vous ouvrez ceux-ci dans Xcode, vous obtenez l'éditeur SceneKit. Vous pouvez ainsi commencer à marquer les modifications spécifiques à SceneKit et enregistrer les résultats à utiliser dans votre application sous forme de fichiers .scn.


Lors de la création et de la préparation des ressources 3D, vous pouvez effectuer certaines opérations qui les rendent plus réalistes dans ARKit. La session ARKit de WWDC (et le fichier Lisez-moi de l’exemple de projet de code joint à cette session) contient quelques astuces:

  • utiliser des matériaux à base physique
  • "cuire" l'occlusion ambiante et autres effets d'éclairage statiques
    • ajouter des plans d'ombres invisibles
14
rickster

Vous pouvez créer vos modèles 3D réalistes au format .DAE, pris en charge par de nombreux outils. Ensuite, dans Xcode, vous pouvez convertir ce fichier .DAE au format .SCN. Pour la conversion, cochez cette

Comment convertir un fichier .DAE en fichier .SCN

4
Kamran

La meilleure façon de créer des modèles 3D réalistes consiste à utiliser l'un des progiciels suivants:

Autodesk Maya, Autodesk 3DS Max, Maxon Cinema 4D, The Foundry Modo ou Blender.

Ces outils de création 3D vous permettent de créer une géométrie polygonale et NURBS. Mais tout objet 3D réaliste nécessite non seulement une forme idéale, mais également une texture parfaite. Ainsi, chaque paquet susmentionné contient son propre éditeur de texture UV vous permettant de visualiser, de placer et d’éditer de manière interactive les textures des objets. Dans l'éditeur de texture UV, vous pouvez sélectionner, déplacer, mettre à l'échelle et, d'une manière générale, modifier la topologie UV d'une surface de la même manière que vous utilisez d'autres outils de modélisation. Vous pouvez également afficher l'image associée à la texture assignée en tant que toile de fond dans un tel éditeur de texture UV et modifier la disposition UV afin qu'elle corresponde au besoin.

Le shader, ce qui appartient à la surface 3D de votre objet, peut contenir de nombreuses textures différentes (généralement dans jpeg, png ou tiff). Ces textures sont les suivantes: couleur diffuse, transparence, rugosité, relief, aspect métallique, réflectivité, réfringence, spécularité, translucidité, etc. Ces textures donnent à un objet 3D une apparence réaliste. Regardez l'image ci-dessous, il y a 28 passes de rendu, certaines d'entre elles peuvent être des textures dans des fentes de matériau d'ombrage:

 enter image description here

Ici vous pouvez trouver Cours de modelage Maya par Pluralsight.

Ici vous pouvez trouver Cours d’ombrage et de texturation Maya

Personnellement, je préfère Autodesk Maya. Il possède un système modulaire pour les plug-ins et une variété de formats 2D et 3D d'entrée et de sortie. Voici un exemple impressionnant de voiture virtuelle 3D dans un environnement réel: 

 enter image description here

Lorsque votre modèle 3D et vos textures sont prêts pour l'exportation, vous devez enregistrer le fichier .DAE dans Maya.

Dans Xcode, créez simplement le nouveau fichier .SCN dans le dossier .scnassets, puis faites glisser ce fichier .DAE dans la scène.

Ou vous pouvez utiliser dans iOS 12 dans le nouveau format de fichier .USDZ de Xcode 10 de Pixar. Glissez-le simplement dans votre scène.

0
ARGeo