2017-09-12 1 views
-1

J'essaie l'exemple d'application java_arcore_hello_ar mais en remplaçant le andy.obj par mon propre modèle créé dans Blender. J'ai exporté l'objet blender en utilisant les paramètres de this tutorialImporter le modèle Wavefront .obj vers le projet ARCore OpenGL

Les fichiers .obj et .mtl ont été placés dans le dossier assets mais lorsque je tape sur l'écran, je n'ai rien. Il ne montre pas d'erreur, donc je pense qu'il place l'objet sur l'écran mais ne le dessine pas pour une raison quelconque. Toutes les recherches de Google sur les résultats donnent généralement lieu à des tutoriels où vous devez créer un analyseur pour convertir l'objet, mais pour autant que je puisse le voir, la classe ObjectRenderer dans le paquet arcore fait cela pour vous.

Est-ce que quelqu'un a essayé cela avec succès? Dois-je continuer à travailler avec le fichier .mtl?

+0

Si vous placez le fichier .obj dans le bon répertoire et modifiez le nom de la ressource dans le code, tout devrait se passer sans problème. Rappelez-vous juste que l'échantillon que vous avez mentionné travaille avec la texture. Si votre modèle ne le contient pas, cela peut causer des problèmes – Fixus

Répondre

0

Si elle does't toute information d'erreur, je pense que les raisons sont les suivantes:

1. modèle Obj a été placé autre position, par exemple far far lieu. Vous devriez donc vérifier si la position du modèle est l'origine de Blender dans le processus de modélisation.
2.Le modèle Obj est différent de l'exemple java_arcore_hello_ar, donc lors de l'analyse de la bibliothèque d'analyse Obj de java_arcore_hello_ar. Donc, vous pouvez analyser le modèle obj par vous-même.

0

J'ai réussi cela en étendant le code pour lire les fichiers OBJ et MTL. Vous pouvez consulter mon code @https://github.com/JohnLXiang/arcore-sandbox.

Je suis également nouveau sur OpenGL, mon code n'est pas parfait mais fonctionne au moins.

+0

Il semble que le fragment shader fourni avec l'échantillon de Google nécessite que les valeurs ambiantes, diffuses et spéculaires soient un seul flottant, alors que ces valeurs définies dans MTL sont en r/g/b format .... Je n'ai pas encore compris comment résoudre ce problème. – JohnLXiang